Categories

 

March 2010
M T W T F S S
« Sep    
1234567
891011121314
15161718192021
22232425262728
293031  

Ubuntu Jaunty: ATI Restricted Proprietary FGLRX Driver, Direct Rendering, Mobility Radeon HD Series

To start off I am no expert. I am a windows convert about a week ago now. However, I’m grabbing Linux by the horns and loving it!

The reason I am posting this is because it took me several hours to figure this out. I could not find in one place an organized concise approach. I’d imagine the experts already know this info but for the new Linux users, I can see this being helpful and also as a reference for me in the future ;)

This does not fix the current memory leak in Xorg or the slow sluggishness of compiz when minimizing, maximizing or resizing. Sadly, I’m experiencing both of these issues on Jaunty with the ATI Driver, I have not tried the open source ATI Driver yet.

I went through many installations and removals of the ati driver during this process. I will only explain how and what I did to actually get the driver working with direct rendering enabled.

Let’s begin:

You can see if you have direct rendering working by typing:

glxinfo | grep direct

If you get “direct rendering: Yes” you do not need to do this and your drivers and card are configured correctly. Otherwise, if it says no and possibly one of two messages after the “no”. Your xorg and driver settings are not configured correctly.

After a complete failure of the drivers off ATI’s website not working, even after compiling the .deb packages and installing everything that was necessary, my Linux installation no longer booted in the GUI.

The first thing I did was boot into recovery and remove ALL FGLRX packages from my installation. If you get permission denied for any commands, use sudo. You can see what packages are installed by typing this:

dpkg -l | grep fglrx

If any of the following packages are installed they will need removed:
xorg-driver-fglrx, fglrx-kernel-source, fglrx-modaliases, fglrx-amdcccle

You can remove these with the following command, leave out any packages that are not installed;

apt-get purge xorg-driver-fglrx fglrx-kernel-source fglrx-modaliases fglrx-amdcccle

Purge ensures that all files and directories created by the packages are removed. After successful purge I typed reboot. I was back in the GUI now in an 800×600 screen, which was great since I could not boot into the GUI before! This also told me that all previous flgrx drivers were definitely gone =)

After I rebooted I started envyng.

envyng -t

This takes us to the text based version of the installer. If you do not have envyng, I highly recommend it, download it via;

sudo apt-get install envyng-core

After you go through the text based wizard, it will ask you to reboot. Do that. You should come back to your login with your native screen resolution. Envyng never failed me through about 6-7 manual package removals and re-installing again everytime.

You can check if your drivers are working and installed correctly by typing the following “fglrxinfo”, you should see something like this:

display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Mobility Radeon HD 3400 Series
OpenGL version string: 2.1.8575

Next we will update xorg.conf. This creates a new xorg.conf and backups your old.

aticonfig --initial -f

To update your xorg.cong, type;

sudo vim /etc/X11/xorg.conf

If you don’t have vim, you can use vi instead. This is my xorg.conf file after researching and looking at other Linux users xorg.conf files for my series card.

Section "ServerLayout"

#  InputDevice   "Synaptics Touchpad"
	Identifier     "Default Layout"
	Screen      0  "aticonfig-Screen[0]-0" 0 0
	InputDevice    "Generic Keyboard"
	InputDevice    "Configured Mouse"
	Option	    "AIGLX" "on"
EndSection

Section "Files"
EndSection

Section "Module"

#	Disable	"dri2"
	Load  "glx"
	Load  "dri"
#Load  "synaptics"
EndSection

Section "InputDevice"
	Identifier  "Generic Keyboard"
	Driver      "kbd"
	Option	    "CoreKeyboard"
	Option	    "XkbRules" "xorg"
	Option	    "XkbModel" "pc105"
	Option	    "XkbLayout" "us"
EndSection

Section "InputDevice"

  # Option "CorePointer"
  # Option "Device" "/dev/input/mice"
  # Option "Protocol" "ImPS/2"
  # Option "ZAxisMapping" "4 5"
  # Option "Emulate3Buttons" "true"
	Identifier  "Configured Mouse"
	Driver      "mouse"
EndSection

Section "Monitor"
	Identifier   "aticonfig-Monitor[0]-0"
	Gamma        0.85
EndSection

Section "Device"
	Identifier  "Mobility Radeon HD 3400 Series"
	Driver      "fglrx"
	Option	    "DynamicClocks" "on"
	Option	    "mtrr" "on"
	Option	    "DesktopSetup" "Single"
	Option	    "ScreenOverlap" "0"
	Option	    "VideoOverlay" "on"
	Option	    "OpenGLOverlay" "off"
	Option	    "Stereo" "off"
	Option	    "StereoSyncEnable" "1"
	Option	    "FSAAEnable" "no"
	Option	    "FSAAScale" "1"
	Option	    "FSAADisableGamma" "no"
	Option	    "FSAACustomizeMSPos" "no"
	Option	    "UseFastTLS" "0"
	Option	    "BlockSignalsOnLock" "on"
	Option	    "XAANoOffscreenPixmaps"
	Option	    "AccelMethod" "XAA"
	BusID       "PCI:1:0:0"
EndSection

Section "Screen"
	Identifier "aticonfig-Screen[0]-0"
	Device     "Mobility Radeon HD 3400 Series"
	Monitor    "aticonfig-Monitor[0]-0"
	DefaultDepth     24
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection

Section "DRI"

  #Group "Video"
	Mode         0666
EndSection

Section "Extensions"
	Option	    "RENDER" "Enable"
	Option	    "DAMAGE" "Enable"
	Option	    "Composite" "Enable"
EndSection

The trick in this file that got my direct rendering enabled was setting the name of my actual video card under Section “Device” and Section “Screen”. To get the name of your video card as linux sees it, type the following;

lspci | grep VGA

Once you have updated your xorg.conf file, these settings are NOT actually set at this point. Even after a reboot! You must now type following to enable these settings.

sudo aticonfig --input=/etc/X11/xorg.conf

You should see a message that it was updated. Now reboot again and type the following to see if your direct rendering is enabled.

glxinfo | grep direct

You should get “direct rendering: Yes”

You must be logged in to post a comment.