Subject: Rehash: XFree86 Compiled on NetBSD/Sparc
To: xpert@XFree86.Org, <port-sparc@netbsd.org>
From: Brian A. Seklecki <lavalamp@spiritual-machines.org>
List: port-sparc
Date: 08/13/2002 01:28:41
---------- Forwarded message ----------
Date: Tue, 23 Jul 2002 21:31:06 -0400
From: Kurt J. Lidl <lidl@pix.net>
To: Brian A. Seklecki <lavalamp@spiritual-machines.org>
Cc: port-sparc@netbsd.org
Subject: Re: XFree86 Compiled on Sparc

On Tue, Jul 23, 2002 at 08:46:57PM -0400, Brian A. Seklecki wrote:
> Does anyone know why the XFree86 4.2.0 xc/RELNOTE marks all the sun-related
> drivers as Sparc-Linux only.  Is there some linux-dependant code in them, or
> are we simply not important enough >:} ?

---
...per the discussion below, I guess the question still stands:

What's to keep the NetBSD/sparc people from working with the XFree86 folks to
get the X4 sun* modules from working?  It would be nice to standardize X servers.
---

[snip]

About two years ago, the Redhat guys wrote some new bus support
routines, which extended the Xfree86 4.x code in a direction that
was planned, but not yet implemented -- support of a bus other than
PCI.  Basically, they added a set of Sbus support routines for
scaning the sbus space and attaching displays for the Xserver.

In addition they donoted X server drivers for the following list
of cards that you found:

> ---
> |sunbw2 (+)    | Sun bw2
> |suncg14 (+)   | Sun cg14
> |suncg3 (+)    | Sun cg3
> |suncg6 (+)    | Sun GX and Turbo GX
> |sunffb (+)    | Sun Creator/3D, Elite 3D
> |sunleo (+)    | Sun Leo (ZX)
> |suntcx (+)    | Sun TCX
> Drivers marked with (+) are for Linux/Sparc only.

These implement the XFree86 4.x software architecture (generic
optimizations, completely loadable board/display drivers, etc),
but do it for the Sbus.  (I'm not sure if they can support
simulataneous Sbus and PCI adaptors.  You can get that kind
of mix and match displays on the Starfire boards [aka Sun 3x00,4x00
class machines] with the right set of midplane cards.)

So, it's not just a matter of #ifdef'ing a little code -- you
need to write support for probing the sbus space for the XFree86
server, and then whack on the drivers a bit, probably.  There's
also a matter of impedence matching the device/ioctl support for
the frame buffers under Linux with your OS.  I don't believe that
the task is impossible -- quite the contrary, I believe it is only
a couple of weeks of solid work to make the Sbus stuff go, and then
you have XFree86 4.x support for your platform.[*]

I hope this long winded explanation helps.

-Kurt

[*] -- Note that the Sun GX/TurboGX (aka cg6) drivers do NOT support
the limited acceleration that the board supports in hardware, so
for this display card at least, a XFree 4.x server is almost certainly
noticably slower than the Xsun server.