View previous topic :: View next topic |
Author |
Message |
labrador Guru
Joined: 04 Oct 2003 Posts: 316
|
Posted: Fri Oct 08, 2004 1:03 pm Post subject: Elite 3D, Xorg, 2.6.6 kernel - problem with rc.afb [solved] |
|
|
I had this working with a 2.4.27 kernel and Xorg before.
DRI was working with the 2.4 kernel. Now I'm try to get
Xorg working with 2.6.6.
I know about the afbinit and the /usr/lib/afb.ucode
requirement. I've got it. On boot I see these messages
to confirm that works.
Code: | ffb: AFB at 000001fc00000000 type 39 DAC 10
[drm] Initialized ffb 0.0.1 20000517 on minor 0 |
The best I'm able to get is an X for the mouse, and a nearly
black screen. The mouse won't move, and I can't
exit with control-alt-backspace. The system keeps running
OK but the display is locked with a stuck X starting.
This shows in the Xorg log file:
Code: | (II) /dev/fb0: AFB: Detected Elite3D/M6.
(II) /dev/fb0: BT498 (PAC2) ramdac detected
(II) /dev/fb0: Detected Elite3D M3/M6, checking firmware...
(II) /dev/fb0: ... AFB firmware not loaded
(WW) /dev/fb0: Forcing no acceleration on Elite3D M3/M6
(==) SUNFFB(0): Backing store disabled
(==) SUNFFB(0): Silken mouse enabled
|
So it looks like the afbinit isn't working.
I've traced how this starts, and it look like the flaw is in the rc.afb
file. It detects the Elite card OK from a 2.4 kernel start up, but not
from a 2.6 kernel start up. The following line in the script
fails to resolve to /dev/fb0:
Code: | afb_devs=`/bin/dmesg | /bin/egrep -i "Elite 3D" | /bin/sed 's/\:.*//'`
|
In fact 'dmesg | grep fb0' returns nothing.
Perhaps it would be better for the script to peek in /proc/fb:
Code: | # cat /proc/fb
0 Elite 3D
|
In any case, I've hard wired afb_devs=/dev/fb0 in the rc.afb script
and I get the same error in Xorg.0.log.
Here is the complete trace... [now deleted - it doesn't help to read it]
Last edited by labrador on Fri Oct 08, 2004 1:43 pm; edited 1 time in total |
|
Back to top |
|
|
labrador Guru
Joined: 04 Oct 2003 Posts: 316
|
Posted: Fri Oct 08, 2004 1:41 pm Post subject: Spotted the error |
|
|
I've now spotted my problem in the /usr/sbin/rc.afb script that prevents it
from even running.
Code: | if [ `/bin/dmesg | /bin/grep -c "Elite 3D"` -eq 0 ]
then
exit 0
fi
|
When the above is commented out, then it can run and Xorg starts!
It would have been better if it were noisy about that error rather
than simply exit 0. After all, you wouldn't have package afbinit around
unless you really needed it!
For now I've hard wired /dev/fb0 into the rc.afb script:
Code: | # Make FB device list.
#afb_devs=`/bin/dmesg | /bin/egrep -i "Elite 3D" | /bin/sed 's/\:.*//'`
afb_devs=/dev/fb0
|
Note: this is only for a 2.6 kernel!
Note there is a bug report on this issue and perhaps a newer masked
afbinit package already has the fix.
Here is the bug report, which contains code related to a better solution for various kernels...
https://bugs.gentoo.org/show_bug.cgi?id=52010 |
|
Back to top |
|
|
labrador Guru
Joined: 04 Oct 2003 Posts: 316
|
Posted: Fri Oct 08, 2004 2:17 pm Post subject: Fixed in masked version afbinit 1.0.1-r2 |
|
|
The solution for 2.6 is to add ~sparc to /etc/portage/package.keywords
Code: | x11-misc/afbinit ~sparc
|
Then emerge afbinit again. Now when the system boots and
runs afbinit from /etc/init.d it will find the device and load the
microcode. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|