Làm thế nào để kiểm tra thông tin của trình điều khiển video được cài đặt hiện tại?


67

Việc sử dụng CPU của tôi cao khi tôi làm những việc nhỏ nhặt như cuộn qua tệp PDF. Vì vậy, tôi nghĩ rằng trình điều khiển video của tôi không được cài đặt đúng.

Tôi muốn xác nhận rằng bằng cách kiểm tra thông tin của trình điều khiển video hiện đang cài đặt của mình, chẳng hạn như nếu có trình điều khiển được cài đặt và đó là phiên bản nào. Sau đó, tôi có thể quyết định có cài đặt một cái mới hay không nếu nó không cập nhật.

Trên Windows, tôi có thể sử dụng trình quản lý thiết bị, làm thế nào để làm điều đó trên Ubuntu Linux? Tôi không mong đợi một giải pháp GUI cho việc này. Dòng lệnh sẽ chỉ đủ tốt.


Câu trả lời:


70

Trong Linux, có hai phần cho trình điều khiển video, phần kernel và phần máy chủ X.

  1. Trước tiên hãy xác định phần cứng của bạn. Bằng cách nhập lspci | grep VGAvào một thiết bị đầu cuối, bạn sẽ thấy một dòng với mô tả thẻ đồ họa của bạn (ngay cả khi không được cấu hình).
  2. Hãy kiểm tra trình điều khiển kernel chính xác đã được tải find /dev -group video.
  3. Hãy kiểm tra trình điều khiển X chính xác đã được tải glxinfo | grep -i vendor.

Nếu bạn muốn được trợ giúp thêm, tôi muốn kết quả của các lệnh sau: ( Hãy nhớ, không bao giờ tin tưởng dòng lệnh mà mọi người yêu cầu bạn thực hiện mà không biết nó làm gì. )

lspci | grep VGA
lsmod | grep "kms\|drm"
find /dev -group video
cat /proc/cmdline
find /etc/modprobe.d/
cat /etc/modprobe.d/*kms*
ls /etc/X11/xorg.conf
glxinfo | grep -i "vendor\|rendering"
grep LoadModule /var/log/Xorg.0.log

1
Đây có phải là một phần của mô hình trình điều khiển video linux?
smwikipedia

4
Nếu bạn sao chép-dán 4 dòng cuối cùng trong một thiết bị đầu cuối và thêm kết quả vào cuối câu hỏi của bạn (chỉnh sửa), việc trả lời câu hỏi của bạn sẽ dễ dàng hơn. Nhưng hãy nhớ không thực hiện các lệnh không đáng tin cậy . Có lẽ một số người dùng đáng tin cậy stackoverflow có thể bằng chứng đọc chúng và thừa nhận trong các bình luận.
shellholic

5
Nếu glxinfolệnh không có sẵn, hãy chạy sudo apt-get install mesa-utils.
JJD

1
grep VGAsẽ không luôn luôn hiển thị tất cả các thiết bị.
Phi công6

Cảm ơn đã nhắc nhở mọi người không thực hiện một cách mù quáng các lệnh họ tìm thấy trực tuyến.
bartgol

25

Cách dễ nhất là chạy

lspci -k | grep -EA3 'VGA|3D|Display'

Thí dụ:

00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06)
    Subsystem: ASUSTeK Computer Inc. HD Graphics 530
    Kernel driver in use: i915
    Kernel modules: i915
--
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 950M] (rev a2)
    Subsystem: ASUSTeK Computer Inc. GM107M [GeForce GTX 950M]
    Kernel driver in use: nvidia
    Kernel modules: nvidiafb, nouveau, nvidia_375_drm, nvidia_375

Lệnh này sẽ hiển thị tất cả các thiết bị PCI video và các mô-đun hạt nhân được cài đặt và sử dụng.

Chỉ VGAkhông đủ tốt, bởi vì bộ điều hợp di động Nvidia được hiển thị 3Dvà một số bộ điều hợp AMD được hiển thị dưới dạng Display.


19

Tôi sử dụng lệnh này để xem Xorg hiện đang sử dụng cái gì:

egrep -i " connected|card detect|primary dev|Setting driver" /var/log/Xorg.0.log

7

Đây là một giải pháp dễ dàng hơn, sử dụng GUI thay vì dòng lệnh. trên màn hình Ubuntu, chọn:

Cài đặt hệ thống > Phần mềm và cập nhật (ở dưới cùng) -> Trình điều khiển khác (tab bên phải nhất).

Đây là danh sách thông tin trình điều khiển video của bạn. thông tin trình điều khiển video của tôi


3

Tôi đang chạy Ubuntu 10.04 64bit ở đây. Đây là những gì tôi phát hiện ra:

lspci sẽ cung cấp cho bạn một danh sách các thiết bị được tìm thấy. Thông thường card màn hình được liệt kê là "Bộ điều khiển VGA" hoặc somesuch, trên hệ thống của tôi có ghi:

01:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 9800 GTX] (rev a2)

Nếu bạn có nghĩa là trình điều khiển video của X.org, hãy xem /etc/X11/xorg.conf và tìm Trình điều khiển trong Phần "Thiết bị" (có thể có nhiều):

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 9800 GTX/9800 GTX+"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 9800 GTX/9800 GTX+"
    BusID          "PCI:1:0:0"
    Screen          1
EndSection

Nếu bạn cần tìm ra vị trí cụ thể của tệp trình điều khiển và phiên bản X.org đang sử dụng, hãy thử cat /var/log/Xorg.0.log và tìm dòng có nội dung như Trình điều khiển LoadModule "'trong phần Thiết bị của xorg.conf ' , trong trường hợp của tôi:

(II) LoadModule: "nvidia"
(II) Loading /usr/lib/xorg/extra-modules/nvidia_drv.so
(II) Module nvidia: vendor="NVIDIA Corporation"
    compiled for 4.0.2, module version = 1.0.0
    Module class: X.Org Video Driver
(II) NVIDIA dlloader X Driver  195.36.24  Thu Apr 22 19:18:54 PDT 2010
(II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
(II) Primary Device is: PCI 01@00:00:0

4
Câu trả lời này chỉ áp dụng cho các distro cũ. Các phiên bản mới hơn dường như đã rời khỏi xorg.conf
spuder

1
Tôi đang ở trên 12.04 và xorg.conf dường như không tồn tại, chỉ có xorg.conf.failsafe và xorg.conf.backup.
Aditya MP

X.org tự động thăm dò mọi thứ trong những ngày này vì vậy không có tệp cấu hình xorg.conf (trừ khi bạn đã thực hiện một cách rõ ràng). * Tuy nhiên, phần kiểm tra nhật ký máy chủ X vẫn hoàn toàn hợp lệ:less /var/log/Xorg.0.log
Stephan Henningsen

2

Điều này sẽ làm việc với bất kỳ hệ điều hành giống như unix.

Đầu tiên để liệt kê tất cả các thiết bị PCI, hãy chạy:

lspci -nn

-nncờ cho biết lspciđể hiển thị mã nhà cung cấp và thiết bị PCI dưới dạng cả số và tên.

00:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD/ATI] RS400 Host Bridge [1002:5a33] (rev 01)
00:02.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD/ATI] RS4xx PCI Express Port [ext gfx] [1002:5a34]
00:11.0 IDE interface [0101]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB400 Serial ATA Controller [1002:437a] (rev 80)
00:12.0 IDE interface [0101]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB4x0 Serial ATA Controller [1002:4379] (rev 80)
00:13.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB4x0 USB Host Controller [1002:4375] (rev 80)
00:13.2 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB4x0 USB2 Host Controller [1002:4373] (rev 80)
00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB4x0 SMBus Controller [1002:4372] (rev 81)
00:14.1 IDE interface [0101]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB4x0 IDE Controller [1002:4376] (rev 80)
00:14.2 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB4x0 High Definition Audio Controller [1002:437b] (rev 01)
00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB4x0 PCI-PCI Bridge [1002:4371] (rev 80)
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation G96 [GeForce 9500 GT] [10de:0640] (rev a1)
02:02.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8100/8101L/8139 PCI Fast Ethernet Adapter [10ec:8139] (rev 10)

Ở đây trong trường hợp của tôi, đó là:

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation G96 [GeForce 9500 GT] [10de:0640] (rev a1)

Cuối cùng chạy

sudo lspci -vvv -d 10de:0640

sudo-vvvlàm cho nó dài dòng hơn và giúp hiển thị mọi thứ mà nó có thể phân tích được. -ddành cho thiết bị ở định dạng[<vendor>]:[<device>]

Lệnh cuối cùng sẽ liệt kê tất cả các khả năng có thể và trình điều khiển kernel đang sử dụng.


2
-klà hữu ích hơn -nntrong trường hợp này.
Pilot6

1

Đối với trình điều khiển nvidia ít nhất, tôi thường sử dụng lệnh sau trong thiết bị đầu cuối:

cat /proc/driver/nvidia/version

Mà sẽ xuất ra một cái gì đó tương tự như sau:

NVRM version: NVIDIA UNIX x86_64 Kernel Module  346.96  Sun Aug 23 22:29:21 PDT 2015

1
Nó nói,No such file or directory
opu 웃
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.