-
Notifications
You must be signed in to change notification settings - Fork 70
Working with display drivers
Table of Contents generated with DocToc
- Warning
- Checking your currently loaded driver
- Vendor-specific utilities
- Where drivers are sourced from
- Changing the targeted display driver
- Running Mesa drivers instead of fglrx
- GPU Passthrough
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.
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
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
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.
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.
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.
The following sections detail some helpful tips for working with GPU passthrough. Once verified, feel free to amend or add notes.
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.