Frequently Asked Questions: Difference between revisions

From cchtml.com
mNo edit summary
(Added EDID override trick (I had filed the linked bug and was grateful for the solution))
(182 intermediate revisions by 100 users not shown)
Line 1: Line 1:
== What is fglrx? ==
The AMD graphic driver for Linux is called fglrx.
==Installation==
==Installation==
===How do I know fglrx is installed correctly?===
===How do I know fglrx is installed correctly?===
There are several ways to check if fglrx is loaded and running.
There are several ways to check if fglrx is loaded and running.
<br>1. Check your X.org or XFree86 log. You should see "DRI Initialization Successful."
<br>1. Check your X.org or XFree86 log. You should see "DRI Initialization Successful."
  # vi /var/log/Xorg.0.log
  # less /var/log/Xorg.0.log
  or
  or
  # vi /var/log/XFree86.0.log
  # less /var/log/XFree86.0.log
2. Check glxinfo. You should see "direct" and not "indirect."
2. Check glxinfo. You should see "direct" and not "indirect."
  # glxinfo | grep direct
  # glxinfo | grep direct
Line 11: Line 14:
  # dmesg
  # dmesg
4. Check your modules. You should see fglrx loaded.
4. Check your modules. You should see fglrx loaded.
  # lsmod
  # lsmod | grep fglrx
*NOTE: glxgears is not a definite way of checking the installation of fglrx.
*NOTE: [[Glxgears is not a Benchmark|glxgears]] is not a definite way of checking the installation of fglrx.
 
=== Is the rebooting really necessary? ===
 
No.


However, rebooting is the easiest method to ensure that the kernel module(s) from the old driver are unloaded and the fglrx module is loaded instead. If you don't want to reboot for some reason, you may manually shut down Xorg, unload any old "drm", "radeon" or "fglrx" modules and then start Xorg again.


==Kernel==
==Kernel==
===Why does fglrx not work for my bleeding-edge kernel?===
===Why does fglrx not work for my kernel?===
The development process of the fglrx driver and the GNU/Linux kernel are not on the same level. The fglrx driver requires some special interactions with the kernel AGP API and these tend to change between kernel versions. ATI will only support the latest kernel that is officially out (no -rc or -git releases are supported).
The development process of the fglrx driver and the Linux kernel are not on the same level. The fglrx driver requires some special interactions with the kernel memory API and these tend to change between kernel versions.  
 
There is also an 11-12 week cycle required to develop, validate and test each release of an ATI driver <ref>http://www.phoronix.com/scan.php?page=article&item=735&num=1</ref>.  ATI will only look to support the latest kernel that is officially out (no -rc or -git releases are supported) at the time they release a driver. Example: fglrx version A comes out Monday, but kernel version B comes out Tuesday. Kernel version B is not supported by fglrx version A. (but might be able to work anyway by doing a 'modprobe -f fglrx' in a shell)


The binary part of ATI's kernel module has no explicit dependency on the Linux kernel.  There are a set of source files that provide the glue to the kernel.  This is where the dependency to different kernels exist.  As a result, user contributed patches for newer kernels can often be found by searching [http://ati.cchtml.com Bugzilla].
Note: That's why an opensource hardware driver is necessary. Hopefully, AMD will continue releasing more documentation and we will be able to code our own maintainable and free driver, thus freeing ourselves from this dependency on AMD's good will - and freeing AMD to focus on hardware.


==X Configuration==
==X Configuration==
===How do I configure my system to use the fglrx driver?===
*aticonfig
:Command line program to modify the /etc/X11/xorg.conf file.
*amdcccle
:GUI program that allows detailed configuration over the driver's controls.
*/etc/X11/xorg.conf
:X configuration file. Find the Device section for your ATI card and edit the Driver line to read
Driver "fglrx"
:Note: This is the least-preferred method. Many things can stop working.
==Fixed Monitor Resolution==
Particularly when using affordable KVM switches (where one monitor can be connected to multiple computers), there may be problems when a machine boots 'headless' (without the monitor assigned). In that case, the EDID data of the monitor cannot be accessed, so the driver may start up with an unwanted standard resolution. Unfortunately, there seems to be no way to force the native monitor resolution in the configuration file.


However, the driver provides a work-around solution: the EDID data can be overridden, by providing the extracted monitor information as a small data file in /etc/ati. See the hints in this bug report: http://ati.cchtml.com/show_bug.cgi?id=415#c2


==Troubleshooting==
==Troubleshooting==
=== Computer Freezes while using fglrx (UMA and SIDEPORT)  ===
* See [[Troubleshooting]] page.
If after choosing fglrx as your driver in either xorg.conf or xfree86.conf files, the computer freezes and becomes unresponsible while trying to start X this may be the solution.


Some ATI cards have the ability to run in three modes: UMA, SIDEPORT, or a combination of both. UMA mode is that one in which the video card does not use its dedicated memory, but rather uses and shares the system memory. On the other hand, SIDEPORT mode is the one in which the card uses its own dedicated memory. And finally, the third mode is a combination of the previous modes in which the card uses both the system memory and its dedicated memory.
==See Also==
*[http://support.amd.com/en-us/search/faq AMD Support FAQ]


If your computer hangs, this settings may be where the solution lies. If your computer hangs, try using either UMA by itself or a combination of both. However, if you choose the combination, make sure that the UMA one is at least 128MB. In my case, I have SIDEPORT 128MB and 128MB UMA. If I choose any less for UMA, it does not work. This is definetly not an attractive solution since it compromises your systems performance. Hopefully, this will be solved very soon.
==References==
<references/>

Revision as of 21:36, 19 December 2013

What is fglrx?

The AMD graphic driver for Linux is called fglrx.

Installation

How do I know fglrx is installed correctly?

There are several ways to check if fglrx is loaded and running.
1. Check your X.org or XFree86 log. You should see "DRI Initialization Successful."

# less /var/log/Xorg.0.log
or
# less /var/log/XFree86.0.log

2. Check glxinfo. You should see "direct" and not "indirect."

# glxinfo | grep direct

3. Check your kernel log. You should see fglrx messages near the bottom.

# dmesg

4. Check your modules. You should see fglrx loaded.

# lsmod | grep fglrx
  • NOTE: glxgears is not a definite way of checking the installation of fglrx.

Is the rebooting really necessary?

No.

However, rebooting is the easiest method to ensure that the kernel module(s) from the old driver are unloaded and the fglrx module is loaded instead. If you don't want to reboot for some reason, you may manually shut down Xorg, unload any old "drm", "radeon" or "fglrx" modules and then start Xorg again.

Kernel

Why does fglrx not work for my kernel?

The development process of the fglrx driver and the Linux kernel are not on the same level. The fglrx driver requires some special interactions with the kernel memory API and these tend to change between kernel versions.

There is also an 11-12 week cycle required to develop, validate and test each release of an ATI driver [1]. ATI will only look to support the latest kernel that is officially out (no -rc or -git releases are supported) at the time they release a driver. Example: fglrx version A comes out Monday, but kernel version B comes out Tuesday. Kernel version B is not supported by fglrx version A. (but might be able to work anyway by doing a 'modprobe -f fglrx' in a shell)

The binary part of ATI's kernel module has no explicit dependency on the Linux kernel. There are a set of source files that provide the glue to the kernel. This is where the dependency to different kernels exist. As a result, user contributed patches for newer kernels can often be found by searching Bugzilla.

Note: That's why an opensource hardware driver is necessary. Hopefully, AMD will continue releasing more documentation and we will be able to code our own maintainable and free driver, thus freeing ourselves from this dependency on AMD's good will - and freeing AMD to focus on hardware.

X Configuration

How do I configure my system to use the fglrx driver?

  • aticonfig
Command line program to modify the /etc/X11/xorg.conf file.
  • amdcccle
GUI program that allows detailed configuration over the driver's controls.
  • /etc/X11/xorg.conf
X configuration file. Find the Device section for your ATI card and edit the Driver line to read
Driver "fglrx"
Note: This is the least-preferred method. Many things can stop working.

Fixed Monitor Resolution

Particularly when using affordable KVM switches (where one monitor can be connected to multiple computers), there may be problems when a machine boots 'headless' (without the monitor assigned). In that case, the EDID data of the monitor cannot be accessed, so the driver may start up with an unwanted standard resolution. Unfortunately, there seems to be no way to force the native monitor resolution in the configuration file.

However, the driver provides a work-around solution: the EDID data can be overridden, by providing the extracted monitor information as a small data file in /etc/ati. See the hints in this bug report: http://ati.cchtml.com/show_bug.cgi?id=415#c2

Troubleshooting

See Also

References