While reading through the UltraLinux FAQ, it came to my attention that the users
of Elite3D cards may encounter an unexpected brick wall to running xfree86 if
they're unlearned. The URL I've included makes it clear that Elite3D cards will
experience an extreme performance hit to rendering unless a firmware file is
loaded into framebuffer memory using a utility by the name of "afbinit".
I have been unable to test the validity of this problem myself due to
difficulties getting X up and running on my U30 system, but since I ran seperate
searches in the bug database for "afbinit", "afb.uout" and "Elite3D", I felt
that this issue should be covered since a number of potential Gentoo users may
If there is a lack of available Elite3D users to confirm the status of this
issue, I'll be more than willing to help once I can figure out why X isn't
finding any screens during startup. (this isn't my first Gentoo system with X
and it is indeed a perplexing problem, as this is the same setup I used on my
I have searched the web to see if this issue has been obseleted by new driver
revisions in X, but have found nothing to indicate that a Gentoo user would not
be succeptable to this problem. It's worth looking into.
Reproducible: Didn't try
Steps to Reproduce:
1. Install XFree86 on a Sun system with an Elite3D videocard.
2. XF86Config notes: video driver "ffb", mouse driver "busmouse".
3. Attempt to run X with a working configuration.
If the "bug" is present, the performance hit will be glaringly obvious as even a
simple window redraw will be a painful experience.
Should run fine without a hitch if "bug" is not present. Unconfirmed with 4.3.0,
but my Google research shows that if you successfully load XFree86, you should
be able to find a line reporting firmware status in /var/log/XFree86.log. Run a
grep for "firmware", it should be there. It should inform you of whether or not
the ffb driver detected the loaded firmware.
If the bug is confirmed, an ebuild for the afbinit utility should be added to
the portage tree for sparc users. Unfortunately, I was unable to find a homepage
for this program, and was not able to determine what the latest version of it
was. Debian, Slackware and Splack appear to have packages for it.
I believe you are the first person to report this, and as far as I know you are the only person I know of running with an Elite 3D card. Currently there is no ebuild for afbinit. I looked at the source debian has for it and it doesn't seem to be any more recent than 2001. I'm going to dig around some more and find out if there's a newer version or not and get it into the portage tree. I'll post updates when available
Since my report I've made a little progress; my configuration seems to be alright now, but X bombs on me with a Signal 11 so I'm not quite sure where to go from here. However, this did allow me to confirm that the state of the firmware is reported in /var/log/XFree86.0.log:
grep firmware /var/log/XF*
/var/log/XFree86.0.log:(II) /dev/fb0: Detected Elite3D M3/M6, checking firmware...
/var/log/XFree86.0.log:(II) /dev/fb0: ... AFB firmware not loaded
At any rate, I should be able to at least test the afbinit utility once it's added to the portage tree, but this random Signal 11 I'm getting really is bothersome. I do happen to be using two Elite3D cards in my system, but regardless of whether or not I force the first one with "BusID "SBUS:fb0"" in my device section, I run into the crash.
A few more notes and a bit of errata from my first post: XFree86's sunffb driver will pop up with unresolved symbols relating to DRI unless the DRI module is loaded, nothing too unusual. Finding the actual kernel module is a bit trickier; it's maintained by Redhat and it's best to use the DRI modules included with Gentoo's Sparc sources. Unlike the x86 sources, the included modules seem to be up to date and a user would be hard pressed to find more recent ones. Believe me, I tried. Also, the driver should be "sunffb", not just "ffb"; slip of the tongue on my part.
I've reached wit's end regarding my X server aborting with signal 10 or 11. My XF86Config and XFree86.0.log can be found a few lines down; rather than open up a seperate bug for this I'm starting to wonder if this also has to do with my video card. jmorgan uses an U30 himself, right? Unless he hasn't used X, that *should* mean my base hardware is supported.
Sorry for the delayed response. I've committed the package for afbinit (x11-misc/afbinit) and marked it unstable (~sparc). jmorgan is going to try and test his Elite3D card tomorrow and will be posting the results here when he does.
Created attachment 13584 [details]
init script to start afbinit before xdm launches
This init script depends on rc.afb being installed in /usr/sbin which requires
afbinit to be installed to /usr/sbin (currently the ebuild installs to
One option is a) change src_install() to:
option b) would be to include the code from rc.afb in the init script attached.
I just added afbinit-1.0.1-r1 to portage which incorporates your init script and adds rc.afb to the package. Also afbinit has been relocated to /usr/sbin to make rc.afb happy. Let me know how it works.
Assuming this works as reports of brokenness haven't shown up. If something is broken, feel free to re-open.
Sorry, had been busy the past two months. Funny you should close it today Weeve; I tested this util on my machine last night and it completely solved my X11 problems on the U30. I'd say it's definately working. Thanks a bunch!