Daily Archives: September 28, 2009

KMS for Radeon HD 3200 (RS780)

With 2.6.32 it’s now also possible for r6xx/r7xx radeon cards to use kernel based mode switching.

First you have to emerge a 2.6.32 kernel:

doep ~ # emerge -av vanilla-sources

After oldconfig let’s enable “staging drivers” and “Enable modesetting on radeon by default (NEW)” in the device drivers section. And don’t forget to remove any framebuffer. You have also to remove the framebuffer boot options in your boot loader config. Then compile the kernel and boot it without vesa command line options. If you have an AGP card it’s a good idea to add this boot option: radeon.agpmode=-1

hmm.. kms works, so I have an resolution of 1920×1200 px while booting, but when my X starts, the screen is completely white. On my notebook kms works fine with a rv350 chip.

I had to use the radeon drivers: x11-drivers/xf86-video-ati to get it working.

VN:F [1.9.22_1171]
Rating: 5.5/10 (2 votes cast)

Setup 3D support for Radeon HD 3200 (RS780)

What to do with an ATI graphic card ? Using proprietary fglrx drivers and use old kernels. Btw. they didn’t work for me, I had some strange stripes on my screen.. Or use the open source drivers radeon, radeonhd but without 3D acceleration ? Since 2.6.31 you can solve this problem using unstable drivers.

Here are all the steps I had to do to get working 2D/3D acceleration with open source video drivers. I’m using a 2.6.31 vanilla kernel. The 2.6.32 supports also kms for r6xx/r7xx but it’s not yet in my portage :/

doep ~ # emerge -av  =vanilla-sources-2.6.31.1
and then the other stuff..

My xorg-server version is 1.6.3.901. After booting the kernel and installing the modules I reinstalled x11-drivers/xf86-video-radeonhd, media-libs/mesa and x11-libs/libdrm.

doep ~ # emerge -av x11-libs/libdrm media-libs/mesa x11-drivers/xf86-video-radeonhd
[ebuild   R   ] x11-libs/libdrm-9999  USE="-debug" 0 kB [1]
[ebuild   R   ] x11-drivers/xf86-video-radeonhd-9999  USE="-debug" 0 kB [2]
[ebuild   R   ] media-libs/mesa-9999  USE="nptl xcb -debug -gallium -motif -pic"
VIDEO_CARDS="radeonhd -intel -mach64 -mga -none -nouveau -r128 -radeon -s3virge -savage
-sis (-sunffb) -tdfx -trident -via" 0 kB [1]

Total: 3 packages (3 reinstalls), Size of downloads: 0 kB
Portage tree and overlays:
 [0] /usr/portage
 [1] /usr/local/portage/layman/x11
 [2] /usr/local/portage/layman/zen-overlay

Of course you need some portage overlays to get the newest git sources. Then I followed the guide from the xorg wiki:

doep ~ # git clone git://anongit.freedesktop.org/~agd5f/drmdoep ~ # cd drm
doep ~ # git checkout -t -b r6xx-r7xx-3d origin/r6xx-r7xx-3d
doep ~ # ./autogen.sh --prefix=$(pkg-config --variable=prefix libdrm) --libdir=$(pkg-config
--variable=libdir libdrm) --includedir=$(pkg-config --variable=includedir libdrm)
doep ~ # make
doep ~ # make installdoep ~ # cd linux-core
doep ~ # make
doep ~ # make install

After stopping the X server, unloading the old modules: radeon and drm, I start the X with the new modules and the following config:

Section "Device"
 Option     "NoAccel"    "False"
 Option     "AccelMethod"    "exa"
 Option     "DRI"        "True"

 Identifier  "Card0"
 Driver      "radeonhd"
 VendorName  "ATI Technologies Inc"
 BoardName   "Radeon HD 3200 Graphics"
 BusID       "PCI:1:5:0"
EndSection

Some test: direct rendering is enabled

doep ~ # glxinfo | grep direct
IRQ's not enabled, falling back to busy waits: 2 0
direct rendering: Yes

and glxgears gets over 800 fps

doep ~ # glxgears
IRQ's not enabled, falling back to busy waits: 2 0
4179 frames in 5.0 seconds = 835.678 FPS

Now xv is working and I can play games like quake3, supertux, supertuxkart without problems 😀

VN:F [1.9.22_1171]
Rating: 5.0/10 (2 votes cast)
Wir benutzen Cookies um die Nutzerfreundlichkeit der Webseite zu verbessen. Durch Deinen Besuch stimmst Du dem zu.