Skip to content

Working with display drivers

ProfessorKaos64 edited this page Jun 27, 2016 · 11 revisions

Table of Contents generated with DocToc

Warning

Most of the topics below are 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 within Steam > Settings, or the below. The current supported driver versions and what cards are supported, can be ascertained from this wiki entry on the "Getting Started" page.

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

Vendor-specific utilities

You can also use vendor utilities to provide information about the closed-source / proprietary drivers. You must have these utilities installed. They are available in the standard Valve repository. Note: aticonfig requires sudo when no X server is active (such as checking this over SSH).

nvidia-smi
aticonfig

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 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. amdgpu-pro). 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.

Running 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.

GPU Passthrough

The following sections detail some helpful tips for working with GPU passthrough. Once verified, feel free to amend or add notes.

ESXi 6.0

In order to make use of ESXi passthrough, you'll need to to disable graphics auto-switching in/etc/init.d/update-graphics, by renaming or altering what graphics driver is picked up (depending on what card you have/want to use). There is an ESXi variable for disabling built-in VMware SVGA adapter:

  • vSphere Client select VM with gpu passthrough enabled
  • Edit Settings --> Options Tab --> Drop down to 'General' under Advanced' --> select 'Configuration Parameters' --> Set 'svga.present' to 'FALSE'

NOTE: Most of this information was derived from this Reddit post.

Clone this wiki locally