Switching Between Free and Non-free Video-Drivers
|Switching Between Free and Non-free Video-Drivers|
Chakra gives you the option during the startup of the LiveCD to choose between using and installing the free or non-free (proprietary) graphics card drivers. There are several reasons why it would be nice to be able to switch graphics card drivers anytime after you have installed Chakra. Some users don't realize that when the LiveCD starts the default option is for free drivers, but would have preferred to use non-free. Or that the driver currently in use is causing problems and you need to switch to the other one.
To go from free graphic card drivers to either NVIDIA or Catalyst proprietary drivers, also means going to a different libgl. Because the Catalyst and NVIDIA drivers both provide their own, it is not just a simple "pacman -S <new_driver>". Used drivers need to be removed first!
Steps to switch from radeonhd to Catalyst/fglrx - only for HD5xxx series and newer Radeons
- note: very likely you will experience worse performance in KDE's KWIN window manager compared to the radeonHD driver. This can mean sensable lag with desktop effects and lower overall performance of the desktop. (This issue does not affects performance in 3D apps and games)
sudo pacman -Syu sudo pacman -Rdd mesa-libgl lib32-mesa-libgl sudo pacman -R xf86-video-ati
If lib32-mesa-libgl are not installed, then just leave it out from the commands above.
Most cards don't need this, but if you know that yours does, disable (Kernel-based Mode-Setting) KMS. Look for this line in /etc/default/grub:
and at the end of this line add nomodeset so it looks like this:
Remember to update grub after this:
Now install Catalyst:
sudo pacman -S catalyst sudo pacman -S catalyst-libgl lib32-catalyst-libgl sudo modprobe fglrx
If you have a /etc/X11/xorg.conf file, then the best to do is to remove it (and backup, just in case) before the next step. Catalyst will generate a new /etc/X11/xorg.conf for itself.
sudo aticonfig --initial
- note: For Multiple Monitors
However, if you have two monitors and want to use both of them, you can run the command stated below. Note that this example will generate a dual head configuration with the second screen located above the first screen.
sudo aticonfig --initial=dual-head --screen-layout=above --input=/etc/X11/xorg.conf
For more options of aticonfig see
sudo aticonfig --help | less
After a reboot, you can launch Catalyst Control Center with the needed rights using this command
To eliminate image and video tearing, go to Display settings -> Tear free desktop, where check Enable tear free desktop option on the conrtol center.
If you want to use the Video Acceleration API (VA-API) for HW acceleration of videos, then install the needed package
sudo pacman -S xvba-video
Then you can use VA-API output in programs like VLC, or vaapi enabled mplayer (SMPlayer with mplayer-vaapi) but it may not work due to the lack of VA-API support.
If you want to monitor your card's propertys like core and memory speeds or temperature, then you can install and put to your desktop the pyCatalystmonitor plasmoid from KDE's plasmoid downloader.
Steps to switch from Catalyst/fglrx to radeonhd
Remove the Catalyst/fglrx driver:
sudo pacman -Syu sudo pacman -Rdd catalyst catalyst-libgl catalyst-utils lib32-catalyst-libgl lib32-catalyst-utils
If lib32-catalyst... packages are not installed, then just leave it out from the command above.
Install the radeonhd driver:
sudo pacman -S xf86-video-ati mesa-libgl lib32-mesa-libgl
Nowadays, manual editing of xorg.conf are no more required. Instead, please remove (and backup, just in case) the /etc/X11/xorg.conf file from the X11 folder, because the system will handle everything by itself.
Remove nomodeset from your kernel line in /etc/default/grub:
and at the end of this line remove either nomodeset or radeon.modeset=0 so it looks like this:
Remember to update grub after this, and reboot:
sudo update-grub sudo reboot
If you want to use hardware acceleration for video playback, then install VDPAU related packages. VDPAU is an open source library and API to offload portions of the video decoding process and video post-processing to the GPU video-hardware.
sudo pacman -S libvdpau mesa-vdpau
After this step, you can set players like VLC, Bomi and SMPlayer to use VDPAU for video output and video decode. If you experience problems in video players with VDPAU output, then try to set it to R600 mode. Add the necessary enviromental variables to your bashrc file, then reboot.
printf '\nexport LIBVA_DRIVER_NAME=vdpau\nexport VDPAU_DRIVER=r600' >> ~/.bashrc
It will needs a logout -> login to activate the new variables.
Steps to switch from Nouveau to NVIDIA
Update your system and remove entries related to nouveau:
sudo pacman -Syu sudo pacman -Rdd mesa-libgl sudo pacman -R xf86-video-nouveau
Most NVIDIA graphics cards need these packages:
sudo pacman -S nvidia sudo pacman -S nvidia-utils
7xxx and below graphics cards:
sudo pacman -S nvidia-304xx sudo pacman -S nvidia-304xx-utils
This step only needed for 304xx: To create the correct entries in /etc/x11/xorg.conf:
Steps to switch from NVIDIA to Nouveau
Remove the NVIDIA driver:
If you have a newer NVIDIA graphics card:
sudo pacman -Syu sudo pacman -Rdd nvidia sudo pacman -Rdd nvidia-utils
If you have a GeForce FX series graphics card:
sudo pacman -Syu sudo pacman -Rdd nvidia-173xx sudo pacman -Rdd nvidia-173xx-utils
If you have a 7xxx and below graphics card:
sudo pacman -Syu sudo pacman -Rdd nvidia-304xx sudo pacman -Rdd nvidia-304xx-utils
Install the Nouveau driver:
sudo pacman -Syu sudo pacman -S xf86-video-nouveau sudo modprobe nouveau
There is no automatic way of editing xorg.conf for the Nouveau driver, so:
kdesu kate /etc/X11/xorg.conf
Look for information below. Comment the "nvidia" line out by adding the hash (#) symbol in front and add the line below it listed here:
Section "Device" Identifier "Card0" #Driver "nvidia" Driver "nouveau" VendorName "nVidia Corporation" BoardName "G96-GeForce 9400 GT" BusID "PCI:1:0:0" Option "DRI" "true" EndSection
Use the fall-back driver, if all else fails
Unfortunately there are cases neither free or non-free drivers will produce a working desktop. In those cases, it is recommended to start the LiveCD with the vesa driver (same driver for all video cards).
To use the vesa driver, start the LiveCD like normal, select your language on the first screen. Next screen use the "Tab" key, an editable line will show at the bottom of your screen. At the end of that line, switch "xdriver=no" to "xdriver=vesa". Editing will start at the end of this line, so using 'backspace' will remove text, normal typing will enter text.
Tip for hybrid cards not booting
Chakra is working on fully supporting hybrid graphics cards, but unfortunately, not all are working yet. To still be able to boot into a live-CD, it is needed to turn of one of the cards. Some can do this in the BIOS. For those who can't, follow these steps:
- select your language on the first screen
- next screen use the "Tab" key
- editable line will show at the bottom of your screen
- at the end of that line, add "edd=off"
Are you trying to switch from Intel to Nvidia or Catalyst and you can't? Are you trying to change your graphics card driver but you can't? Are you trying to install a lib32 package but you can't? Don't worry.
Black bars over the scren / undersized or oversized picture using AMD cards
This is a hardware related issue, mostly when using an LcdTV as a monitor. Switching Radeon cards in your pc may alter this situation, so proper settings may be card dependent. With catalyst/fglrx driver, you can use the driver to adjust the overcan / underscan value in the Catalyst Control Center. With the free driver, you can try this solution: related arch wiki page
Conflicts between libgl and nvidia-utils or catalyst-utils
libgl and catalyst-utils are in conflict. Remove libgl? [y/N] Y
libgl and nvidia-utils are in conflict. Remove libgl? [y/N] Y
There is nothing wrong. libgl is also provided by catalyst-utils or nvidia-utils. You can replace libgl by nvidia-utils or catalyst-utils without problem (just install the correct one for your graphics card.)
Error: failed to prepare transaction (could not satisfy dependencies)
If you answer yes and pacman is still showing an error related to dependencies would be because you have lib32 packages installed in your system. Your new error should look like:
error: failed to prepare transaction (could not satisfy dependencies) :: catalyst: requires catalyst-utils
error: failed to prepare transaction (could not satisfy dependencies) :: nvidia: requires nvidia-utils
You just need to install the lib32 equivalent to your graphics card:
If you are trying to install catalyst-utils you will need lib32-catalyst-utils too:
sudo pacman -S catalyst-utils lib32-catalyst-utils
If you are trying to install nvidia-utils you will need lib32-nvidia-utils too:
sudo pacman -S nvidia-utils lib32-nvidia-utils
Installing the first lib32 package after driver update
The last scenario with libgl error could come with the first lib32-package installation. Imagine you installed nvidia-utils without problems and now you want to install Skype. You will see an error related to libgl, asking to remove nvidia-utils. You only need to install lib32-nvidia-utils before doing it. Of course, this is the same scenario for catalyst-utils, also for other lib32-packages.