Molti processori Intel come l'i5-7400 hanno gpus integrato, che funziona abbastanza bene con Ubuntu e sistemi Linux simili che utilizzano i driver open source.
Oltre all'IGPU all'interno delle CPU, ci sono anche alcune schede madri che hanno l'IGPU nei loro chipset.
In questo articolo daremo uno sguardo ad alcuni dei comandi che possono essere utilizzati per verificare i dettagli della gpus integrata su sistemi Linux.
Questi comandi dovrebbero funzionare su qualsiasi sistema Linux.
1. Inxi
Il comando inxi e visualizza le informazioni sulla gpu in un formato di facile lettura. I dettagli includono il fornitore della GPU, il modello e il driver in uso.
Ecco l'output da un PC desktop che utilizza la CPU Intel i5-7400.
$ inxi -G Graphics: Device-1: Intel HD Graphics 630 driver: i915 v: kernel Display: x11 server: X.Org 1.20.5 driver: modesetting unloaded: fbdev,vesa resolution: 1920x1080~60Hz OpenGL: renderer: Mesa DRI Intel HD Graphics 630 (Kaby Lake GT2) v: 4.5 Mesa 19.2.8 $
Nell'output sopra la GPU è HD Graphics 630 e il driver utilizzato è i915.
L'output indica anche se una libreria OpenGL è compatibile con il driver e viene utilizzata o meno. Ecco il suo MESA.
Ecco un altro esempio di output da un laptop Acer Swift 3 che gira su CPU Intel i5-1135G7. In realtà ha una igpu Intel Iris Xe.
$ inxi -G Graphics: Device-1: Intel UHD Graphics driver: i915 v: kernel Device-2: Chicony HD User Facing type: USB driver: uvcvideo Display: x11 server: X.Org 1.20.9 driver: modesetting unloaded: fbdev,vesa resolution: 1920x1080 OpenGL: renderer: Mesa Intel Xe Graphics (TGL GT2) v: 4.6 Mesa 20.2.6 $
Come mostrato nell'output sopra, i915 è il driver linux utilizzato per la maggior parte delle GPU Intel.
2. lshw
Il comando successivo è lshw (elenco hardware). È in grado di visualizzare alcune informazioni di base sulla gpu.
Ecco un esempio di output per lo stesso PC desktop in esecuzione su CPU Intel i5-7400.
$ sudo lshw -c display [sudo] password for enlightened: *-display description: VGA compatible controller product: HD Graphics 630 vendor: Intel Corporation physical id: 2 bus info: [email protected]:00:02.0 version: 04 width: 64 bits clock: 33MHz capabilities: pciexpress msi pm vga_controller bus_master cap_list rom configuration: driver=i915 latency=0 resources: irq:131 memory:ee000000-eeffffff memory:d0000000-dfffffff ioport:f000(size=64) memory:c0000-dffff $
La frequenza di clock riportata non è precisa. Riporta solo 33 Mhz molte volte, anche quando la frequenza effettiva è molto più alta
$ sudo lshw -c display *-display description: VGA compatible controller product: UHD Graphics vendor: Intel Corporation physical id: 2 bus info: [email protected]:00:02.0 logical name: /dev/fb0 version: 01 width: 64 bits clock: 33MHz capabilities: pciexpress msi pm vga_controller bus_master cap_list rom fb configuration: depth=32 driver=i915 latency=0 mode=1920x1080 visual=truecolor xres=1920 yres=1080 resources: iomemory:600-5ff iomemory:400-3ff irq:164 memory:601e000000-601effffff memory:4000000000-400fffffff ioport:3000(size=64) memory:c0000-dffff memory:4010000000-4016ffffff memory:4020000000-40ffffffff $
Nell'output del comando lshw non ci sono molte informazioni leggibili sull'hardware.
3. lspci
Ora arriva il nostro buon vecchio comando lspci che ancora una volta può fornire alcuni dettagli di base sulla gpu ma non è molto approfondito.
$ lspci | grep ' VGA ' | cut -d" " -f 1 | xargs -i lspci -v -s {} 00:02.0 VGA compatible controller: Intel Corporation HD Graphics 630 (rev 04) (prog-if 00 [VGA controller]) DeviceName: Onboard IGD Subsystem: Gigabyte Technology Co., Ltd HD Graphics 630 Flags: bus master, fast devsel, latency 0, IRQ 131 Memory at ee000000 (64-bit, non-prefetchable) [size=16M] Memory at d0000000 (64-bit, prefetchable) [size=256M] I/O ports at f000 [size=64] [virtual] Expansion ROM at 000c0000 [disabled] [size=128K] Capabilities: <access denied> Kernel driver in use: i915 Kernel modules: i915 [email protected]:~$
L'output del laptop Acer Swift 3 è il seguente
$ lspci | grep ' VGA ' | cut -d" " -f 1 | xargs -i lspci -v -s {} 0000:00:02.0 VGA compatible controller: Intel Corporation UHD Graphics (rev 01) (prog-if 00 [VGA controller]) Subsystem: Acer Incorporated [ALI] UHD Graphics Flags: bus master, fast devsel, latency 0, IRQ 164, IOMMU group 1 Memory at 601e000000 (64-bit, non-prefetchable) [size=16M] Memory at 4000000000 (64-bit, prefetchable) [size=256M] I/O ports at 3000 [size=64] Expansion ROM at 000c0000 [virtual] [disabled] [size=128K] Capabilities: <access denied> Kernel driver in use: i915 Kernel modules: i915 $
3. intel_gpu_frequency
Questi sono alcuni strumenti a riga di comando specifici di Intel gpu che possono essere utilizzati per sondare informazioni dettagliate sull'hardware.
Prima installa il pacchetto di strumenti Intel gpu
$ sudo apt-get install intel-gpu-tools
Ora esegui il comando intel_gpu_frequency
Questo comando mostrerà la frequenza base e massima della GPU. Per l'Intel HD 630 i numeri sono i seguenti:
$ sudo intel_gpu_frequency cur: 350 MHz min: 350 MHz RP1: 350 MHz max: 1000 MHz [email protected]:~$
4. intel_gpu_top
Il pacchetto degli strumenti intel gpu fornisce un altro utile comando chiamato intel_gpu_top che segnala il carico sulla gpu in tempo reale.
Quindi, se esegui attività ad alta intensità grafica, puoi aspettarti di vedere l'indicatore di utilizzo aumentare.
$ intel_gpu_top intel-gpu-top - 350/ 350 MHz; 0% RC6; 2.32 Watts; 193 irqs/s IMC reads: 625 MiB/s IMC writes: 202 MiB/s ENGINE BUSY MI_SEMA MI_WAIT Render/3D/0 5.53% |███▊ | 0% 0% Blitter/0 0.00% | | 0% 0% Video/0 0.00% | | 0% 0% VideoEnhance/0 0.00% | | 0% 0%
Quando si gioca o si esegue un rendering 3D, l'utilizzo della GPU aumenterà
intel-gpu-top - 1004/1004 MHz; 0% RC6; 16.30 Watts; 15615 irqs/s IMC reads: 5458 MiB/s IMC writes: 7209 MiB/s ENGINE BUSY MI_SEMA MI_WAIT Render/3D/0 99.24% |█████████████████████████████████████████████████████████████████████▍| 0% 0% Blitter/0 0.00% | | 0% 0% Video/0 0.00% | | 0% 0% VideoEnhance/0 0.00% | | 0% 0%
5. glmark2
glmark2 è un'utilità OpenGL generica per misurare le capacità di qualsiasi GPU. Esegue un paio di test e poi esce con un punteggio che indica quanto è potente la GPU.
Prima installa il pacchetto glmark2 se non è già installato.
$ sudo apt-get install glmark2
Il comando glmark2 viene eseguito con una finestra di dimensioni 800x600.
$ glmark2 -s 800x600
[email protected]:~$ glmark2 ======================================================= glmark2 2014.03+git20150611.fa71af2d ======================================================= OpenGL Information GL_VENDOR: Intel Open Source Technology Center GL_RENDERER: Mesa DRI Intel(R) HD Graphics 630 (Kaby Lake GT2) GL_VERSION: 3.0 Mesa 19.2.8 ======================================================= [build] use-vbo=false: FPS: 2959 FrameTime: 0.338 ms [build] use-vbo=true: FPS: 3046 FrameTime: 0.328 ms [texture] texture-filter=nearest: FPS: 2876 FrameTime: 0.348 ms [texture] texture-filter=linear: FPS: 2815 FrameTime: 0.355 ms [texture] texture-filter=mipmap: FPS: 2774 FrameTime: 0.360 ms [shading] shading=gouraud: FPS: 2592 FrameTime: 0.386 ms [shading] shading=blinn-phong-inf: FPS: 2604 FrameTime: 0.384 ms [shading] shading=phong: FPS: 2430 FrameTime: 0.412 ms [shading] shading=cel: FPS: 2354 FrameTime: 0.425 ms [bump] bump-render=high-poly: FPS: 1764 FrameTime: 0.567 ms [bump] bump-render=normals: FPS: 3007 FrameTime: 0.333 ms [bump] bump-render=height: FPS: 2947 FrameTime: 0.339 ms [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 1773 FrameTime: 0.564 ms [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 1025 FrameTime: 0.976 ms [pulsar] light=false:quads=5:texture=false: FPS: 2724 FrameTime: 0.367 ms [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 1038 FrameTime: 0.963 ms [desktop] effect=shadow:windows=4: FPS: 1807 FrameTime: 0.553 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 883 FrameTime: 1.133 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 750 FrameTime: 1.333 ms [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 967 FrameTime: 1.034 ms [ideas] speed=duration: FPS: 1851 FrameTime: 0.540 ms [jellyfish] <default>: FPS: 1853 FrameTime: 0.540 ms [terrain] <default>: FPS: 249 FrameTime: 4.016 ms [shadow] <default>: FPS: 1893 FrameTime: 0.528 ms [refract] <default>: FPS: 557 FrameTime: 1.795 ms [conditionals] fragment-steps=0:vertex-steps=0: FPS: 2428 FrameTime: 0.412 ms [conditionals] fragment-steps=5:vertex-steps=0: FPS: 2487 FrameTime: 0.402 ms [conditionals] fragment-steps=0:vertex-steps=5: FPS: 2403 FrameTime: 0.416 ms [function] fragment-complexity=low:fragment-steps=5: FPS: 2405 FrameTime: 0.416 ms [function] fragment-complexity=medium:fragment-steps=5: FPS: 2473 FrameTime: 0.404 ms [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 2407 FrameTime: 0.415 ms [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 2411 FrameTime: 0.415 ms [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 2436 FrameTime: 0.411 ms ======================================================= glmark2 Score: 2090 ======================================================= [email protected]:~$
Tieni presente che il punteggio di glmark dipende dalle dimensioni dello schermo di visualizzazione e dalla visibilità dello schermo.
Se la risoluzione è diversa, ad esempio 1024x768 o se è nascosta sotto qualche altra finestra, il punteggio sarà molto diverso.
Guarda i nostri altri post su glmark per saperne di più sui test della gpu su Linux:
Test benchmark GPU di Intel HD Graphics 630 utilizzando glmark2
Prestazioni benchmark della scheda grafica (GPU) su Linux con glmark
Conclusione
Questi erano alcuni dei comandi di base utilizzati per raccogliere informazioni sulle schede grafiche Intel e gpus su qualsiasi sistema durante l'esecuzione di Ubuntu o distribuzioni Linux simili.
Se hai intenzione di eseguire giochi sull'installazione di Linux, conoscere le capacità della gpu può essere abbastanza utile. Anche altre cose come gli effetti desktop e i compositori hanno bisogno di gpus per funzionare correttamente.
Per qualsiasi altra domanda e feedback, faccelo sapere nei commenti qui sotto.