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'"''. Follow the instructions on [http://64studio.com/node/150#comment-1148 64bitstudio.com] for a workaround.

+

−

+

−

+

−

''Missing kernel sources''

+

−

<pre>

+

−

Error! Your kernel source for kernel 2.6.22-14-386 cannot be found at

+

−

/lib/modules/2.6.22-14-386/build or /lib/modules/2.6.22-14-386/source.

+

−

</pre>

+

−

You must install the specific headers package for your kernel:

+

−

<PRE>

+

−

$ uname -r

+

−

$ sudo aptitude install linux-headers-2.6.22-14-386

+

−

</PRE>

+

−

Where "2.6.22-14" is the version reported by uname.

+

−

+

−

+

−

''Bad file descriptor''

+

−

+

−

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.)

+

===Configure the Driver===

===Configure the Driver===

Line 246:

Line 225:

==Specific Issues==

==Specific Issues==

−

=== 3D desktop effects ===

+

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

−

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.

+

−

<pre>

+

−

# Section "Extensions"

+

−

# Option "Composite" "0"

+

−

# EndSection

+

−

</pre>

+

−

+

−

Compiz does not know about the fglrx driver. You can either skip the checks

or add it to the compiz white list, and clear the blacklist pci Ids variable '''*Recommended*'''

+

−

+

−

<pre>sudo gedit /usr/bin/compiz</pre>

+

−

+

−

<pre>

+

−

# Driver whitelist

+

−

WHITELIST="fglrx nvidia intel ati radeon i810"

+

−

</pre>

+

−

+

−

<pre>

+

−

# blacklist based on the pci ids

+

−

# BLACKLIST_PCIIDS="$T"

+

−

BLACKLIST_PCIIDS=""

+

−

</pre>

+

−

+

−

+

−

You might have to modify the path for line 30 and 31

+

−

<pre>

+

−

COMPIZ_BIN_PATH="/usr/bin/" # For window decorators and compiz

+

−

PLUGIN_PATH="/usr/lib/compiz/"

+

−

</pre>

+

−

The COMPIZ_NAME on line 35 should also be modified accordingly

+

−

<pre>

+

−

COMPIZ_NAME="compiz.real" # Final name for compiz (compiz.real)

+

−

</pre>

+

−

+

−

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.

To configure use the tool KMenu->Settings->Avanced Desktop Effect Settings.

+

=== Suspend/Hibernation work with 7.12===

=== Suspend/Hibernation work with 7.12===

Line 379:

Line 303:

</pre>

</pre>

−

=== libGL error ===

+

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

−

* 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 ===

=== Monitor detection (1680x1050 Resolution Issue)--- SOLVED ===

Line 425:

Line 341:

−

=== A possible problem with fglrx.ko conflicts ===

+

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

−

+

−

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''

+

−

+

−

<pre>

+

−

sudo mkdir /lib/modules/$(uname -r)/volatile

+

−

</pre>

+

−

+

−

Note: the volatile directory might already exist at this stage then simply continue with the next step.

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:

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.

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.

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.

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:

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.

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:

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.

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).

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).

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: