Please continue to post problems to this thread.
Purpose: This guide is for people for whom direct rendering does not work with just XOrg. X11-DRM works for 3dfx, gamma, i8x0, matrox, rage128, radeon, sis (sis 650 does NOT work), mach64, savage, and via unichrome. Don't read any further if you can't use any of those. See the DRI homepage for more info and documentation.
X11-DRM will NOT work with anything higher than a Radeon 9200, as ATI hasn't released specs and no one has sponsored development for the r300 chipset, which the Radeon 9500 and up use.
What is X11-DRM and how does it relate to regular X11? Due to a little confusion about what XFree-DRM really is and how it's different from XFree: XFree-DRM is an enhancement to XFree that adds 3D acceleration for cards that XFree doesn't give acceleration.
I have now turned this into a troubleshooting/updates post, since the real guide is in the official Gentoo Docs.
Troubleshooting
- Install with VIDEO_CARDS="yourcard" emerge x11-drm.
- It used to work, but stopped? If you switched kernels or recompiled your kernel, you need to remerge x11-drm.
- If you have a PCI card, you may also need Option "ForcePCIMode" "True" in Section "Device."
- For those of you using 2.5 or 2.6 kernels, x11-drm isn't working yet, but the XOrg 6.8 and older DRM is included in the kernel.
- This doesn't work for the sis315 series, just the 300 series. see http://www.winischhofer.net/sisdri.shtml. You need sisfb built into the kernel, too.
- For voodoo3's, you need to emerge XOrg with TDFX_RISKY="yes" emerge xorg-x11 to get video better than 1024x768x16.
- The Radeon IGP's should work in XOrg 6.8 and newer.
- The Rage Mobility P/M does not work, from all reports I have heard.
- Again, make sure you DO NOT have Direct Rendering enabled in any way in the kernel.
- Issues with unresolved symbol cpmxchg? Make sure your CPU is set as greater than 386 in the kernel.
- Other unresolved symbols? Try a newer kernel.
- Set DefaultDepth 16 in XF86Config.
- One user reported needing the case of Load "dri" and Section "dri" to match in xorg.conf. If one was dri and the other was DRI, it didn't work.
- Build agpgart as a module. That way dmesg will be more informative, and if it won't load you can get error messages.
- Check your logs to see what information you can get, and other places for common errors.
If /dev/dri isn't rwxrwxrwx, change it with chmod.
Code: Select all
# grep -e '(EE)' -e '(WW)' /var/log/Xorg.0.log # glxinfo | grep render # dmesg | grep -i agp # lsmod | grep agp # modprobe agpgart # ls -l /dev/dri/card0 # ls -ld /dev/dri
If /dev/dri/card0 isn't rw-rw-rw-, you forgot Section "DRI" in xorg.conf.
If you can't load agpgart, make sure your AGP chipset is in your kernel. If it isn't available, try loading with 'modprobe agpgart agp_try_unsupported=1'. - Look at these:
http://people.freebsd.org/~anholt/dri/faq.html
http://people.freebsd.org/~anholt/dri/t ... oting.html








