Frequently Asked Questions: Difference between revisions

From cchtml.com
(→‎How do I configure my system to use the fglrx driver?: Added info about auto X configuration generation though amdconfig)
 
(170 intermediate revisions by 95 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 13: Line 16:
  # lsmod | grep fglrx
  # lsmod | grep fglrx
*NOTE: [[Glxgears is not a Benchmark|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 memory API and these tend to change between kernel versions.  
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.  


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)
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].
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==
===Composite Extension===
===How do I configure my system to use the fglrx driver?===
If you've enabled trasparency, and you've added the Composite extension to the xorg.conf file, the ATI driver will disable DRI.
*aticonfig
:Command line program to modify the /etc/X11/xorg.conf file.
:Use "--initial" (without quotes) to generate a X configuration file if X doesn't see the fglrx driver
*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.


The only way to use 3D and the ATI OpenGL drivers is commenting the Option "Composite" "Enable" line.
==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.


The composite extension is still considered "experimental" by the X.org organization and ATI has stated they will not support features that are classified as such.
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.


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.
==See Also==
*[http://support.amd.com/en-us/search/faq AMD Support FAQ]


On some systems, the BIOS screen may not offer a choice of UMA or SIDEPORT.  In this case, you can try turning the amount of RAM dedicated to the video card down, from 128Mb to 64Mb for example.
==References==
<references/>

Latest revision as of 05:57, 17 September 2014

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.
Use "--initial" (without quotes) to generate a X configuration file if X doesn't see the fglrx driver
  • 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