Ubuntu Gutsy Installation Guide
- 1 Post-Installation Checks and Tweaks
- 2 Specific Issues
- 2.1 3D desktop effects
- 2.2 Suspend/Hibernation work with 7.12
- 2.3 If you get /usr/X11R6/lib/modules/dri/fglrx_dri.so not found
- 2.4 If you get /usr/X11R6/lib64/modules/dri/fglrx_dri.so not found
- 2.5 Segmentation Fault with glxinfo/fglrxinfo
- 2.6 libGL error
- 2.7 Monitor detection (1680x1050 Resolution Issue)--- SOLVED
- 2.8 A possible problem with fglrx.ko conflicts
- 2.9 Hang at logout
- 3 Revert to Xorg driver
- 4 See Also
Post-Installation Checks and Tweaks
Run the following command to check its output to ensure the fglrx driver is installed properly:
$fglrxinfo display: :0.0 screen: 0 OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: ATI MOBILITY RADEON X300 OpenGL version string: 2.1.7415 Release
64bit Users only ( 32bit users can continue to the fglrxinfo test ), after rebooting you may have noticed that you cant open aticonfig, and the fglrxinfo test below may not show ati in the info from the test, to fix this in terminal do the following command
sudo ln -s /usr/lib/libGL.so.1.2 /usr/lib/libGL.so.1
OpenGL vendor string should read ATI and not Mesa.
If it still says Mesa and not ATI, even after re-enabling the driver from the Restricted-manager: You can try the following:
$ less /var/log/Xorg.0.log |grep EEif this command returns
(EE) fglrx(0): incompatible kernel module detected - HW accelerated OpenGL will not workthen remove the kernel module and reinstall it.
$ sudo dkms remove -m fglrx -v 8.471 --all
- Remove all the packages provided by the
xserver-xorg-video-allmeta-package (search for it using Synaptic or Adept), then restart the machine. The X Server should now use the new fglrx driver by force (provided the driver is being used in xorg.conf).
- If you can't log in after this, you'll have to log in to a terminal in the login screen, and reinstall the
xserver-xorg-video-allpackage. Your problem is probably somewhere else. (taken from ).
- Remove all the packages provided by the
- Remove the package xserver-xgl.
- Explanation: If you installed this previously in order to make compiz work, it will not allow direct rendering on your display. You can check out if this is what it causing the problem by running
DISPLAY=:0 glxinfo | grep render
- If it returns an ATI renderer, it means that xgl is being displayed indirectly on the display 1. (Taken from )
- Warning: This might make your compiz stop working as it is configured to use XGl. A solution might be to run the Envy script in order to configure compiz.
Note: Here is the glxinfo of a good install (for those interested).
Enable laptop mode on battery power
Enabling laptop mode on battery power gives you much better battery life, however be aware that sometimes it causes odd hangs.
Switch ENABLE_LAPTOP_MODE to true
# Switch to laptop-mode on battery power - off by default as it causes odd # hangs on some machines ENABLE_LAPTOP_MODE=true
Switch FGLRX_ACPI_SWITCH_POWERSTATES to true
# Uncomment the next line to enable powerstate switching on ACPI # events for lid open/close and AC adapter on/off FGLRX_ACPI_SWITCH_POWERSTATES=true
Additional configure with aticonfig tool
You can configure the driver even further with the aticonfig tool, more information can be found at Configuring.
- use powerplay option to switch power state for battery friendly or performance mode
- use dual head or one big desktop mode
- turn second monitor on/off on the fly
3D desktop effects
The new ATI drivers use AIGLX so there is not need to install XGL that older drivers (< 8.40) required.
Remove this section from to the /etc/X11/xorg.conf file. The new xorg server enables "Composite" by default.
# Section "Extensions" # Option "Composite" "0" # EndSection
Compiz does not know about the fglrx driver. You can either skip the checks
mkdir -p ~/.config/compiz && echo SKIP_CHECKS=yes >> ~/.config/compiz/compiz-manager
or add it to the compiz white list, and clear the blacklist pci Ids variable *Recommended*
sudo gedit /usr/bin/compiz
# Driver whitelist WHITELIST="fglrx nvidia intel ati radeon i810"
# blacklist based on the pci ids # BLACKLIST_PCIIDS="$T" BLACKLIST_PCIIDS=""
You might have to modify the path for line 30 and 31
COMPIZ_BIN_PATH="/usr/bin/" # For window decorators and compiz PLUGIN_PATH="/usr/lib/compiz/"
The COMPIZ_NAME on line 35 should also be modified accordingly
COMPIZ_NAME="compiz.real" # Final name for compiz (compiz.real)
After the necessary configurations, just restart X and enjoy the cool effects.
If it still does not work, locate /etc/xdg/compiz/compiz-manager.ubuntu [this line may instead be in /etc/xdg/compiz/compiz-manager] and see if it contains an infinite loop in it. If it does, comment out the line that causes the infinite loop.
# . /etc/xdg/compiz/compiz-manager.ubuntu
For Kubuntu you need some extra steps:
sudo apt-get install compiz compiz-kde compizconfig-settings-manager compiz-core compiz-fusion-plugins-main compiz-plugins
To test 3D Effects, press ALT+F2 and type "compiz --replace".
To configure use the tool KMenu->Settings->Avanced Desktop Effect Settings.
Suspend/Hibernation work with 7.12
With Gutsy release, there was a big problem using the ATI proprietary drivers. The Suspend/Hibernate function stopped working. The problem was due to the new SLUB allocator incorporated in 2.6.22 / 2.6.23 Kernel.
The problem has been solved in the AMD Catalyst 7.12 driver release. UPDATE: The problem has NOT been solved in the AMD Catalyst 7.12 driver release.
Suspend/hibernate is not working for FireGL 5250. For FireGL 5200, suspend works with the 7.12 fglrx kernel module loaded (which did not work before this release) , but does not work if X is running.
For Thinkpad T60 with ATI X1400, to get the laptop to wake up from suspend, I had to change the following in /etc/default/acpi-support:
Even with the above settings (like POST_VIDEO=false, etc.) my ASUS Z96J with an X1600 does not suspend.
This bug has been a serious issue for several months now. There is a lot of frustration over this, because Ubuntu/Canonical has not been helpful. They've said things like suggesting not using fglrx (thanks a lot, that really helps).
Current status on this bug can be found here: https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.22/+bug/121653/
If you get /usr/X11R6/lib/modules/dri/fglrx_dri.so not found
sudo ln -s /usr/lib/ /usr/X11R6/lib/modules
It may be necessary to create the /usr/X11R6/lib directory first:
sudo mkdir /usr/X11R6/lib
If you get /usr/X11R6/lib64/modules/dri/fglrx_dri.so not found
sudo ln -s /usr/lib/ /usr/X11R6/lib64/modules
Segmentation Fault with glxinfo/fglrxinfo
glxinfo returns a Segmentation fault like this:
$ fglrxinfo display: :0.0 screen: 0 OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: ATI Radeon Xpress Series OpenGL version string: 1.4 (2.1.7170 Release) Segmentation fault
Set output of libGL to verbose with
$ export LIBGL_DEBUG=verbose
libGL: XF86DRIGetClientDriverName: 8.44.3 fglrx (screen 0) libGL: OpenDriver: trying /usr/lib/dri/fglrx_dri.so libGL error: dlopen /usr/lib/dri/fglrx_dri.so failed (/usr/lib/dri/fglrx_dri.so: cannot open shared object file: Permission denied) libGL error: unable to load driver: fglrx_dri.so display: :0.0 screen: 0 OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: ATI Radeon Xpress Series OpenGL version string: 1.4 (2.1.7170 Release) Segmentation fault
Don't know if its always fglrx_dri.so, but the fix is to add read permissions to the file.
Check if read permission is not there
ls -l /usr/lib/dri/ |grep fglrx_dri -rw-rw---- 1 root root 17462688 2008-01-13 17:42 fglrx_dri.so
Add read permission
$ sudo chmod +r /usr/lib/dri/fglrx_dri.so
Check read permission
ls -l /usr/lib/dri/ |grep fglrx_dri -rw-rw-r-- 1 root root 17462688 2008-01-13 17:42 fglrx_dri.so
- fglrxinfo gives: libGL.so.1: cannot open shared object file.
- Check the permission of the libGL.so.1.2 file with command:
ls -l /usr/lib/libGL*
- The file permission of libGL.so.1.2 should be "-rw-rw-r--". If the permission reads "-rw-rw----", do command
sudo chmod o+r /usr/lib/libGL.so.1.2
- If the permission is correct, fixed with command:
sudo ln -s /usr/lib/libGL.so.1.2 /usr/lib/libGL.so.1
Monitor detection (1680x1050 Resolution Issue)--- SOLVED
As specified in the release notes, "Connecting a display device that supports 1680x1050 to a system running Linux may result in a maximum display resolution of 1280x1024 only being available". (from thread)
[It works with the latest driver]
Fglrx driver does not detect some monitors correctly, so you have to do it manually (google about your monitor spec with keyword: xorg.conf).
For example: Samsung 205BW 1680x1050 monitor needs manually set:
Section "Monitor" Option "DPMS" Identifier "samsung-monitor" VendorName "Samsung" ModelName "SyncMaster 205BW" HorizSync 31.4 - 80.0 VertRefresh 56.000 - 75.000 Modeline "1680x1050" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 EndSection Section "Screen" Identifier "samsung-screen" Device "samsung-device" Monitor "samsung-monitor" Defaultdepth 24 SubSection "Display" Depth 24 Modes "1680x1050" EndSubSection EndSection
A possible problem with fglrx.ko conflicts
NOTE: I've run into strange problem building fglrx-kernel-source_8.443.1-1_i386.deb. If pentium-builder is installed, dkms fails to build fglrx.ko for make error (mixed implicit and static pattern rules. Stop.). It is caused by gcc.real and other indirections and wrong gcc version detection. Removing pentium-builder cures the problem.
It's necessary, because sometimes this file is written by other packages, and so there's no 3D acceleration. Check that the file /lib/modules/$(uname -r)/misc/fglrx.ko has been created.
Create the following folder
sudo mkdir /lib/modules/$(uname -r)/volatile
Note: the volatile directory might already exist at this stage then simply continue with the next step.
Create a symbolic link
sudo ln -sf /lib/modules/$(uname -r)/misc/fglrx.ko /lib/modules/$(uname -r)/volatile/fglrx.ko
NOTE : On my Gutsy install, after a reboot this link was always removed automatically leaving me without an fglrx module loaded, and thus no ATI rendering. There have been several ways of getting around this suggested here, and here is the one that worked for me:
sudo gedit /etc/init.d/ati-module-fix
And put this in it:
#!/bin/sh -e # For loading ATI display drivers ln -sf /lib/modules/$(uname -r)/misc/fglrx.ko /lib/modules/$(uname -r)/volatile/fglrx.ko exit 0
Make it executable
sudo chmod ugo+x /etc/init.d/ati-module-fix
Now, make this run before gdm
To check the gdm sequence number,
The value for [seqno] in the section below should be the gdm sequence number -1.
sudo update-rc.d ati-module-fix defaults [seqno]
Hang at logout
If you experience hangs when logging out (of X) try disabling atieventsd with this command:
sudo /usr/sbin/update-rc.d -f atieventsd remove
Revert to Xorg driver
If (for any reason) the fglrx install fails, you can revert to the Xorg driver by executing
sudo dpkg-reconfigure xserver-xorg
and selecting the "ati" driver, or simply restoring the previous /etc/X11/xorg.conf file, if you made a backup.
You also need to remove the xorg-driver-fglrx or your manually installed drivers to get the 3D acceleration back, since it is provided by file /usr/lib/libGL.so.1.2 which belongs to libgl1-mesa package and which is moved to backup and replaced at the installation of xorg-driver-fglrx (or the manually built) package. In case the removal of the fglrx drivers fails to restore the file from libgl1-mesa, you have to reinstall the package by running:
sudo apt-get install --reinstall libgl1-mesa-glx