Πώς να ελέγξετε ποια GPU είναι εγκατεστημένη στο Linux

Θέλετε να προσδιορίσετε τη Μονάδα Επεξεργασίας Γραφικών (GPU) σε έναν υπολογιστή Linux; Δείτε πώς μπορείτε να αναγνωρίσετε την κάρτα γραφικών από τη γραμμή εντολών και στο GNOME.

Το πρώτο βήμα

Μάλλον έχεις πάει εκεί. Έχετε κληθεί να παρέχετε υποστήριξη σε έναν συγγενή ή συνάδελφο που δεν είναι τεχνικός και κάτι σας λέει ότι αυτό δεν θα είναι ανώδυνο. Παρόλα αυτά, μπαίνεις! Γρήγορα προσδιορίζετε ότι το πρόβλημα είναι πιθανόν πρόβλημα προγράμματος οδήγησης οθόνης. Γεια, αυτό μπορεί να μην είναι τόσο κακό τελικά! Αλλά τότε το βραχύβιο τρεμόπαιγμα της ελπίδας σας σβήνει όταν ρωτάτε, “Τι είδους κάρτα γραφικών έχετε;”

Η έκφραση “ελάφι στους προβολείς” που λαμβάνετε ως απόκριση λέει πολλά. Για να υποστηρίξεις κάτι, πρέπει να ξέρεις τι είναι. Πώς λοιπόν αναγνωρίζετε την κάρτα γραφικών σε έναν υπολογιστή Linux;

Ας υποθέσουμε το χειρότερο σενάριο και ας πούμε ότι τα προγράμματα οδήγησης για την κάρτα γραφικών δεν εγκαταστάθηκαν ποτέ, επομένως δεν μπορείτε καν να τα δείτε για να πάρετε μια ιδέα. Δεν πειράζει! Μπορείτε να λύσετε αυτό το αίνιγμα είτε από τη γραμμή εντολών είτε μέσω του γραφικό περιβάλλον διεπαφής χρήστη (GUI).

lspci και τη βάση δεδομένων PCI ID

ο Διασύνδεση περιφερειακών εξαρτημάτων Το πρότυπο (PCI) είναι ένα κοινό πρωτόκολλο που μπορείτε να χρησιμοποιήσετε για να μιλήσετε με εσωτερικά περιφερειακά, όπως κάρτες γραφικών. ο Αποθετήριο PCI ID διατηρεί μια βάση δεδομένων με όλα τα γνωστά αναγνωριστικά για συσκευές PCI. Αυτό σημαίνει ότι εάν γνωρίζετε κάποιες πληροφορίες για τη συσκευή, μπορείτε να τις αναζητήσετε.

Μπορείτε να χρησιμοποιήσετε την εντολή lspci για να παραθέσετε το Συσκευές PCI εγκατεστημένες σε υπολογιστή Linux, καθώς και κάποιες πληροφορίες για αυτές.

Δεν θα ήταν υπέροχο αν μπορούσαμε να συνδέσουμε τη βάση δεδομένων PCI και την εντολή lspci μεταξύ τους; Λοιπόν, στην πραγματικότητα, αυτό ακριβώς συμβαίνει όταν εκτελείτε την εντολή lspci. Ελέγχει ένα τοπικό αντίγραφο της βάσης δεδομένων PCI για να αναγνωρίσει τις συσκευές PCI που εντοπίζει. Πριν ξεκινήσουμε, είναι συνετό να ενημερώσετε το τοπικό αντίγραφο της βάσης δεδομένων PCI.

Πληκτρολογήστε την εντολή update-pciids να κάνει ακριβώς αυτό:

sudo update-pciids

ο

Η πιο πρόσφατη έκδοση της βάσης δεδομένων ανακτήθηκε για εμάς και τώρα μπορούμε να χρησιμοποιήσουμε την εντολή lspci. Θα υπάρχει πολλή έξοδος, οπότε θα τη διοχετεύσουμε σε λιγότερα. Η επιλογή -v (verbose) λέει στο lscpi να μας δώσει όσες περισσότερες πληροφορίες μπορεί. Θα χρησιμοποιήσουμε το sudo για να διασφαλίσουμε ότι οι πληροφορίες είναι όσο το δυνατόν πιο λεπτομερείς.

  7 βασικές εφαρμογές Linux που κάθε χρήστης πρέπει να εγκαταστήσει

Πληκτρολογούμε την εντολή μας ως εξής:

sudo lspci -v | less

ο

Τα αποτελέσματα εμφανίζονται σε λιγότερα. Εάν πατήσετε την κάθετο προς τα εμπρός (/), ενεργοποιείτε τη λειτουργία λιγότερης αναζήτησης.

Πληκτρολογήστε “VGA” με όλα τα κεφαλαία και πατήστε Enter.

Τύπος

λιγότερη αναζήτηση για τη συμβολοσειρά, “VGA”, και σας δείχνει τις πρώτες αντιστοιχίσεις που βρίσκει. Από εκείνο το σημείο, μπορείτε να κάνετε κύλιση ή σελίδα προς τα εμπρός για να δείτε πόσες κάρτες γραφικών βρέθηκαν lspci.

Αποτελέσματα αναζήτησης για

Για αυτό το άρθρο, πραγματοποιήσαμε την έρευνά μας σχετικά με μια ποικιλία διανομών Linux που εκτελούνται VirtualBox εικονικές μηχανές. Οι εικονικές μηχανές, φυσικά, έχουν εικονικές κάρτες γραφικών.

Έτσι, μπορείτε να δείτε ένα παράδειγμα αποτελεσμάτων πραγματικού κόσμου, εδώ είναι η έξοδος από τον κεντρικό (φυσικό) υπολογιστή:

26:00.0 VGA compatible controller: NVIDIA Corporation GP108 [GeForce GT 1030] (rev a1) (prog-if 00 [VGA controller])
Subsystem: Gigabyte Technology Co., Ltd GP108 [GeForce GT 1030]
Flags: bus master, fast devsel, latency 0, IRQ 97
Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
Memory at e0000000 (64-bit, prefetchable) [size=256M]
Memory at f0000000 (64-bit, prefetchable) [size=32M]
I/O ports at e000 [size=128]
Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Legacy Endpoint, MSI 00
Capabilities: [100] Virtual Channel
Capabilities: [250] Latency Tolerance Reporting
Capabilities: [128] Power Budgeting >
Capabilities: [420] Advanced Error Reporting
Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 >
Capabilities: [900] Secondary PCI Express >
Kernel driver in use: nouveau
Kernel modules: nouveau

Μας έδωσε πάρα πολλές καλές πληροφορίες αμέσως!

Η κάρτα είναι GP108 της NVIDIA Corporation [GeForce GT 1030], και, μετά από λίγα δευτερόλεπτα με μια μηχανή αναζήτησης, βρήκαμε το Τεχνική σελίδα NVIDIA για αυτήν τη συσκευή. Ο “[VGA controller]Το κείμενο στο τέλος της πρώτης γραμμής υποδεικνύει ότι αυτή είναι η “λειτουργική” κάρτα γραφικών. Αυτές είναι χρήσιμες πληροφορίες όταν είναι εγκατεστημένες περισσότερες από μία κάρτες σε έναν υπολογιστή.

Η εντολή lshw

Μπορείτε επίσης να χρησιμοποιήσετε την εντολή lshw για να παραθέσετε το υλικό που είναι εγκατεστημένο σε έναν υπολογιστή Linux. Αναφέρει επίσης διάφορους τύπους—όχι μόνο υλικό PCI.

Για να του πούμε να κάνει αναφορά για τις κάρτες γραφικών που βρίσκει, θα χρησιμοποιήσουμε την επιλογή -C (class) και θα περάσουμε τον τροποποιητή “display”. Η επιλογή -numeric αναγκάζει το lshw να παρέχει τα αριθμητικά αναγνωριστικά των συσκευών, καθώς και τα ονόματά τους.

Πληκτρολογήστε τα εξής:

sudo lshw -numeric -C display

ο

Δείτε τι βρήκε αυτή η εντολή στον φυσικό υπολογιστή:

 *-display 
   description: VGA compatible controller
   product: GP108 [GeForce GT 1030] [10DE:1D01]
   vendor: NVIDIA Corporation [10DE]
   physical id: 0
   bus info: [email protected]:26:00.0
   version: a1
   width: 64 bits
   clock: 33MHz
   capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
   configuration: driver=nouveau latency=0
   resources: irq:97 memory:f6000000-f6ffffff memory:e0000000-efffffff memory:f0000000-f1ffffff ioport:e000(size=128) memory:c0000-dffff

Ενθαρρυντικά, και οι δύο βρήκαν την ίδια κάρτα!

  Πώς να χρησιμοποιήσετε την τελευταία εντολή στο Linux

ο [10DE:1D01] Τα αναγνωριστικά αντιπροσωπεύουν τον κατασκευαστή (10DE) και το μοντέλο (1D01). Για να βρείτε αμέσως τη μάρκα και το μοντέλο, θα μπορούσατε να πληκτρολογήσετε “κάρτα γραφικών 10de:1d01” σε μια μηχανή αναζήτησης.

Η εντολή glxinfo

Η εντολή glxinfo είναι μια άλλη μέθοδος που μπορείτε να χρησιμοποιήσετε. Σας δίνει πληροφορίες από το Επέκταση OpenGL για το σύστημα X Windows. Στη συνέχεια, μπορείτε να αναζητήσετε μερικές από αυτές τις πληροφορίες για να μάθετε τι είδους κάρτα γραφικών είναι εγκατεστημένη σε ένα μηχάνημα.

Η εντολή glxinfo υπάρχει ήδη στο Manjaro και στο Fedora, αλλά πρέπει να την εγκαταστήσετε στο Ubuntu. Για να το κάνετε αυτό, πληκτρολογήστε την ακόλουθη εντολή:

sudo apt-get install mesa-utils

ο

Για να διοχετεύσετε την έξοδο από το glxinfo μέσω λιγότερων και να χρησιμοποιήσετε την επιλογή -B (εκτύπωση αναγνωριστικών), πληκτρολογήστε τα εξής:

glxinfo -B | less

ο

Η κάρτα γραφικών περιγράφεται στη γραμμή «Συσκευή».

Η γραμμή συσκευής που επισημαίνεται στην έξοδο από το

Αυτή είναι η έξοδος από τον φυσικό υπολογιστή:

name of display: :1
display: :1 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: nouveau (0x10de)
Device: NV138 (0x1d01)
Version: 19.3.2
Accelerated: yes
Video memory: 1987MB
Unified memory: no
Preferred profile: core (0x1)
Max core profile version: 4.3
Max compat profile version: 4.3
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
OpenGL vendor string: nouveau
OpenGL renderer string: NV138
OpenGL core profile version string: 4.3 (Core Profile) Mesa 19.3.2
OpenGL core profile shading language version string: 4.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.3 (Compatibility Profile) Mesa 19.3.2
OpenGL shading language version string: 4.30
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 19.3.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

Όταν πληκτρολογείτε “NV138” σε μια μηχανή αναζήτησης, η κάρτα γραφικών NVIDIA αναγνωρίζεται αμέσως.

Χρήση του GUI για την αναγνώριση της κάρτας γραφικών

Εάν ο υπολογιστής είναι διακομιστής μόνο CLI, πρέπει να χρησιμοποιήσετε μία από τις τεχνικές που καλύψαμε παραπάνω. Ωστόσο, εάν έχει ένα (λειτουργικό) γραφικό περιβάλλον, είναι πιθανό να υπάρχει ένας γραφικός τρόπος με τον οποίο μπορείτε να αναγνωρίσετε την κάρτα γραφικών. Στην πραγματικότητα, αυτή η επιλογή βρίσκεται πιθανώς κάπου στα εργαλεία ρυθμίσεων του Linux desktop.

Σε μια επιφάνεια εργασίας GNOME, ανοίξτε το παράθυρο διαλόγου “Ρυθμίσεις” και, στη συνέχεια, κάντε κλικ στο “Λεπτομέρειες” στην πλαϊνή γραμμή. Στον πίνακα “Πληροφορίες”, αναζητήστε μια καταχώρηση “Γραφικά”. Αυτό σας λέει τι είδους κάρτα γραφικών υπάρχει στον υπολογιστή ή, πιο συγκεκριμένα, η κάρτα γραφικών που χρησιμοποιείται αυτήν τη στιγμή. Το μηχάνημά σας μπορεί να έχει περισσότερες από μία GPU.

  Πώς να παίξετε το Crusader Kings II στο Linux

Οι ρυθμίσεις του GNOME

Στην καρτέλα “Σχετικά” με τις Ρυθμίσεις GNOME από έναν φυσικό κεντρικό υπολογιστή, λαμβάνουμε το ίδιο αναγνωριστικό κάρτας “NV138” που είδαμε νωρίτερα. Και πάλι, μπορούμε να συνδέσουμε αυτές τις πληροφορίες σε μια μηχανή αναζήτησης για να βρούμε τον τύπο της κάρτας.

Οι ρυθμίσεις του GNOME

Κάρτες γραφικών σε φορητούς υπολογιστές

Πολλοί φορητοί υπολογιστές έχουν δύο κάρτες γραφικών: μία από τον κατασκευαστή του κεντρική μονάδα επεξεργασίας (CPU) και ένα από έναν κύριο πάροχο GPU.

Ας πληκτρολογήσουμε την ίδια εντολή lspci από νωρίτερα, αλλά αυτή τη φορά, θα την εκτελέσουμε σε φορητό υπολογιστή:

sudo lspci -v | less

Όπως αναμενόταν, λαμβάνουμε μια περιγραφή των καρτών γραφικών στο μηχάνημα:

00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) (prog-if 00 [VGA controller])
Subsystem: ASUSTeK Computer Inc. 3rd Gen Core processor Graphics Controller
Flags: bus master, fast devsel, latency 0, IRQ 33
Memory at f7400000 (64-bit, non-prefetchable) [size=4M]
Memory at d0000000 (64-bit, prefetchable) [size=256M]
I/O ports at f000 [size=64]
[virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [d0] Power Management version 2
Capabilities: [a4] PCI Advanced Features
Kernel driver in use: i915
Kernel modules: i915

01:00.0 VGA compatible controller: NVIDIA Corporation GF119M [GeForce 610M] (rev a1) (prog-if 00 [VGA controller])
Subsystem: ASUSTeK Computer Inc. GF119M [GeForce 610M]
Flags: bus master, fast devsel, latency 0, IRQ 34
Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
Memory at e0000000 (64-bit, prefetchable) [size=128M]
Memory at e8000000 (64-bit, prefetchable) [size=32M]
I/O ports at e000 [size=128]
Expansion ROM at f7000000 [disabled] [size=512K]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Endpoint, MSI 00
Capabilities: [b4] Vendor Specific Information: Len=14 >
Capabilities: [100] Virtual Channel
Capabilities: [128] Power Budgeting >
Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 >
Kernel driver in use: nouveau
Kernel modules: nouveau

Αυτός ο φορητός υπολογιστής διαθέτει και τα δύο Intel Core GPU και ένα NVIDIA GeForce 610M. Ωστόσο, και οι δύο κάρτες έχουν το “[VGA controller]συμβολοσειρά “, η οποία συνήθως υποδεικνύει ποια GPU χρησιμοποιείται.

Δεν μπορούν να χρησιμοποιούνται και τα δύο, επομένως προσπαθήστε να λάβετε πρώτα την κάρτα από τον κύριο πάροχο GPU που λειτουργεί. Αυτό είναι αυτό που ο κατασκευαστής φορητού υπολογιστή θεωρεί ως προεπιλογή και περιλαμβάνει στις προδιαγραφές υλικού για το μηχάνημα.

Μία από τις τεχνικές που έχουμε καλύψει εδώ είναι βέβαιο ότι θα λειτουργήσει για εσάς! Αφού μάθετε ποιον τύπο κάρτας γραφικών έχει ένας υπολογιστής ή φορητός υπολογιστής, μπορείτε να επιλέξετε το κατάλληλο πρόγραμμα οδήγησης γραφικών.