How can I find what video driver is in use on my system?
Run lshw -c video
, and look for the line with "configuration". The loaded driver is prefixed with "driver=". Example output:
*-display description: VGA compatible controller product: Core Processor Integrated Graphics Controller vendor: Intel Corporation physical id: 2 bus info: pci@0000:00:02.0 version: 02 width: 64 bits clock: 33MHz capabilities: vga_controller bus_master cap_list rom configuration: driver=i915 latency=0 resources: irq:45 memory:fd000000-fd3fffff memory:d0000000-dfffffff ioport:1800(size=8)
If you want more information about the loaded driver, run modinfo
. Output of modinfo i915
:
filename: /lib/modules/2.6.35-24-generic/kernel/drivers/gpu/drm/i915/i915.ko
license: GPL and additional rights
description: Intel Graphics
author: Tungsten Graphics, Inc.
license: GPL and additional rights
... stripped information for saving space ...
depends: drm,drm_kms_helper,video,intel-agp,i2c-algo-bit
vermagic: 2.6.35-24-generic SMP mod_unload modversions
Note that modinfo
works on filenames and aliases, not on module names. The majority of the modules will have the same name for the module name and filename, but there are exceptions. One of them is nvidia
.
Another way of using these commands in order to show you the file name of the driver would be:
modinfo -F filename `lshw -c video | awk '/configuration: driver/{print $2}' | cut -d= -f2`
When loaded, the command lsmod
will show the nvidia
module as loaded. modinfo nvidia
will error out. Why? Because there is no module named "nvidia", it's just an alias. To resolve the alias you can use modprobe --resolve-alias nvidia
. Or to get the whole modinfo in one command:
modinfo $(modprobe --resolve-alias nvidia)
You could use the following command to see the currently used vga kernel driver:
lspci -nnk | grep -i vga -A3 | grep 'in use'
Example output for an ATI / AMD graphic card:
if the open source Radeon driver is used:
Kernel driver in use: radeon
if the proprietary Fglrx driver is used:
Kernel driver in use: fglrx_pci
Complete Output with lspci -nnk | grep -i vga -A3
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI Mobility Radeon HD 2400 [1002:94c9]
Subsystem: Toshiba America Info Systems Device [1179:ff00]
Kernel driver in use: fglrx_pci
Kernel modules: fglrx, radeon
Available kernel modules you can see with lspci -nnk | grep -i vga -A3 | grep 'Kernel modules'
:
Kernel modules: fglrx, radeon
Note: This does not work in every case!
For a SiS 65x/M650/740 PCI/AGP VGA Display Adapter, there is no "Kernel driver in use" line:
lspci -nnk | grep -i vga -A2
01:00.0 VGA compatible controller [0300]: Silicon Integrated Systems [SiS] 65x/M650/740 PCI/AGP VGA Display Adapter [1039:6325]
Subsystem: ASUSTeK Computer Inc. Device [1043:1612]
Kernel modules: sisfb
and the available sisfb
kernel module is not the loaded driver, because lsmod | grep sisfb
has no output (sisfb
is blacklisted). In this case also sudo lshw -c video | grep Konfiguration
does not work. The output is:
Konfiguration: latency=0
without any driver information.
hwinfo --gfxcard
Look for the line starting by " Driver:" You may have to install hwinfo package first.