Subject: XFree86
To: None <port-sparc64@netbsd.org>
From: Michael <macallan18@earthlink.net>
List: port-sparc64
Date: 01/02/2005 00:02:15
Hello,
some good (but preliminary) news - I tried to get XFree86 to work with
the onboard ATI Rage found on lots of PCI Ultras. ( an U10 in my case
).
What it requires:
- force XFree86 to build from xsrc - by default it's skipped on sparc64
- hack the kernel to use wscons - that's what ofb is for.
- add a hack to ofb to allow mmap()ing PCI memory - bus_space_mmap() is
your friend.
... and to my utter surprise it just works. All you need is a hacked
kernel and unchanged XFree. It doesn't even mess up the console on exit
like it (sometimes) does on macppc.
Of course there are drawbacks:
- the Sun keyboard driver doesn't play well with wscons. It loses
events and in X the keymap is totally wrong, it required a hack to work
at all. But my USB keyboard is configured correctly, the Sun mouse
works fine too.
- the ofb driver is still a mess that needs to be cleaned up
- making ofb portable may be more difficult than I thought, at least it
will almost certainly remain PCI-only, sharing it with macppc ( where
it comes from ) will require lots of #ifdef's, Apple's OF and Sun's OBP
differ in some subtle but annoying details, the same goes for the OF
APIs on macppc and sparc(64).
- ofb isn't faster than the PROM console with RASTERCONSOLE but it's
wscons. No virtual consoles (yet) and no runtime loadable fonts though
( but you can change the console font by compiling into the kernel
whichever font you want ). It may be faster if we could mark the
framebuffer cacheable, that's what it does on macppc.
- no hardware OpenGL - we don't have DRI. GLX with software rendering
works though.
I have no idea how the other drivers behave, Radeons may work, the rest
is highly questionable as far as I can tell.
( yes, it's fully accelerated. I didn't use any fancy XF86Config
options )
have fun
Michael