Owners of ATI/AMD video cards have a choice between AMD's proprietary driver (catalyst) and the open source driver (xf86-video-ati). This article covers the proprietary driver.
AMD's Linux driver package catalyst was previously named fglrx (FireGL and Radeon X). Only the package name has changed, while the kernel module retains its original fglrx.ko filename. Therefore, any mention of fglrx below is specifically in reference to thekernel module, not the package.
As of October 2012, binary packages are being offered. Currently, packages are available in the [community] repository, but it's unknown what will happen when an Xorg upgrade will break the driver. In the past, Catalyst has been dropped from official Arch support because of dissatisfaction with the quality and speed of development. Also, a legacy driver for Radeon HD 2xxx 3xxx 4xxx is not available in [community] yet. For more information, see this this forum post and onwards.
Compared to the open source driver, Catalyst performs worse in 2D graphics, but has a better support for 3D rendering. Supported devices are ATI/AMD Radeon video cards with chipset R600 and newer (as of Catalyst 9.4). See this table, or the Xorg "Decoder ring", to translate model names (X1900, HD4850) to/from chip names (R580, RV770 respectively).Installation
There are four ways of installing Catalyst on your system. One way is to use the official [community] repository, but this does not contain all the packages just yet. (At this time of writing, October 2012, there's no xvba-video and lib32 driver yet. Also, a legacy driver is still missing). Another one is to use Vi0L0's (Arch's unofficial Catalyst maintainer) repository. This repository does contain all the necessary packages. The third method you can use is the AUR; PKGBUILDs offered here are also made by Vi0L0 and are the same he uses to built packages for his repository. Lastly, you can install the driver directly from AMD.
Before choosing the method you prefer, you will have to see which driver you need. Since Catalyst 12.4, AMD has separated its development for Radeon HD 5xxx and Radeon HD 2xxx, 3xxx and 4xxx cards. For Radeon HD 2xxx, 3xxx and 4xxx cards, there's the legacy Catalyst driver, for Radeon HD 5xxx there is the regular Catalyst. Regardless of the driver you need, you will also need the Catalyst utilities.
This is the most simple and straightforward way, as it requires no unofficial repositories and because this package uses DKMS to automatically rebuilt the kernel modules when the kernel is upgraded. If this repository holds the packages you need, I suggest you take this one.
To install Catalyst, you can use pacman:
# pacman -S catalyst-dkms catalyst-utils
If you are on 64 bit and also need 32 bit OpenGL support, install lib32-catalyst-utils. Note that you will have to enable the [multilib] repository first.
# pacman -S lib32-catalyst-utils
Later on, a legacy driver will also be offered here.
If you need packages that currently aren't hosted by the official repository and don't fancy building the packages from the AUR, this is the way to go. The repository is maintained by our unofficial Catalyst maintainer, Vi0L0. All packages are signed and I consider them safe to use. As you will see later on in this article, Vi0L0 is also responsible for many other packages that will help you get your system working with your ATI graphic cards.
Vi0L0 has two different Catalyst repositories, each having different drivers:
To enable one of these, you will have to edit /etc/pacman.conf
and add the repository of choice's information above all other repositories in /etc/pacman.conf
:
# nano /etc/pacman.conf
For [catalyst], it's this:
[catalyst] Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch
For [catalyst-hd234k], you have to add the following:
[catalyst-hd234k] Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch
You must also add Vi0L0's GPG key so that pacman trusts the repositories.
# pacman-key --keyserver pgp.mit.edu --recv-keys 0xabed422d653c3094 # pacman-key --lsign-key 0xabed422d653c3094
Once you have added this, update pacman's database and install the packages:
# pacman -Syu # pacman -S catalyst catalyst-utils
If you are on 64 bit and need 32 bit OpenGL support, install lib32-catalyst-utils. Note that you will have to enable the [multilib] repository first:
# pacman -S lib32-catalyst-utils
Both repositories also contain other packages, that can replace the Catalyst package and provide fglrx modules for multiple kernels that are installed on your system:
You will find more details about those packages in Tools section. Lastly, both repositories also contain the xvba-video package, which enables video acceleration described#Video_acceleration and the AMDOverdriveCtrl package, which is a GUI to control over- and underclocking. See #GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities
The last way to install Catalyst is from the AUR. If you want to built the packages specifically for your computer, this is your way to go. Note that this is also the most tedious way to install Catalyst; it requires the most work and also requires manual updates upon every kernel update.
All packages mentioned above in Vi0L0's unofficial repository are also available on the AUR:
The AUR also holds some packages that are not found in any of the repositories. These packages contain the so-called Catalyst-total packages and the beta versions:
The Catalyst-total packages are made to make the lives of AUR users easier. It builds the driver, the kernel utilities and the 32 bit kernel utilities. It also builds the Catalyst-hook package, which is explained above.
Catalyst-total-pxp builds Catalyst with experimental powerXpress support.
For more information on building from the AUR, read Installing from AUR.
1.) Download the installer from AMD or elsewhere (whereas *-* will be the version): ati-driver-installer-*-*-x86.x86_64.run
2.) Make sure it's executable: # chmod +x ati-driver*
3.) Ensure you're using a basic video driver like vesa and remove conflicting drivers (i.e. xf86-video-ati
) with pacman.
4.) Symlink /usr/src/linux
to /usr/src/{kernelsource}
. 64-bit users also symlink/usr/lib64
to /usr/lib
.
5.) Be sure to have your build environment setup: # pacman -Syu base-devel linux-headers
6.) Now run # ./ati-driver-installer-*-*-x86.86_64.run
(Files will extract to a temporary folder and scripts will run...)
Assuming nothing went horribly wrong...
7.) Check /usr/share/ati/fglrx-install.log
for issues. There should also be a /lib/modules/fglrx/make.{ker_version}.log
.
After you have installed the driver via your chosen method, you will have to configure X to work with Catalyst. Also, you will have to make sure the module gets loaded at boot. Also, one should disable kernel mode setting.
To configure X, you will have to create an xorg.conf file. Catalyst provides its own aticonfig
tool to create and/or modify this file. It also can configure virtually every aspect of the card for it also accesses the /etc/ati/amdpcsdb
file. For a complete list of aticonfig
options, run:
# aticonfig --help | less
Now, to configure Catalyst. If you have only one monitor, run this:
# aticonfig --initial
However, if you have two monitors and want to use both of them, you can run the command stated below. Note that this will generate a dual head configuration with the second screen located above the first screen.
# aticonfig --initial=dual-head --screen-layout=above
You can compare the generated file to one of the Sample Xorg.conf examples listed on the Xorg page.
Although the current Xorg versions auto-detect most options when started, you may want to specify some in case the defaults change between versions.
Here is an example (with notes) for reference. Entries with '#' should be required, add entries with '##' as needed:
Section "ServerLayout" Identifier "Arch" Screen 0 "Screen0" 0 0 # 0's are necessary. EndSection Section "Module" Load ... ... EndSection Section "Monitor" Identifier "Monitor0" ... EndSection Section "Device" Identifier "Card0" Driver "fglrx" # Essential. BusID "PCI:1:0:0" # Recommended if autodetect fails. Option "OpenGLOverlay" "0" ## Option "XAANoOffscreenPixmaps" "false" ## EndSection Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 # Should not change from '24' Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum. Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/ EndSubSection ## fixed in Catalyst 9.8 EndSection Section "DRI" Mode 0666 # May help enable direct rendering. EndSection
If you need more information on Catalyst, visit this thread.
We have to blacklist the radeon
module to prevent it from auto-loading. To do so, blacklist radeon in /etc/modprobe.d/modprobe.conf
. Also, make sure that it is not loaded by any file under /etc/modules-load.d/
. For more information, see blacklisting in this article.
Then we will have to make sure that the fglrx
module gets auto-loaded. Either add fglrx
on a new line of an existing module file located under /etc/modules-load.d/
, or create a new file and add fglrx
.
Disabling kernel mode setting is important, as the driver doesn't take advantage of KMS yet. If you do not deactivate KMS, your system might freeze when trying to switch to a tty or even when shutting down via your DE.
For GRUB Legacy, edit menu.lst
by adding nomodeset
to the kernel parameters. For example:
kernel /boot/vmlinuz-linux root=/dev/sda1 ro nomodeset
For GRUB 2, edit /etc/default/grub
and add nomodeset to the kernel parameter options, e.g.
GRUB_CMDLINE_LINUX="nomodeset"
Then run, as root;
# grub-mkconfig -o /boot/grub/grub.cfg
For Syslinux, edit /boot/syslinux/syslinux.cfg
and add nomodeset to the APPEND
line, e.g.:
APPEND root=/dev/sda2 ro nomodeset
Assuming that a reboot to your login was successful, you can check if fglrx is running properly with the following commands:
$ lsmod | grep fglrx $ fglrxinfo
If you get output, it works. Finally, run X with startx
or by using GDM/KDM and verify that direct rendering is enabled by running the following command in a terminal:
$ glxinfo | grep direct
If it says "direct rendering: yes" then you're good to go! If the glxinfo command is not found, you might need to install the mesa-demos package.
If you have trouble, see #Troubleshooting.
To install catalyst for a custom kernel, you'll need to build your own catalyst-$kernel
package.
If you are at all uncomfortable or inexperienced with making packages, read up the ABS wiki page first so things go smoothly.
PKGBUILD
and catalyst.install
files from Catalyst.pkgname=catalyst
to pkgname=catalyst-$kernel_name
, where $kernel_name is whatever you want (e.g. custom, mm, themostawesomekernelever).linux
to $kernel_name
.makepkg -i
or makepkg
followed by pacman -U pkgname.pkg.tar.gz
PowerXpress technology allows switching from integrated graphics (IGP) to discrete graphics on notebooks, either to increase battery life or to achieve better 3D rendering capabilities.
To use such functionality on Arch you will have to:
To perform a switch into Intel's IGP you will also have to install the libgl package and Intel's drivers: xf86-video-intel and intel-dri.
Now you can switch between the integrated and the discrete GPU, using these commands:
# aticonfig --px-igpu #for integrated GPU # aticonfig --px-dgpu #for discrete GPU
Just remember that fglrx needs /etc/X11/xorg.conf configured for AMD's card with 'fglrx' inside.
You can also use the pxp_switch_catalyst switching script that will perform some additional usefull operations:
aticonfig --px-Xgpu
.switchlibGL
./etc/modules-load.d/catalyst.conf
.Usage:
# pxp_switch_catalyst amd # pxp_switch_catalyst intel
If you have got problems when you try to run X on Intel's driver you may try to force "UXA" acceleration; just make sure that your xorg.conf for Intel's GPU got Option "AccelMethod" "uxa", like here:
Section "Device" Identifier "Intel Graphics" Driver "intel" #Option "AccelMethod" "sna" Option "AccelMethod" "uxa" #Option "AccelMethod" "xaa" EndSection
Catalyst is notorious for its slow update process. As such, it is common that a new Xorg version is pushed down from upstream that will break compatibility for Catalyst. This means that Catalyst users either have to hold the Xorg packages from updating, or use a backported repository that only contains the Xorg packages that should be hold back. Vi0L0 has stepped in to fulfil this task and provides several backported repositories.
If you want to use pacman to hold back packages from updating, see skip package from being upgraded. Packages you should hold back, are:
If you want to use the backported repositories, you have to edit /etc/pacman.conf
and add the information of the repository above all other repositories, even above your Catalyst repository, should you use one.
The current version of Catalyst doesn't support xorg-server 1.13 at the moment.
[xorg112] Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch
Catalyst < 12.6 doesn't support xorg-server 1.12.
[xorg111] Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch
Catalyst-hook is a hook for mkinitcpio that will automatically update fglrx modules with every kernel update. This is basically the same as catalyst-dkms from [community]. Before updating the fglrx modules, it will first try to update the linux-headers.
The hook will call the catalyst_build_module command to update fglrx module for the version of your new kernel. Additionally, it can call the catalyst_build_module removecommand to remove the now old and unneeded flgrx module(s).
Catalyst-generator is a package that is able to build and install the fglrx module packed into pacman compliant catalyst-${kernver} packages. The difference from Catalyst-hook is that you will have to trigger this command manually, whereas Catalyst-hook will do this automatically at boot when a new kernel got installed.
It creates catalyst-${kernver} packages using makepkg and installs them with pacman. ${kernver} is the kernel version for which each package was built (e.g. catalyst-2.6.35-ARCH package was built for 2.6.35-ARCH kernel).
To build and install catalyst-${kernver} package for a currently booted kernel as an unprivileged user (non-root; safer way), use catalyst_build_module
. You will be asked for your root password to proceed to package installation.
A short summary on how to use this package:
catalyst_build_module remove
. This will remove all unused catalyst-{kernver}
packages.catalyst_build_module ${kernver
}, where ${kernver} is the version of the kernel to which you just updated. For example: catalyst_build_module 2.6.36-ARCH
. You can also build catalyst-${kernver} for all installed kernels by using catalyst_build_module all
.catalyst-generator
, it's best to run this as root before removing catalyst-generator: catalyst_build_module remove_all
. This will remove all catalyst-{kernver} packages from the system.Catalyst-generator isn't able to remove all those catalyst-{kernver} packages automatically while being removed because there can not be more than one instance of pacman running. If you forget to run catalyst_build_module remove_all
before using pacman -R catalyst-generator
catalyst-generator will tell you which catalyst-{kernver} packages you will have to remove manually after removing catalyst-generator itself.
Presented in Catalyst 11.1, the Tear Free Desktop feature reduces tearing in 2D, 3D and video applications. This likely adds triple-buffering and v-sync. Do note that it requires additional GPU processing.
To enable 'Tear Free Desktop' run amdcccle
and go to: Display Options
→ Tear Free
.
Or as root run:
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1
To disable, again use amdcccle
or run as root:
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop
Video Acceleration API (VA API) is an open source software library (libVA) and API specification which provides GPU acceleration for video processing on Linux/UNIX based operating systems. The process works by enabling hardware accelerated video decode at various entry-points (VLD, IDCT, Motion Compensation, deblocking) for common encoding standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3).
VA-API gained a proprietary backend (in November 2009) called xvba-video, that allows VA-API programmed applications to take advantage of AMD Radeons UVD2 chipsets via theXvBA (X-Video Bitstream Acceleration API designed by AMD) library.
XvBA support and xvba-video is still under development, however it is working very well in most cases. Build the xvba-video package from AUR or soon, install it from [community] and install mplayer-vaapi and libva. Then just set your video player to use vaapi:gl as video output:
$ mplayer -vo vaapi:gl movie.avi
These options can be added to your mplayer configuration file, see MPlayer.
For smplayer:
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl Options → Preferences → General → Video (tab) → Double buffering on Options → Preferences → General → General → Screenshots → Turn screenshots off Options → Preferences → Performance → Threads for decoding: 1 (to turn off -lavdopts parameter)
For VLC:
Tools → Preferences → Input & Codecs → Use GPU accelerated decoding
It might help to enable v-sync in amdcccle:
3D → More Settings → Wait for vertical refresh = Always On
You can get the GPU/Mem clocks with: $ aticonfig --od-getclocks
.
You can get the fan speed with: $ aticonfig --pplib-cmd "get fanspeed 0"
You can get the temperature with: $ aticonfig --odgt
To set the fanspeed with: $ aticonfig --pplib-cmd "set fanspeed 0 50"
Query Index: 50, Speed in percent
To overclock and/or underclock it's easier to use a GUI, like ATi Overclocking Utility, which is very simple and requires qt to work.
The i686 version is available here, while the x86_64 is available here. Just download it and run.
An other, more complex utility to perform such operations is AMDOverdriveCtrl. Its homepage is here and you can build an Arch package from AUR or from Vi0L0's unofficial repositories.
ATI Documentation
The GUI tool shipped by ATI is very useful and we will try to use it as much as we can. To launch it, open a terminal and use the following command:
$ {kdesu/gksu} amdcccle
Before we start, make sure that your hardware is plugged in correctly, that power is on and that you know your hardware characteristics (screen dimensions, sizes, refreshment rates, etc.) Normally, both screens are recognized during boot time but not necessarily identified properly, especially if you are not using any Xorg base configuration file (/etc/X11/xorg.conf
) but relying on the hot-plugging feature.
The first step is to make sure that you screens will be recognized by your DE and by X. For this, you need to generate a basic Xorg configuration file for your two screens:
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1
or
# aticonfig --initial=dual-head --screen-layout=left
Now you should have a basic Xorg configuration file that you can edit to add your screen resolutions. It is important to use the precise resolution, especially if you have screens of different sizes. These resolutions have to be added in the "Screen" section:
SubSection "Display" Depth 24 Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2" EndSubSection
From now on, instead of editing the xorg.conf
file manually, let us use the ATI GUI tool. Restart X to be sure that your two screens are properly supported and that the resolutions are properly recognized (Screens must be independent, not mirrored).
Now you will only have to launch the ATI control center with root privileges, go to the display menu and choose how you would like to set your configuration (small arrow of the drop down menu). A last restart of X and you should be done!
Before you restart X, do not hesitate to verify your new xorg.conf
file. At this stage, inside the "Display" sub-section of the "Screen" section, you should see a "Virtual" command line, of which the resolution should be the sum of both screens. The "Server Layout" section says all the rest.
If you can still boot to command-line, then the problem probably lies in /etc/X11/xorg.conf
You can parse the whole /var/log/Xorg.0.log
or, for clues:
$ grep '(EE)' /var/log/Xorg.0.log $ grep '(WW)' /var/log/Xorg.0.log
If you are at lost of what to do, you can always post a message in the see support thread on the forums. When you do so, please do provide the information you get from both commands mentioned above.
If you use a 3D Wine application and it hangs, you have to disable TLS. To do this, either use aticonfig
or edit /etc/X11/xorg.conf
. To use aticonfig
:
# aticonfig --tls=off
Or, to edit /etc/X11/xorg.conf
; first open the file in an editor as root and then add Option "UseFastTLS" "off"
to the Device section of this file.
After applying either of the solutions, restart X for it to take effect.
You may still use vaapi:gl
to avoid video flickering, but without video acceleration:
-vo vaapi
switch.-vo vaapi
from Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapiPlus for smplayer you may now safely turn screenshots on.
You may use XRender if the rendering with OpenGL is slow. However, XRender might also be slower than OpenGL depending on your card. XRender also solves artefact issues in some cases, for instance when resizing Konsole.
Ensure you have added the nomodeset option to the kernel options line in your bootloader (see #Disable kernel mode setting).
It is possible that fglrx doesn't cooperate well with the system's ACPI hardware calls, so it auto-disables itself and there is no screen output.
If so, try to run this:
$ aticonfig --acpi-services=off
If you are running Catalyst proprietary driver and you get a console (tty1) instead of the expected KDM greeting when you log out, you must instruct KDM to restart the X server after each logout:
$ sudo nano /usr/share/config/kdm/kdmrc
Uncomment the following line under the section titled [X-:*-Core]
:
TerminateServer=True
KDM should now appear when you log out of KDE.
This problem may occur when using the proprietary Catalyst driver.
If you have problem with direct rendering, run:
$ LIBGL_DEBUG=verbose glxinfo > /dev/null
at the command prompt. At the very start of the output, it'll usually give you a nice error message saying why you do not have direct rendering.
Common errors and their solutions, are:
libGL error: XF86DRIQueryDirectRenderingCapable returned false
hwdetect --show-agp
, then ensure that all modules listed from that command are in the MODULES=
array in rc.conf, before fglrx if using SysVinit, otherwise open your fglrx.conf
file in /etc/modules-load.d
and add the agp module on a line before the fglrx line.libGL error: failed to open DRM: Operation not permitted libGL error: reverting to (slow) indirect rendering
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed (/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory) libGL error: unable to find driver: fglrx_dri.so
/usr/X11R6/lib/modules/dri/fglrx_dri.so
, then ensure you've logged completely out of your system, then back in. If you're using a graphical login manager (gdm, kdm, xdm), ensure that /etc/profile
is sourced every time you log in. This is usually accomplished by adding source /etc/profile
into ~/.xsession
or ~/.xinitrc
, but this may vary between login managers./usr/lib/xorg/modules/dri/fglrx_dri.so
, then something has not been correctly installed. Try reinstalling the catalyst
package.Errors such as:
fglrx: libGL version undetermined - OpenGL module is using glapi fallback
could be caused by having multiple versions of libGL.so
on your system. Run:
$ sudo updatedb $ locate libGL.so
This should return the following output:
$ locate libGL.so /usr/lib/libGL.so /usr/lib/libGL.so.1 /usr/lib/libGL.so.1.2
These are the only three libGL.so files you should have on your system. If you have any more (e.g. /usr/X11R6/lib/libGL.so.1.2
), then remove them. This should fix your problem.
You might not get any error to indicate that this is a problem. If you are using X11R7, make sure you do not have these files on your system:
/usr/X11R6/lib/libGL.so.1.2 /usr/X11R6/lib/libGL.so.1
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add vga=0 to your kernel options in for example, Grub Legacy's /boot/grub/menu.lst
:
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet vga=0
To see where you need to add this with other bootloaders, see #Disable kernel mode setting.
radeonfb
framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:
$ dmesg | grep agp
If you get something similar to this (using an nForce3-based system):
agpgart: Detected AGP bridge 0 agpgart: Setting up Nforce3 AGP. agpgart: aperture base > 4G
and also if issuing this command...
$ tail -n 100 /var/log/Xorg.0.log | grep agp
...gets something similar to:
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"
Then you have this bug.
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, a bad BIOS downgrade can render your hardware useless, so beware.
See this bugreport for more information and a potential fix.
This problem may occur when using the proprietary Catalyst.
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160 Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160 Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx] Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160 Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90 Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0 Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70 Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33 Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160 Nov 28 18:31:56 pandemonium =======================
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see#Disable kernel mode setting.
If when running
# aticonfig --initial
you get:
aticonfig: No supported adaptaters detected
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your etc/X11/xorg.conf
file.
You can do so by setting the device section of /etc/X11/xorg.conf
to:
Section "Device" Identifier "ATI radeon ****" Driver "fglrx" EndSection
Where **** should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).
Xorg will start and it is possible to use amdcccle
instead of aticonfig
. There will be an "AMD Unsupported hardware" watermark.
You can remove this watermark using the following script:
#!/bin/sh DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER done
and rebooting.
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.
You can turn webGL on by editing /usr/share/applications/chromium.desktop
file and adding --ignore-gpu-blacklist
flag into the Exec line so it looks like this:
Exec=chromium %U --ignore-gpu-blacklist
You can also run chromium from console with the same --ignore-gpu-blacklist
flag:
$ chromium --ignore-gpu-blacklist
Edit /etc/adobe/mms.cfg
and make it look like this:
#EnableLinuxHWVideoDecode=1 OverrideGPUValidation=true
You can try this solution out, it's working for many people.
Add this line into ~/.profile
or into /etc/profile
:
export CLUTTER_VBLANK=none
Restart X server or reboot your system.
Using the amdcccle GUI you can select the display, go to adjustments, and set Underscan to 0% (aticonfig defaults to 15% underscan).
Alternatively, you can use aticonfig to disable underscanning as well:
aticonfig --set-pcs-val=MCIL,DigitalHDTVDefaultUnderscan,0
For newer version (for example, 12.11), if Catalyst control center repeatedly fails to save the overscan setting, edit /etc/ati/amdpcsdb:
TVEnableOverscan=V0
Then logout and login.