Ubuntu Gutsy Installation Guide: Difference between revisions

From cchtml.com
m (Protected "Ubuntu Gutsy Installation Guide": Excessive vandalism (‎[edit=autoconfirmed] (indefinite) ‎[move=autoconfirmed] (indefinite)))
 
(255 intermediate revisions by more than 100 users not shown)
Line 1: Line 1:
The [[:Category:Releases|latest]] fglrx driver supports Radeon 9500  and the X-series cards up to HD2900. Workstation cards are not supported.
==Pre-Installation Checks==
=== Enable "restricted" Repository ===
Make sure the ''restricted'' repository is enabled in ''/etc/apt/sources.list'' or this guide will not work!
System > Administration > Software Sources.  Check "Proprietary Drivers for Devices (Restricted)" box.
== Installation ==
== Installation ==


Line 24: Line 16:
If the system complains about dependencies, use your preferred package manager to download python2.4 and, if necessary, its dependencies.
If the system complains about dependencies, use your preferred package manager to download python2.4 and, if necessary, its dependencies.


===Method 2: Install the Catalyst 7.11 Driver Manually===
===Method 2: Install the Catalyst Driver Manually===


:''This is just an alternative installation method for the section above. It might help if you still get 'DRI missing' errors.''
:''This is just an alternative installation method for the section above. It might help if you still get 'DRI missing' errors.''


*Note: ''If you are running the -rt kernel, you will fail to compile the kernel module with ''"FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol '__rcu_read_lock'"''.''
Download page: Catalyst {{catalystversion}} -- File: {{catalystfilename}}. This package contains both the 32-bit and 64-bit driver.


Download the ATI driver installer:
Change to the directory you downloaded the file.  Make sure that you have the ''universe'' and ''multiverse'' repositories enabled in ''/etc/apt/sources.list'' before doing these steps.   
[https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/ati-driver-installer-7-11-x86.x86_64.run ati-driver-installer-7-11-x86.x86_64.run] (this installer is for 32bit '''and''' 64bit systems)
 
Change to the download directory.  Make sure that you have the ''universe'' and ''multiverse'' repositories enabled in ''/etc/apt/sources.list'' before doing these steps.   


There is a detailed manual with screenshots at [https://wiki.ubuntu.com/AddingRepositoriesHowto Ubuntu Wiki].
There is a detailed manual with screenshots at [https://wiki.ubuntu.com/AddingRepositoriesHowto Ubuntu Wiki].
Line 40: Line 29:


''Install necessary tools:''
''Install necessary tools:''
<pre>
{{Box Terminal|
sudo apt-get update
sudo apt-get update
sudo apt-get install module-assistant build-essential fakeroot dh-make debhelper \
debconf libstdc++5 linux-headers-generic
</pre>


''Create .deb packages:''  
sudo apt-get install build-essential fakeroot dh-make debhelper debconf libstdc++5 dkms linux-headers-$(uname -r)
}}
 
''Uninstall previous fglrx:''  
Using Synaptic, completely remove any packages containing "fglrx" in their name.


If using 64bit make sure to collect package "ia32-libs" before you continue!


<pre>
''Create .deb packages:''
sudo bash ati-driver-installer-7-11-x86.x86_64.run --buildpkg Ubuntu/gutsy
{{Box Terminal|
</pre>
sudo sh {{catalystfilename}} --buildpkg Ubuntu/gutsy
note: if this step fails with a signal being caught, and you are running the script on an NFS-mounted directory, copy it to a local partition, and it will work.
}}
note: if this step fails with a signal being caught, and you are running the script on an NFS-mounted directory, copy it to a local partition, and it will work.  The same error may result from insufficient disk space.


If this step fails on amd64/x86_64 with a <tt>No such file or directory</tt> message about missing files in <tt>X11R6/lib</tt>, [http://emmetcaulfield.net/tech/Ubuntu64+ATI follow these instructions] and come back here. Also check that your downloadpath does not contain spaces.
As an alternative, you can just use
{{Box Terminal|
sudo sh ./{{catalystfilename}} --buildpkg Ubuntu --autopkg
}}
which will download all the needed packages by itself and also automatically detects the Ubuntu version used.


If this step fails on amd64/x86_64 with a <tt>No such file or directory</tt> message about missing files in <tt>X11R6/lib</tt>, [http://emmetcaulfield.net/Tech/Ubuntu64+ATI follow these instructions] and come back here. Also check that your download path does not contain spaces.


''Blacklist old fglrx module from linux-restricted-modules:''
''Blacklist old fglrx module from linux-restricted-modules:''
Line 71: Line 68:
<pre>DISABLED_MODULES="fglrx"</pre>
<pre>DISABLED_MODULES="fglrx"</pre>
}}
}}
Please note that after the modification above, the "Restricted Driver Manager" will signal "ATI accelerated grapichs driver" not enabled (unticked). This is perfectly correct. At the end of the installation procedure it will signal in Status: "in use" (green light), but NOT enabled. It simply means that the fglrx module contained in the linux-restricted-modules package is not enabled, but another fglrx module (7.11) is in use.
Please note that after the modification above, the "Restricted Driver Manager" will signal "ATI accelerated graphics driver" not enabled (unticked). This is perfectly correct. At the end of the installation procedure it will signal in Status: "in use" (green light), but NOT enabled. It simply means that the fglrx module contained in the linux-restricted-modules package is not enabled, but another fglrx module (8.4) is in use.
 
''Install .deb packages:''
 
<pre>
sudo dpkg -i xorg-driver-fglrx_8.433-1*.deb fglrx-kernel-source_8.433-1*.deb fglrx-amdcccle_8.433-1*.deb
</pre>
 
*Note: If you get a 'Bad file descriptor' message concerning the xorg.conf file try switching user to root and repeating the same command without sudo. This might be valid for the following commands too. (Ubuntu Gutsy installs with no password set for root by default. You can set a password for the root by typing 'sudo passwd root' first.)
 
*Note: If you have a 64 bit install, the above dpkg command will likely complain that "Errors were encountered while processing: fglrx-amdcccle".  This is because of a dependency of the amdccle package on 32 bit libraries.  If you recieve this error, issue the following command after the above dpkg command, which will force the installation of all of the 32 bit dependencies, and then the amdccle pacakge:
 
<pre>
sudo apt-get install -f
</pre>


You may also need to edit the file (if it exists):
<pre>gksu gedit /etc/modprobe.d/blacklist-restricted</pre>
Put a # in front of the line "blacklist fglrx", if it is present. Otherwise, the kernel module will not load automatically, and you will not get 3D acceleration.


''Remove any old fglrx debs from /usr/src/:''
''Remove any old fglrx debs from /usr/src/:''
Line 93: Line 79:
</pre>
</pre>


''Fix broken dependencies''
''Install .deb packages:''
*Note: ''You only need to do this if you have installed previous versions of these drivers using this method before.''
<pre>
sudo apt-get -f install
</pre>


''Compile the kernel module:''
<pre>
<pre>
sudo module-assistant prepare,update
sudo dpkg -i xorg-driver-fglrx_8.476-0*.deb fglrx-kernel-source_8.476-0*.deb fglrx-amdcccle_8.476-0*.deb
sudo module-assistant build,install fglrx -f
sudo depmod -a
</pre>
</pre>


It's necessary, because sometimes this file is written by other packages, and so there's no 3D acceleration.
''Additional 64-bit instructions''
Check that the file /lib/modules/$(uname -r)/misc/fglrx.ko has been created.


''Create the following folder''
If you have a 64 bit install, the above dpkg command will likely complain that "Errors were encountered while processing: fglrx-amdcccle".  This is because of a dependency of the amdccle package on 32 bit libraries.  If you receive this error, issue the following command after the above dpkg command, which will force the installation of all of the 32 bit dependencies, and then the amdccle package:


<pre>
<pre>
sudo mkdir /lib/modules/$(uname -r)/volatile
sudo apt-get install -f
</pre>
 
Note: the volatile directory might already exist at this stage then simply continue with the next step.
 
''Create a symbolic link''
 
<pre>
sudo ln -sf /lib/modules/$(uname -r)/misc/fglrx.ko /lib/modules/$(uname -r)/volatile/fglrx.ko
</pre>
 
 
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:
 
<pre>
sudo gedit /etc/init.d/ati-module-fix
</pre>
 
And put this in it:
<pre>
#!/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
 
</pre>
 
Make it executable
 
<pre>
sudo chmod ugo+x /etc/init.d/ati-module-fix
</pre>
 
Now, make this run ''before'' gdm
 
To check the gdm sequence number,
<pre>
ls /etc/rc2.d/
</pre>
</pre>


The value for [seqno] in the section below should be the gdm sequence number -1.
Catalyst 8.3 on 64-bit systems requires the ''--force-overwrite'' command in the above ''dpkg'' command:
 
<pre>
<pre>
sudo update-rc.d ati-module-fix defaults [seqno]
sudo dpkg -i --force-overwrite xorg-driver-fglrx_8.476-0*.deb fglrx-kernel-source_8.476-0*.deb fglrx-amdcccle_8.476-0*.deb
</pre>
</pre>


'''IMPORTANT''': You have to recompile the kernel module after each kernel update!
I’m not wrhoty to be in the same forum. ROTFL
(Note: This does not affect you until the next time you update your kernel.)
 
Comment the following line in the file /etc/modprobe.d/lrm-video { add at 27/11/2007 }
<pre>
# Make nvidia/nvidia_legacy and fglrx use /sbin/lrm-video to load
#install fglrx /sbin/lrm-video fglrx $CMDLINE_OPTS #  << this line
install nvidia /sbin/lrm-video nvidia $CMDLINE_OPTS
install nvidia_legacy /sbin/lrm-video nvidia_legacy $CMDLINE_OPTS
install nvidia_new /sbin/lrm-video nvidia_new $CMDLINE_OPTS
</pre>


===Configure the Driver===
===Configure the Driver===
*NOTE THIS WILL ERASE SETTINGS IN /etc/X11/xorg.conf you should be sure there is a backup.
*Note Method 2 Users: Before you carry out this step you must reboot your machine. Or else the fglrx driver will not be in use on xorg.conf and using the aticonfig options will cause a memory dump and not intialise the Driver properly.
*Note Method 2 Users: Before you carry out this step you must reboot your machine. Or else the fglrx driver will not be in use on xorg.conf and using the aticonfig options will cause a memory dump and not intialise the Driver properly.
*Note: An '''alternative''' to the '''aticonfig --initial''' command is to edit ''/etc/X11/xorg.conf'' and replace the string "ati" with "fglrx" in the "Device" section. This way you won't lose your old "Screen" and "Monitor" settings. Afterwards you can use aticonfig for setting overlay etc. Another alternative is '''aticonfig --initial --force''' if you encounter issues with the first command.
*Note: An '''alternative''' to the '''aticonfig --initial''' command is to edit ''/etc/X11/xorg.conf'' and replace the string "ati" with "fglrx" in the "Device" section. This way you won't lose your old "Screen" and "Monitor" settings. Afterwards you can use aticonfig for setting overlay etc. Another alternative is '''aticonfig --initial --force''' if you encounter issues with the first command.
Line 199: Line 128:
EndSection
EndSection
</pre>
</pre>
==== TV - Out ====
The composite TV-Out is not working simultaneously with the VGA on my System. To use it I have turned the VGA off and only the TV on. Attention! This command turns off your Monitor!!
<pre>
sudo aticonfig --enable-monitor=tv
</pre>
To change back to VGA:
<pre>
sudo aticonfig --enable-monitor=crt1
</pre>
Some have had luck with both mirrored.
<pre>
sudo aticonfig --force-monitor=crt1
sudo aticonfig --enable-monitor=crt1,tv
</pre>
reboot after that and it should mirror the CRT1 onto the TV.


===Finish the Installation===
===Finish the Installation===
Line 206: Line 152:
</pre>
</pre>
*Note: An '''alternative''' to rebooting is to restart the X Server by pressing your CTRL ALT BACKSPACE keys. You must remove any old kernel modules such as "drm" "radeon" or "fglrx" using the "rmmod" command. Example: <code>sudo rmmod fglrx</code>
*Note: An '''alternative''' to rebooting is to restart the X Server by pressing your CTRL ALT BACKSPACE keys. You must remove any old kernel modules such as "drm" "radeon" or "fglrx" using the "rmmod" command. Example: <code>sudo rmmod fglrx</code>
*Note: Another way to reboot:
<pre>
sudo reboot
</pre>


== Post-Installation Checks ==
== Post-Installation Checks and Tweaks ==
===Verifying===
===Verifying===
Run the following command to check its output to ensure the fglrx driver is installed properly:
Run the following command to check its output to ensure the fglrx driver is installed properly:
<pre>
<pre>
$ fglrxinfo
$fglrxinfo  
display: :0.0  screen: 0
display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon Xpress Series
OpenGL renderer string: ATI MOBILITY RADEON X300
OpenGL version string: 2.1.7059 Release
OpenGL version string: 2.1.7415 Release
</pre>
 
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
<pre>
sudo ln -s /usr/lib/libGL.so.1.2 /usr/lib/libGL.so.1
</pre>
</pre>
The <code>OpenGL vendor string</code> should read '''ATI''' and not '''Mesa'''.
The <code>OpenGL vendor string</code> should read '''ATI''' and not '''Mesa'''.


'''If it still says ''Mesa'' and not ''ATI'', even after re-enabling the driver from the Restricted-manager:'''
'''If it still says ''Mesa'' and not ''ATI'', even after re-enabling the driver from the Restricted-manager:'''
You can try the following:
You can try the following:
:*<pre>$ less /var/log/Xorg.0.log |grep EE</pre> if this command returns <code>(EE) fglrx(0): incompatible kernel module detected - HW accelerated OpenGL will not work</code> then remove the kernel module and reinstall it.
:: <pre>$ sudo dkms remove -m fglrx -v 8.471 --all</pre>
:*Remove all the packages provided by the <code>xserver-xorg-video-all</code> meta-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'').
:*Remove all the packages provided by the <code>xserver-xorg-video-all</code> meta-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 <code>xserver-xorg-video-all</code> package. Your problem is probably somewhere else. (taken from [http://ubuntuforums.org/showpost.php?p=3655658&postcount=139]).
::If you can't log in after this, you'll have to log in to a terminal in the login screen, and reinstall the <code>xserver-xorg-video-all</code> package. Your problem is probably somewhere else. (taken from [http://ubuntuforums.org/showpost.php?p=3655658&postcount=139]).


Note: these are the checksums for the compiled modules on Ubuntu 7.10, kernel 2.6.22-14-generic.
:*Remove the package xserver-xgl.  
<pre>
::'''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
$ md5sum `find /lib/modules/ -name fglrx.ko`
::<pre>DISPLAY=:0 glxinfo | grep render</pre>
ab36c7ba7236716af62150d81e23db2e  /lib/modules/2.6.22-14-generic/volatile/fglrx.ko
::If it returns an ATI renderer, it means that xgl is being displayed indirectly on the display 1. (Taken from [http://ubuntuforums.org/showthread.php?t=740287])
ab36c7ba7236716af62150d81e23db2e  /lib/modules/2.6.22-14-generic/misc/fglrx.ko
::'''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.
1d39c0fd4e8c8ed08509ef1bf4087b5e  /lib/modules/2.6.22-14-generic/kernel/drivers/char/drm/fglrx.ko
 
1d39c0fd4e8c8ed08509ef1bf4087b5e  /lib/modules/fglrx/fglrx.ko
Note: Here is the [[glxinfo]] of a good install (for those interested).
1d39c0fd4e8c8ed08509ef1bf4087b5e  /lib/modules/fglrx/build_mod/2.6.x/fglrx.ko
1d39c0fd4e8c8ed08509ef1bf4087b5e  /lib/modules/fglrx/build_mod/fglrx.ko
</pre>


'''If it says '' libGL.so.1: cannot open shared object file: No such file or directory''...'''
=== Enable laptop mode on battery power ===
Check if you have a ''/usr/lib/libGL.so.1.2'', if so do this:
  ls -l /usr/lib/libGL*
* The file permission 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:
<pre>sudo ln -s /usr/lib/libGL.so.1.2 /usr/lib/libGL.so.1</pre>


Note: Here is the [[glxinfo]] of a good install (for those interested).
Enabling laptop mode on battery power gives you much better battery life, however be aware that sometimes it causes odd hangs.


=== 3D desktop effects ===
Switch ENABLE_LAPTOP_MODE to true 
The new ATI drivers use AIGLX so there is not need to install XGL that older drivers (< 8.40) required.
{{Box File|/etc/default/acpi-support|
<pre>
# Switch to laptop-mode on battery power - off by default as it causes odd
# hangs on some machines
ENABLE_LAPTOP_MODE=true
</pre>
}}


Remove this section from to the /etc/X11/xorg.conf file.
Switch FGLRX_ACPI_SWITCH_POWERSTATES to true
The new xorg server enables "Composite" by default.
{{Box File|/etc/default/fglrx|
<pre>
<pre>
# Section "Extensions"
# Uncomment the next line to enable powerstate switching on ACPI
#       Option  "Composite" "0"
# events for lid open/close and AC adapter on/off
# EndSection
FGLRX_ACPI_SWITCH_POWERSTATES=true
</pre>
</pre>
}}


Compiz does not know about the fglrx driver. You can either skip the checks
=== Additional configure with aticonfig tool ===
You can configure the driver even further with the '''aticonfig''' tool, more information can be found at [[Configuring]].


<pre>mkdir -p ~/.config/compiz && echo SKIP_CHECKS=yes >> ~/.config/compiz/compiz-manager</pre>
For example: <br>
* 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
 
==Specific Issues==


or add it to the compiz white list, and clear the blacklist pci Ids variable '''*Recommended*'''
Your awnser was just what I needed. It’s made my day!


<pre>sudo gedit /usr/bin/compiz</pre>
=== Suspend/Hibernation work with 7.12===


<pre>
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.
# Driver whitelist
 
WHITELIST="fglrx nvidia intel ati radeon i810"
'''The problem has been solved in the AMD Catalyst 7.12 driver release.'''
</pre>
'''UPDATE: The problem has NOT been solved in the AMD Catalyst 7.12 driver release.'''


<pre>
Suspend/hibernate is not working for FireGL 5250.
# blacklist based on the pci ids
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.
# BLACKLIST_PCIIDS="$T"
BLACKLIST_PCIIDS=""
</pre>


After the necessary configurations, just restart X and enjoy the cool effects.
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:


For Kubuntu you need some extra steps:
SAVE_VBE_STATE=false
<pre>
sudo apt-get install compiz compiz-kde compizconfig-settings-manager compiz-core compiz-fusion-plugins-main compiz-plugins
</pre>


To test 3D Effects, press ALT+F2 and type "compiz --replace".
POST_VIDEO=false


To configure use the tool KMenu->Settings->Avanced Desktop Effect Settings.
Even with the above settings (like POST_VIDEO=false, etc.) my ASUS Z96J with an X1600 does not suspend.  


=== Additional configure with aticonfig tool ===
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).
You can configure the driver even further with the '''aticonfig''' tool, more information can be found at [[Configuring]].


For example: <br>
Current status on this bug can be found here: https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.22/+bug/121653/
* 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


==Ubuntu-specific Issues==
===If you get  /usr/X11R6/lib/modules/dri/fglrx_dri.so not found===


=== If installing 8.42.3 on Ubuntu x64... (fglrx 7.11 does not require this)===
sudo ln -s /usr/lib/ /usr/X11R6/lib/modules


(thanks to Michael at Phoronix forums and aolana at Ubuntuforums.org)
It may be necessary to create the /usr/X11R6/lib directory first:


Building packages for Ubuntu 64-Bit is known to be broken. If you're installing on Ubuntu 64-Bit, do this:
sudo mkdir /usr/X11R6/lib


Download this: [http://www.michaellarabel.com/downloads/fglrx-8.42-ubuntu+debian-2.tar.bz2 fglrx-8.42-ubuntu+debian-2.tar.bz2]
===If you get  /usr/X11R6/lib64/modules/dri/fglrx_dri.so not found===


Extract the installer:
sudo ln -s /usr/lib/ /usr/X11R6/lib64/modules


===Segmentation Fault with glxinfo/fglrxinfo===
If <code>fglrxinfo</code> or <code>glxinfo</code> returns a Segmentation fault like this:
<pre>
<pre>
bash ati-driver-installer-8.42.3-x86.x86_64.run --extract somedirectory
$ 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
</pre>
</pre>


Extract the archive you downloaded to the directory that you extracted the driver's installation files to.
Set output of libGL to verbose with
<pre>$ export LIBGL_DEBUG=verbose</pre>
 
Run <code>fglrxinfo</code> or <code>glxinfo</code> again
<pre>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</pre>


Then build the package:
Don't know if its always fglrx_dri.so, but the fix is to add read permissions to the file.


<pre>
Check if read permission is not there
./ati-installer.sh 8.42.3 --buildpkg Ubuntu/gutsy
<pre>ls -l /usr/lib/dri/ |grep fglrx_dri
-rw-rw---- 1 root root 17462688 2008-01-13 17:42 fglrx_dri.so
</pre>
</pre>


=== Revert to Xorg driver ===
Add read permission
<pre>$ sudo chmod +r /usr/lib/dri/fglrx_dri.so</pre>


If (for any reason) the fglrx install fails, you can revert to the Xorg driver by executing
Check read permission
<pre>sudo dpkg-reconfigure xserver-xorg</pre>
<pre>ls -l /usr/lib/dri/ |grep fglrx_dri
and selecting the "ati" driver, or simply restoring the previous /etc/X11/xorg.conf file, if you made a backup.
-rw-rw-r-- 1 root root 17462688 2008-01-13 17:42 fglrx_dri.so
</pre>


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:
Now I know who the brainy one is, I’ll keep lokinog for your posts.


<pre>sudo apt-get install --reinstall libgl1-mesa</pre>
=== Monitor detection (1680x1050 Resolution Issue)--- SOLVED ===


=== Attention: Suspend/Hibernation will not work===
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 [http://ubuntuforums.org/showthread.php?t=645974 thread])


With Gutsy release, there's a big problem using any version of the ATI proprietary drivers. The Suspend/Hibernate function will stop working.
['''It works with the latest driver''']
The problem is due to the new SLUB allocator incorporated in 2.6.22 / 2.6.23 Kernel.
There are no workaround, except:


- Boot using the older kernel (ver 2.6.20)
Fglrx driver does not detect some monitors correctly, so you have to do it manually (google about your monitor spec with keyword: xorg.conf).


- Return to Feisty (with 2.6.20 kernel, and apply specific solutions: see Feisty installation guide).
'''For example:''' Samsung 205BW 1680x1050 monitor needs manually set: 
{{Box File|/etc/X11/xorg.conf|
<pre>
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


- Use default Mesa Drivers (the easiest way is to disable ATI driver from Restricted Driver Manager).
Section "Screen"
Identifier "samsung-screen"
Device "samsung-device"
Monitor "samsung-monitor"
Defaultdepth 24
SubSection "Display"
Depth 24
Modes "1680x1050"
EndSubSection
EndSection
</pre>
}}


- Recompiler your Kernel to use SLAB.


Unfortunately some new ATI cards couldn't start X with Mesa drivers, so the only workaround is returning to Feisty.
This has made my day. I wish all positngs were this good.


'''The problem was supposed to be solved in the AMD Catalyst 7.11 driver release (supporting the 2.6.23 kernel), but it is not.'''
=== Hang at logout ===


A similar problem appears with nVidia cards. No explanation or workaround has been forthcoming.
If you experience hangs when logging out (of X) try disabling atieventsd with this command:


===Screensaver Preview Mode Does Not Work under Gnome===
<pre>sudo /usr/sbin/update-rc.d -f atieventsd remove</pre>


After following the Manual Method 2 installation the Gnome Screen Saver "Preview" button causes X-Windows to crash, although the screen saver works fine when it starts up after the system has been idle for the specified amount of time.
== Revert to Xorg driver ==


(No known workaround at this time.)
If (for any reason) the fglrx install fails, you can revert to the Xorg driver by executing
<pre>sudo dpkg-reconfigure xserver-xorg</pre>
and selecting the "ati" driver, or simply restoring the previous /etc/X11/xorg.conf file, if you made a backup.  


===If you get /usr/X11R6/lib/modules/dri/fglrx_dri.so not found===
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 ln -s /usr/lib/ /usr/X11R6/lib/modules


=== libGL error ===
<pre>sudo apt-get install --reinstall libgl1-mesa-glx</pre>
* 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


==See Also==
==See Also==

Latest revision as of 18:44, 5 July 2013

Installation

For most users it won't be necessary to go into installation and configuration details of the driver. Ubuntu 7.10 (Gutsy) provides a notification saying that there are restricted drivers available. You just have to go there (Restricted Drivers Manager) and enable the "ATI accelerated graphics driver". Ubuntu will then install and configure the driver for you. If this does not provide the optimal solution you were looking for, please read ahead.

Method 1: Install the Driver the Ubuntu Way

This will install the driver that is currently in the repositories. It may be older than the current version from AMD.

sudo apt-get update	
sudo apt-get install linux-restricted-modules-generic restricted-manager
sudo apt-get install xorg-driver-fglrx
sudo depmod -a

The second line of the above may not be necessary. If apt says it cannot find the "linux-restricted-modules" package, try line 3. If that fails, check your sources.list (see top of page)

If the system complains about dependencies, use your preferred package manager to download python2.4 and, if necessary, its dependencies.

Method 2: Install the Catalyst Driver Manually

This is just an alternative installation method for the section above. It might help if you still get 'DRI missing' errors.

Download page: Catalyst 15.12 -- File: radeon-crimson-15.12-15.302-151217a-297685e.zip. This package contains both the 32-bit and 64-bit driver.

Change to the directory you downloaded the file. Make sure that you have the universe and multiverse repositories enabled in /etc/apt/sources.list before doing these steps.

There is a detailed manual with screenshots at Ubuntu Wiki.

By default, Ubuntu did not enable the Universe and Multiverse repositories, but now in Gutsy, both Universe and Multiverse are activated by default.

Install necessary tools:

Terminal Command

sudo apt-get update

sudo apt-get install build-essential fakeroot dh-make debhelper debconf libstdc++5 dkms linux-headers-$(uname -r)

Uninstall previous fglrx: Using Synaptic, completely remove any packages containing "fglrx" in their name.

If using 64bit make sure to collect package "ia32-libs" before you continue!

Create .deb packages:

Terminal Command

sudo sh radeon-crimson-15.12-15.302-151217a-297685e.zip --buildpkg Ubuntu/gutsy

note: if this step fails with a signal being caught, and you are running the script on an NFS-mounted directory, copy it to a local partition, and it will work. The same error may result from insufficient disk space.

As an alternative, you can just use

Terminal Command

sudo sh ./radeon-crimson-15.12-15.302-151217a-297685e.zip --buildpkg Ubuntu --autopkg

which will download all the needed packages by itself and also automatically detects the Ubuntu version used.

If this step fails on amd64/x86_64 with a No such file or directory message about missing files in X11R6/lib, follow these instructions and come back here. Also check that your download path does not contain spaces.

Blacklist old fglrx module from linux-restricted-modules:

As Ubuntu Gutsy's linux-restricted-modules package includes the fglrx module from an old driver version (8.37.6), we have to blacklist this module to make sure the new kernel module which is needed by the new driver will be used instead.

Ubuntu/Gnome users type in:

gksu gedit /etc/default/linux-restricted-modules-common

Kubuntu/KDE users type in:

kdesu kate /etc/default/linux-restricted-modules-common

Add "fglrx" to the line "DISABLED_MODULES"

File: /etc/default/linux-restricted-modules-common
DISABLED_MODULES="fglrx"

Please note that after the modification above, the "Restricted Driver Manager" will signal "ATI accelerated graphics driver" not enabled (unticked). This is perfectly correct. At the end of the installation procedure it will signal in Status: "in use" (green light), but NOT enabled. It simply means that the fglrx module contained in the linux-restricted-modules package is not enabled, but another fglrx module (8.4) is in use.

You may also need to edit the file (if it exists):

gksu gedit /etc/modprobe.d/blacklist-restricted

Put a # in front of the line "blacklist fglrx", if it is present. Otherwise, the kernel module will not load automatically, and you will not get 3D acceleration.

Remove any old fglrx debs from /usr/src/:

sudo rm /usr/src/fglrx-kernel*.deb

Install .deb packages:

sudo dpkg -i xorg-driver-fglrx_8.476-0*.deb fglrx-kernel-source_8.476-0*.deb fglrx-amdcccle_8.476-0*.deb

Additional 64-bit instructions

If you have a 64 bit install, the above dpkg command will likely complain that "Errors were encountered while processing: fglrx-amdcccle". This is because of a dependency of the amdccle package on 32 bit libraries. If you receive this error, issue the following command after the above dpkg command, which will force the installation of all of the 32 bit dependencies, and then the amdccle package:

sudo apt-get install -f

Catalyst 8.3 on 64-bit systems requires the --force-overwrite command in the above dpkg command:

sudo dpkg -i --force-overwrite xorg-driver-fglrx_8.476-0*.deb fglrx-kernel-source_8.476-0*.deb fglrx-amdcccle_8.476-0*.deb

I’m not wrhoty to be in the same forum. ROTFL

Configure the Driver

  • NOTE THIS WILL ERASE SETTINGS IN /etc/X11/xorg.conf you should be sure there is a backup.
  • Note Method 2 Users: Before you carry out this step you must reboot your machine. Or else the fglrx driver will not be in use on xorg.conf and using the aticonfig options will cause a memory dump and not intialise the Driver properly.
  • Note: An alternative to the aticonfig --initial command is to edit /etc/X11/xorg.conf and replace the string "ati" with "fglrx" in the "Device" section. This way you won't lose your old "Screen" and "Monitor" settings. Afterwards you can use aticonfig for setting overlay etc. Another alternative is aticonfig --initial --force if you encounter issues with the first command.
sudo aticonfig --initial

Then:

sudo aticonfig --overlay-type=Xv
  • Note: Alternative in the overlay-type to "Xv" can be "opengl" or "disable" if the TV-out makes problems in videos.

Alternative: Configure the Driver, The Manual Way:

An alternative to the "sudo aticonfig" commands is to edit "/etc/X11/xorg.conf" and change the "Device" section for the video card as shown below. This way you won't lose your old settings.

gksu gedit /etc/X11/xorg.conf
Section "Device"
	[...]
#       Driver          "vesa"
	Driver		"fglrx"
	Option		"VideoOverlay"		"on"
	Option		"OpenGLOverlay"		"off"
	[...]
EndSection


TV - Out

The composite TV-Out is not working simultaneously with the VGA on my System. To use it I have turned the VGA off and only the TV on. Attention! This command turns off your Monitor!!

sudo aticonfig --enable-monitor=tv

To change back to VGA:

sudo aticonfig --enable-monitor=crt1

Some have had luck with both mirrored.

sudo aticonfig --force-monitor=crt1
sudo aticonfig --enable-monitor=crt1,tv

reboot after that and it should mirror the CRT1 onto the TV.

Finish the Installation

Now save any open document and reboot your system:

sudo shutdown -hr now
  • Note: An alternative to rebooting is to restart the X Server by pressing your CTRL ALT BACKSPACE keys. You must remove any old kernel modules such as "drm" "radeon" or "fglrx" using the "rmmod" command. Example: sudo rmmod fglrx
  • Note: Another way to reboot:
sudo reboot

Post-Installation Checks and Tweaks

Verifying

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


The 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 EE
    if this command returns (EE) fglrx(0): incompatible kernel module detected - HW accelerated OpenGL will not work then 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-all meta-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-all package. Your problem is probably somewhere else. (taken from [1]).
  • 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 [2])
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

File: /etc/default/acpi-support
# 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

File: /etc/default/fglrx
# 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.

For example:

  • 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

Specific Issues

Your awnser was just what I needed. It’s made my day!

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:

SAVE_VBE_STATE=false

POST_VIDEO=false

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

If fglrxinfo or 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

Run fglrxinfo or glxinfo again

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

Now I know who the brainy one is, I’ll keep lokinog for your posts.

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:

File: /etc/X11/xorg.conf
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


This has made my day. I wish all positngs were this good.

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

See Also