Skip to content

Working with display drivers

mikeyd edited this page Jun 1, 2016 · 11 revisions

Warning

Most of the topics below topics for experience users that should not be attempted by those not prepared to restore / re-install SteamOS, should something go wrong. You are expected to take a proper backup before attempting these steps.

It is not advised to go about manually updating or replacing known drivers listed in the drivers section below.

Checking your currently loaded driver

You can check this information from withing Steam > Settings, or the below.

Find driver in use:

lspci -v | grep -A 15 VGA

Check driver information:

cat /proc/driver/<YOUR_DRIVER>/version

Example:

cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 355.00.28 Mon Feb 22 22:32:46 PST 2016

Where drivers are sourced from

Driver libraries are sourced from /usr/lib/, such as:

  • amdgpu-pro
  • fglrx
  • mesa-diverted
  • nvidia

If you do not see your driver that you installed here, chances are it is not installed, properly installed, or otherwise available.

Changing the targeted display driver

There is a classic system V init script that handles graphics switching. This script is processed when your system starts its boot process (specifically after the kernel is loaded). This is what updates SteamOS and cues the system in that you changed a physical GPU or updated to a newer card that may support a different driver (e.g. amdgpupro). The file that controls driver switching is:

/etc/init.d/update-graphics

You will see here how drivers are processed, and how services are handled.

The complete raw text of this file (as of 20160601) can be found in this GitHub Gist.

Runing Mesa drivers instead of fglrx

If you do not have a recent AMD GPU (e.g. "Bonaire" GPU), or wish to use the mesa drivers, you will need to comment either of these lines (depending on that fact). I highly suggest commenting out the line if you wish to change it later.

AMDGPU_PRO_SUPPORT_CARDS="Bonaire"
  if [[ (-n $(echo $AMDGPU_PRO_SUPPORT_CARDS | grep $CARD)) && (-d /usr/lib/x86_64-linux-gnu/amdgpu-pro) ]]; then
    alternative=x86_64-linux-gnu/amdgpu-pro
  else
    #alternative=fglrx
    alternative=mesa-diverted
  fi

It is more than likely you will have to reboot twice.

Clone this wiki locally