Graphics processing units - GPU
You need to find out the correct model and vendor of the graphics card on your system, to be able to install the appropriate drivers and get the hardware to function properly. Most modern linux distros can detect variety of graphics card, but do not always have the best driver for it.
So if you have an external graphics card like Nvidia or Ati, then you need to find the model name/number and then lookup further details online. Ofcourse, its easier if you have the hardware manual that came along when you purchased the computer. But here we shall be using commands to find out the same information.
The are only a few commands to learn. First one is lscpi and here is a quick example showing how to fetch details about graphics unit (also called vga card or video card).
$ lspci -vnn | grep VGA -A 12 00:02.0 VGA compatible controller : Intel Corporation 82G35 Express Integrated Graphics Controller [8086:2982] (rev 03) (prog-if 00 [VGA controller]) Subsystem: Intel Corporation Device [8086:d701] Flags: bus master, fast devsel, latency 0, IRQ 44 Memory at e0200000 (32-bit, non-prefetchable) [size=1M] Memory at d0000000 (64-bit, prefetchable) [size=256M] I/O ports at 2440 [size=8] Expansion ROM at <unassigned> [disabled] Capabilities: <access denied> Kernel driver in use: i915
The first line has the nae of the vendor, the model name/series and the pci id.
VGA compatible controller : Intel Corporation 82G35 Express Integrated Graphics Controller [8086:2982]
Note the numbers in the bracket - 8086:2982. Such a number is present for almost all graphics card. The first part (8086) indicates the vendor id (which is Intel here) and the second number (2982) indicates the pci id, which indicates the model of the graphics unit.
Now you can search google for more details using the Vendor name and the pci id.
The lshw command can also be used to get the above information.
$ lshw -numeric -C display WARNING: you should run this program as super-user. *-display:0 description: VGA compatible controller product: 82G35 Express Integrated Graphics Controller [8086:2982] vendor: Intel Corporation  physical id: 2 bus info: [email protected]:00:02.0 version: 03 width: 64 bits clock: 33MHz capabilities: vga_controller bus_master cap_list rom configuration: driver=i915 latency=0 resources: irq:44 memory:e0200000-e02fffff memory:d0000000-dfffffff ioport:2440(size=8)
The pci details is indicated in the same way. The active device driver is also listed in the "configuration" line.
Here is a sample output from a system having an nvidia geforce 210 graphics card.
$ lspci -vnn | grep VGA -A 12 01:00.0 VGA compatible controller : NVIDIA Corporation GT218 [GeForce 210] [10de:0a65] (rev a2) (prog-if 00 [VGA controller]) .....
Integrated chipsets vs dedicated gpus
For dedicated units like nvidia or ati, you can easily search online for the model number or pci id. The specifications and other details would be available on the vendor's website.
However for integrated graphics chipsets like Intel GMA, you may not get sufficient details by just searching the series name (82G35 over here) or pci id. The series covers many similar models, while the pci id might not be documented on the website.
In that case, lookup the motherboard model and find its specifications. Vendors publish product specification documents for every motherboard model they manufacture. These contain technical details about the hardware.
To find your motherboard model, use dmidecode or inxi command.
$ sudo dmidecode -t baseboard | grep -i 'Product' Product Name: DG35EC
$ inxi -M Machine: Mobo: Intel model: DG35EC version: AAE29266-210 Bios: Intel version: ECG3510M.86A.0112.2009.0203.1136 date: 02/03/2009
The above output shows that its a "Intel DG35EC" motherboard. Google up for that model to find the product specifiation document, and look for Video/Graphics information in it.
Check hardware acceleration
With hardware based 3d acceleration, applications that need to draw 3d graphics can use the hardware directly to process and generate the graphics, speeding up 3d rendering significantly. For this, the graphics card must support hardware acceleration and the correct drivers must be installed on the system to use this feature.
The 3d processing functions provided by the hardware adhere to the OpenGL specifications, and with the right hardware, applications can access them through the opengl api. OpenGL just defines the functions and the implementation is done inside the hardware which makes it very fast.
However there are libraries like MESA that implement the opengl functions entirely inside software. So it is possible to render graphics using opengl without actually having an opengl compatible gpu. So by checking the opengl rendering library, we can find out if hardware acceleration is present or not.
Check the glxinfo command output for OpenGL details
$ glxinfo | grep OpenGL OpenGL vendor string: Intel Open Source Technology Center OpenGL renderer string: Mesa DRI Intel(R) 965G OpenGL version string: 2.1 Mesa 10.1.0 OpenGL shading language version string: 1.20 OpenGL extensions:
The "OpenGL renderer string" points to MESA libraries which means that 3d rendering is being handled entirely inside software. This is going to be slow and games would not work well.
The output on a machine with dedicated nvidia geforce 200 graphics card looks like this
$ glxinfo | grep OpenGL OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce 210/PCIe/SSE2 OpenGL core profile version string: 3.3.0 NVIDIA 331.20 OpenGL core profile shading language version string: 3.30 NVIDIA via Cg compiler OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 3.3.0 NVIDIA 331.20 OpenGL shading language version string: 3.30 NVIDIA via Cg compiler
Note the line
OpenGL renderer string: GeForce 210/PCIe/SSE2
So the OpenGL renderer is GeForce, which is the nvidia proprietory driver. This indicates the hardware based 3d acceleration is available. So graphics performance would be good.
How can I disable the dedicated amd GPU it is consuming a lot of power?
is it a laptop or a desktop ?
My issue is during booting time and after entering laptop password i keep getting screen flashing multiple time, which is annoying to me. my laptop model is Lenovo e570. I think i am having driver issue or my screen size is not available in the Ubuntu settings. i need help
There are a few ways to get information about your graphics card on Linux. One way is to use the lspci command. This command will show you all of the PCI devices on your system. To get information about your graphics card, you can use the -v flag with the lspci command. This will show you your graphics card’s vendor, device, and subsystem IDs.
You were be clear and concise. And you clarify me many points that I have unconnected until now.
Thanks for Sharing Keep it up
This is something useful I am looking for, Thanks for this in-depth guide…
How do I make my amd graphics card as default? As in I should see it as the default graphics card in settings -> about. (I’m using Ubuntu 18.04)
So there is no easy one step way any more to grep out card info, you have to look at the entire lspci or other info output, then find the ones that are at busid .0, which is what sgfxi and inxi now do.
How did you Installed Radeon on ArchLinux ? I have RX 5700 XT and I think I didn’t installed it well
Good info. Lucky me I recently found your site by chance (stumbleupon). I’ve saved it for later!
same. i got this site
Okay, Finally I got some good step by step guide on it. Thanks
bash: lshw: command not found
but other command workings, thank u very much
I am using Ubuntu, is these same commands can work on my Ubuntu system too?
The actual performance of a GPU both depends on the internal architecture and the way the displaying purpose is done. A GPU normally has multiple cores, each doted with L1 and sometimes L2 cache. A GPU chip is capable of both integer and floating point execution.
If you are a windows user then you will just install an additional softeare like nvedia and get all info. Also you can see all information in your task manager.
Linixu os is difficult for me. I am a windows user, I just download software to check GPU information and it shows me all details about GPU.
Bruh! Can you please make a guide for windows? How can we get the info about Installed GPU on windows?
Thanks in Advance
The dedicated graphics card is not showing the details, I am only able to get the details of the integrated card, can anyone guide me how can I get the details of dedicated card as well?
Nice information to find out if the card is using acceleration or not, but what when it doesn’t? My Intel GPU does not, so what do I do now? I was hoping to find help in this article but obviously I was wrong.
I tried command glxinfo | grep OpenGL and it is case sensitive. It doesn’t work when you write opengl in lowercase. I’m using linux mint 19.1.
There are two types of drivers you can install to get your graphics cards working, namely proprietary drivers or open source. While there are good and bad aspects to both, they differ if you’re using a Nvidia or AMD graphics card.
I’m not able to get information about my dedicated graphics card. It’s only showing information about my integrated card. Does this mean that the dedicated card is not inserted properly?
Does it work with all linux variants or flavors?
Good info also inxiDev lspci does display more details about the manufacturer though like the OP showed:
1a:00.0 VGA compatible controller : Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/580] [1002:67df] (rev e7) (prog-if 00 [VGA controller])
Subsystem: Gigabyte Technology Co., Ltd Device [1458:22f1]
Yеs! Ϝinally somеtһing aƅoսt update vidmate.
Hi there, how i can determine which is the Total MB of the GPU ???
Because with lspci, the maximum says is 256M, not matter if the GPU using have 2GB or more.
bash: lshw: command not found
apt-get install lshw
You have to install lshw first
The graphic card id method you are showing is legacy, as I discovered recently with inxi and sgfxi, they started failing to report cards because they were relying on the VGA detection method, but in fact, there are now 3 different syntaxes being used to identify cards, and you cannot simply grep for them because the syntaxes are used either as a second feature of the card, like 3D controller, or Display Controller, OR those are being used to identify a real card. The only way to determine which it is is to also then check the pci bus id, and if it ends in .0, it’s a real graphic card. sgfxi had dual card detection which was failing because of this issue, it took a few user data sets to figure out and debug the issue. VGA always works, but will only return cards using the VGA id method, and it will miss all cards, often things like intel onboard cards.
Graphics: Card: NVIDIA GT218 [GeForce 210] bus-ID: 02:00.0 chip-ID: 10de:0a65
Display Server: X.Org 1.14.4 driver: nvidia Resolution: 1280×[email protected], 1280×[email protected]
GLX Renderer: GeForce 210/PCIe/SSE2/3DNOW! GLX Version: 3.3.0 NVIDIA 337.12 Direct Rendering: Yes
The last item, Direct Rendering, generally shows if the video driver is working, by the way. I don’t remember which release of inxi fixed this bug, but it’s certainly fixed now, in 2.1.20. I didn’t personally have a system that used alternate syntax for primary card id, but by good fortune I did have systems that showed the problem with the busID, for example, you can have a busid of 02.01.1 which is NOT a card, but just the 3D controller identifier for a VGA id’ed card at 02.01.0 . I have no idea who or what made this change, all I know is it happened sometime in the past 2 or 3 years. Obviously as well, VGA is a legacy term in the first place, which is I think why they moved to other terms. So there is no easy one step way any more to grep out card info, you have to look at the entire lspci or other info output, then find the ones that are at busid .0, which is what sgfxi and inxi now do.
Your inxi review recently was good by the way, I liked it, thanks.
There are a few ways to get information about your graphics card on Linux. One way is to use the lspci command. This command will show you all of the PCI devices on your system. To see information about your graphics card, you can run the following command:
lspci -v | grep VGA
This will show you information such as the name of your graphics card, the driver that is being used, and other details about your graphics card.