If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Getting Open Source 3D graphics on R6XX/R7XX cards (NO FGLRX)

PLEASE NOTE: Do not run this source code on machines with old user space. If you are using Ubuntu 9.04, please check unsupported updates and proposed updates in System > Administration > Software Sources and run "sudo apt-get update && sudo apt-get dist-upgrade" without quotes.

1a.) Obtain the required development tools and programs to compile, install, and fetch the source code:

Run any of the two commands to start editing the config. make xconfig looks nice but requires qt3 development headers and tools. make menuconfig uses the ncurses / screen interface.

sudo make xconfig
or
sudo make menuconfig

OPTIONAL: You may make changes to the config file regarding hard drives, firmware, wireless, bluetooth etc. to your preference.

REQUIRED SETTINGS: Under Graphics Support, compile "Lowlevel video output switch controls" INTO (Y) the kernel. "/dev/agpgart (AGP SUPPORT)" should be compiled INTO (Y) the kernel and your chipset (not graphics card) must be compiled INTO (Y) the kernel. Run lspci in a terminal to find out what chipset you have. If you can't tell, compile all the chipsets into the kernel (AGP_INTEL AGP_VIA etc.) Right below /dev/agpgart (AGP SUPPORT) is "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)" and you want that compiled INTO (Y) the kernel as well along with your graphics card (not chipset) INTO (Y) the kernel which is ATi Radeon. Right below that is "Support for frame buffer devices" and you want that compiled INTO (Y) the kernel. Within that, compile "Enable Firmware EDID" INTO (Y) the kernel. DO NOT COMPILE ANY ATI FRAME BUFFER SUPPORT COMPILED AS A MODULE OR INTO THE KERNEL!!!! Now you must turn on "Staging drivers" which is below HID Devices and USB support and the second option above "Firmware Drivers." Compile "Staging drivers" INTO (Y) the kernel and turn off 'Exclude Staging drivers from being built." Look for "Enable modesetting on radeon by default." It should be the 5th from the bottom. Last, you must compile firmware. You must turn on "CONFIG_FIRMWARE_IN_KERNEL" as this is extremely mandatory.

You will need to generate an xorg.conf file that does not look very simple, so it is easier to modify:

If on KDE and on Kubuntu, Debian, or Gentoo (write all this down before proceeding on paper preferabbly
sudo /etc/init.d/kdm stop
Log in (If you see a black screen with white text, you're doing great)
sudo Xorg -configure
sudo mv xorg.conf.new /etc/X11/xorg.conf

If you are on Xfce, just do the above with your according linux distribution but replace "kdm" with "xdm" WITHOUT QUOTES!
If you are on gnome (Ubuntu by default) with GDM replace "kdm" with "gdm" without quotes.

The config file should be relativley big now. Please take your time doing this to avoid problems. Find where the file says:

Section "Device"

Below those comments under that (lines that start with #) you should see the following:

Driver "radeonhd"

Where it says "radeonhd" it might already say "radeon" but if it does not say "radeon" change it now (REQUIRED FOR KMS. RADEONHD WILL NOT WORK WITH KMS!):

Driver "radeon"

Now hit Control O (its not a zero) to overwrite the /etc/X11/xorg.conf file. To exit, press Control X.

If you like to use vi or vim (I _LOVE_ vim) then you need to press, "i" with no quotes, and edit the file accordingly. To write and exit, press Escape (all the way on the top left of your keyboard) and press ":wq" without quotes.

I recommend that you restart your computer now using any of the following commands:

sudo telinit 6
sudo shutdown -r now
sudo reboot

You are now finished.

Last edited by Neo_The_User; 01-26-2010, 09:57 PM.
Reason: changed some stuff again

Comment

Requested 'libdrm >= 2.4.3' but version of libdrm is 2.3.1
ERROR: media-libs/mesa-9999 failed.

(edit) Ok, sorry, inspecting the ebuild it seems it has a --with-state-trackers=glx,dri,egl line. I assume "dri" is not a state tracker anymore. I'll try without that.

You shouldn't be having any --with-state-trackers variables at all afaik. Libdrm from agd5f's repo should be enough. Be *very* careful that you don't have anything extra in the Mesa configure flags. Be minimal and it should work.

Comment

Comment

I would say, yes. It is worth it. I don't know its status because I've never used it no have I looked into the source code that much. All I know is that if you want bleeding-edge code, this is your route.