Linux Find Out Graphics Card Installed In My System - nixCraft

Linux Find Out Graphics Card Installed In My System

I am a new Linux system user and Ubuntu Linux. I do not want to open up the computer hardware to just see the make and model of the graphics card in a system. How do I find out which graphics card installed in my Linux desktop or laptop system?

You do not have to open the hardware, desktop, laptop computer powered by Linux to see the make and model of the graphics card in a system. There is a direct method provided by using lspci and other commands on Linux to get hardware information. You need to use the following commands to find out graphics cards in Linux using the CLI and GUI methods:
Tutorial details
Difficulty level Easy
Root privileges Yes
Requirements Linux
Est. reading time 6 mintues
  1. lspci command
  2. lshw command
  3. grep command
  4. update-pciids command
  5. GUI tools such as hardinfo and gnome-system-information command.

Linux Find Out Graphics Card Information

First you need to update the PCI ID database.

Download the latest version of the PCI ID list

Grab the current version of the pci.ids file from the Internet:
$ sudo update-pciids
# update-pciids
Sample outputs:

[sudo] password for vivek: 
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  259k  100  259k    0     0  54946      0  0:00:04  0:00:04 --:--:-- 55497

How to check graphics card on Linux

Type the following lspci command. It will usually tell you the vendor and model of your card. Open the Terminal/xterminal or shell prompt and type the command:
$ lspci
$ lspci -v
$ lspci -v | less

Sample outputs:

00:01.0 PCI bridge: Broadcom BCM5785 [HT1000] PCI/PCI-X Bridge
00:02.0 Host bridge: Broadcom BCM5785 [HT1000] Legacy South Bridge
00:02.1 IDE interface: Broadcom BCM5785 [HT1000] IDE
00:02.2 ISA bridge: Broadcom BCM5785 [HT1000] LPC
00:03.0 USB Controller: Broadcom BCM5785 [HT1000] USB (rev 01)
00:03.1 USB Controller: Broadcom BCM5785 [HT1000] USB (rev 01)
00:03.2 USB Controller: Broadcom BCM5785 [HT1000] USB (rev 01)
00:05.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
01:0d.0 PCI bridge: Broadcom BCM5785 [HT1000] PCI/PCI-X Bridge (rev b2)
01:0e.0 RAID bus controller: Broadcom BCM5785 [HT1000] SATA (Native SATA Mode)
02:03.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet (rev 10)
02:03.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet (rev 10)

Look for video controller / vga / 3D keywords in above output listing. Please note that if you do not see your card, try updating pci database. It is a good idea to run update-pciids command to fetches the current version of the pci.ids file from the primary distribution site and installs it. You must run update-pciids command as root user:
$ sudo update-pciids
# update-pciids

Example: Find out the model of my graphics card on my Laptop powered by Linux

Type the following lspci command along with grep command or egrep command:
$ lspci | grep -i --color 'vga\|3d\|2d'
## using egrep ##
$ lspci -v | egrep -i --color 'vga|3d|2d'

Sample outputs:

01:00.0 VGA compatible controller: NVIDIA Corporation GK104GLM [Quadro K5000M] (rev a1)

Please note the device ID # 01:00.0. Now, to get detailed information, enter:
$ sudo lspci -v -s 01:00.0
Sample outputs:

Fig.01: lspci in action – displaying my Dell laptop Nvidia graphics card info

How to get the GPU info on Linux using GUI tools

Need to identify the Graphics Processing Unit (GPU) in a Linux system using GUI tools? Try the following commands.

Hardware information GUI tool

Under Ubuntu or any other Linux distribution, open hardware information GUI tool by clicking on:
System > Preferences > Hardware information
Sample outputs:

Fig.02 Linux Hardware Information GUI Tool

On Gnome 3 based distro open settings and click on the details and choose About:

hardinfo – System Information GUI tool

You can install hardinfo with yum command or apt-get command:
$ sudo apt-get install hardinfo
Run it as follows:
$ hardinfo
Sample outputs:

Fig.03 Check graphics card on Linux with hardinfo command

lshw command

The lshw command provides detailed information on the hardware configuration of the machine. You can install it with yum or apt-get command:
# lshw -short
# lshw -short | grep -i --color display

Sample outputs:

/0/100/1/0                   display        GK104GLM [Quadro K5000M]

OR get detailed information:
# lshw -class display
Sample outputs:

       description: VGA compatible controller
       product: GK104GLM [Quadro K5000M]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: irq:16 memory:f5000000-f5ffffff memory:e0000000-efffffff memory:f0000000-f1ffffff ioport:e000(size=128) memory:f6000000-f607ffff

A note about Nvidia GPU users with Nvidia binary drivers

Just type the following command to get detailed information about NVIDIA GPU card:
$ nvidia-smi
Sample outputs:

Mon Jan 13 04:08:34 2014       
| NVIDIA-SMI 5.319.32   Driver Version: 319.32         |                       
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|   0  Quadro K5000M       Off  | 0000:01:00.0      On |                  N/A |
| N/A   41C    P8    N/A /  N/A |       64MB /  4095MB |      0%      Default |
| Compute processes:                                               GPU Memory |
|  GPU       PID  Process name                                     Usage      |
|  No running compute processes found                                         |

We can use GUI tool called nvidia-settings. It is a tool for configuring the NVIDIA graphics driver and give informaion. It operates by communicating with the NVIDIA X driver, querying and updating state as appropriate. This communiction is done via the X extensions. For example, open the terminal app and then type:
$ nvidia-settings

Linux Find Out GPU Information Using the glxinfo

Run the following glxinfo command on Linux to find GPU name, vendor, video card RAM size and more:
$ glxinfo -B

Finding graphics cards on Linux Laptops

Many laptops have two GPUs like integrated Intel and dedicated Nvidia/AMD card. In any case you need to use the lspci command as follows:
sudo lspci -v | more
sudo lspci -v | most
sudo lspci -v | grep -i vga

00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (Mobile) (rev 02) (prog-if 00 [VGA controller])
01:00.0 VGA compatible controller: NVIDIA Corporation TU117M [GeForce GTX 1650 Mobile / Max-Q] (rev a1) (prog-if 00 [VGA controller])
	Bus: primary=05, secondary=2d, subordinate=51, sec-latency=0

So I have Hybrid-graphics. It is nothing but two graphics cards on same computer. Typically Laptop comes with two graphic cards with different power consumptions on a single system. In this case I have both Intel and Nvidia GPUs. In such case I can select card using the prime-select command:
prime-select intel
prime-select nvidia
prime-select on-demand
prime-select query

See lspci command man page here for more info and read NVIDIA Optimus and Bumblebee for details about NVidia using hybrid graphics with NVidia’s proprietary driver here.


This page listed various Linux commands to find out graphics card (GPU) using the command line options. Once you know about GPUa desktop or laptop computer has, you can install the correct driver on Linux.

🐧 Get the latest tutorials on Linux, Open Source & DevOps via

RSS feed ➔    Weekly email newsletter ➔

CategoryList of Unix and Linux commands
Download managerswget
Documentationhelp mandb man pinfo
Disk space analyzersdf duf ncdu pydf
File Managementcat cp less mkdir more tree
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Linux Desktop appsSkype Spotify VLC 3
Modern utilitiesbat exa
Network UtilitiesNetHogs dig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg glances gtop iotop jobs killall kill pidof pstree pwdx time vtop
Searchingag grep whereis which
Shell builtinscompgen echo printf
Text processingcut rev
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
32 comments… add one
  • Steph Apr 25, 2007 @ 5:03

    great :-)
    it’s work also for AGP bus ? (like “lsagp” )

  • DayOldPorridge Jan 12, 2009 @ 22:48

    Awesome. Just what I needed.

  • Dhana Mar 23, 2009 @ 7:21

    Hi frds im new in ubuntu os. Any one tell me which tv tuner card is suitable for ubuntu 8.04 version and also plz tell me the installation steps for drivers software

    Adavance thanks!..

  • Carr Apr 8, 2009 @ 9:27

    Great – thanks for the help!

  • isa May 9, 2009 @ 6:47

    That System>Preferences>Hardware Information tool looks nifty… how do I install it?

    I looked, and didn’t see it on my menu :(

    I am running Jaunty Jackalope 64 bit

    In the mean time, I did an lspci and found out this though:

    01:00.0 VGA compatible controller: ATI Technologies Inc RV770 [Radeon HD 4870]

    Now, where would I find a linux driver for that card?

    (Why do I hear a deafening roar on “The friggin ATI website ya moron!”? OK, ok, I’ll look their, ok? LoL…)

  • isa May 9, 2009 @ 7:48

    OK, so I went there and DL’d the driver, which was a .run file.

    Now I can’t get it to work!

    What to do?

  • isa May 9, 2009 @ 8:05

    I double clicked on the package and got this:

    Then I changed the character coding to Western (ISO-8859-15):

    …without success :(

    • 🐧 nixCraft May 9, 2009 @ 8:28

      First, read installation notes . Next, try command to download and start installer:
      cd /tmp
      chmod +x

      Note above is 64 bit driver. If you are using 32bit Linux os, download 32bit driver.

  • isa May 9, 2009 @ 9:35

    It says:

    Uninstalling the ATI Linux Proprietary Driver
    Uninstalling the ATI Linux Proprietary Driver is dependent on the mode of the
    initial installation.
    Package Generation
    If the initial installation of the driver was done via the Operating Systems package
    management software (RPM, APT, etc.) then please use that package management
    software to remove the ATI Proprietary Linux Driver.

    Here’s a Q…

    I opened up the Synaptic Package Manager and searched for the string:
    ATI Linux Proprietary Driver

    I came across so many items, it was nauseating! I am too scared to touch anything other than that specific string… And I can’t find it :”(

    So, what would it be called exactly? I mean, am I indeed looking for the correct string in the first place???

  • isa May 9, 2009 @ 13:31


    I got some more help from elsewhere.

    Anyone else that wishes to learn how I installed my driver, please read Legace‘s post.

  • isa May 9, 2009 @ 13:32

    That link again…

    Mods can please merge the posts, and delete the gibberish a href code I mismanaged.

    Thank you

  • gishaust Jun 3, 2009 @ 5:34

    thanks just what i need

  • Hadi Jun 25, 2009 @ 20:43

    just testing.

  • AO Jun 28, 2009 @ 16:36

    Good one. Just what I needed.

  • gsk Jul 2, 2009 @ 12:46

    I have a Pinnacle Tv tuner 110i card on PCI and working with windows, but ubuntu does not recognise nor reads CD supplied with it. How to install this Tv tuner?

  • theGuyOnThePC Oct 25, 2009 @ 16:58

    Excellent! Now why can’t this be done under windows? They call it “plug n’ play”…

  • aghaei Jan 10, 2010 @ 4:47

    how can video adapter installes in linux 5?

  • theorist Feb 6, 2010 @ 4:40

    i got output of lspci in terminal of ubuntu 9.10 as this
    VGA compatible controller: Intel Corporation 82Q963/Q965 Integrated Graphics Controller (rev 02)

    now how do is this also installed the same way as ati card is intalled or do i have to something different.?

  • theorist Feb 6, 2010 @ 5:04

    i wanted to install 3d desktop on ubuntu 9.10. and i found a “how to” which only spoke of ati.

  • jay Jul 16, 2010 @ 15:15

    i have a via chrome video chrome9 hc and i couldnt find the driver for it. i tryed many things but it didnt work. is there anyone who could help here?!

  • CH SANTHOSH Sep 28, 2010 @ 4:47

    These are extraordinary things

  • Ayokongmag-Pakilala Dec 22, 2010 @ 1:06

    Hi. What I’m using Puppy linux? I’ve tried to input the commands you provided here but it didn’t work :(

  • Andre Apr 10, 2014 @ 7:10

    THX Master, helped me out a lot!

  • Charnita Fance May 31, 2014 @ 6:41

    Thanks!!! This page is extremely helpful. Hardinfo is just what I needed :)

  • Stephane Sep 8, 2015 @ 12:17

    My Laptop has an Intel GPU (Battery last longer) and A dedicate GPU(for games).
    When I installed Puppy, it detect the Intel GPU so when I run Puppy whitout plugging the laptop, it works well. When I start my laptop and this one is connect, then the dedicate GPU works and I am not able to see a good image into Puppy Linux… How Puppy can manage or auto detect both GPU???

  • José Jan 28, 2016 @ 1:59

    $ lspci | grep -i --color 'vga|3d|2d'

    I should use “egrep” instead simple grep :

    $ lspci | egrep -i --color 'vga|3D|2D'

  • John Costello Nov 2, 2016 @ 10:28

    On linux mint I found I had to escape the pipe characters, so this:

    $ lspci | grep -i --color 'vga|3d|2d'

    becomes this:

    lspci | grep -i --color 'vga\|3d\|2d'

  • Christopher Jan 8, 2021 @ 20:32

    This was useful to find out GPU card on my Linux mint. I am using an older System 76 laptop that is given to me my brother-in-law. He got a newer model. So far I am loving it.

  • sean Feb 20, 2021 @ 16:32

    Awesome – thanks!

  • Jos Feb 26, 2021 @ 14:43

    How to get a river for the GPU and running full supported in Linux?

    intel@intel-desktop:~$ glxinfo -B

    name of display: :0
    display: :0  screen: 0
    direct rendering: Yes
    Extended renderer info (GLX_MESA_query_renderer):
        Vendor: Intel Open Source Technology Center (0x8086)
        Device: Mesa DRI Intel(R) G45/G43 (ELK) (0x2e22)
        Version: 21.1.0
        Accelerated: yes
        Video memory: 1536MB
        Unified memory: yes
        Preferred profile: compat (0x2)
        Max core profile version: 0.0
        Max compat profile version: 2.1
        Max GLES1 profile version: 1.1
        Max GLES[23] profile version: 2.0
    OpenGL vendor string: Intel Open Source Technology Center
    OpenGL renderer string: Mesa DRI Intel(R) G45/G43 (ELK)
    OpenGL version string: 2.1 Mesa 21.1.0-devel (git-b44c48f 2021-02-26 focal-oibaf-ppa)
    OpenGL shading language version string: 1.20
    OpenGL ES profile version string: OpenGL ES 2.0 Mesa 21.1.0-devel (git-b44c48f 2021-02-26 focal-oibaf-ppa)
    OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16
  • Tristram Simon Apr 10, 2021 @ 8:29

    I was looking how to check what graphics card I have in Linux and this page most useful to get accurate information. Thank you.

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre> for code samples. Still have questions? Post it on our forum