Hướng dẫn cách kiểm tra GPU nào được cài đặt trên Linux

Xem thêm: Hướng dẫn cách khắc phục phân vùng Recovery bị thiếu trên Windows 11
1. Tại sao bạn cần biết GPU (Card đồ họa) của mình là gì?
Có lẽ bạn đã từng ở trong tình huống này. Bạn được giao nhiệm vụ hỗ trợ một người thân không rành công nghệ hoặc đồng nghiệp, và có điều gì đó mách bảo bạn rằng việc này sẽ không hề dễ dàng. Dù sao, bạn vẫn bắt tay vào giúp đỡ! Bạn nhanh chóng xác định vấn đề có vẻ là do trình điều khiển (driver) màn hình. Này, có lẽ mọi chuyện sẽ không quá tệ! Nhưng rồi tia hy vọng ngắn ngủi của bạn bị dập tắt khi bạn hỏi: “Anh/Chị có loại card đồ họa nào?”
Vẻ mặt “nai tơ đứng giữa đường” mà bạn nhận được nói lên tất cả. Để hỗ trợ một thứ gì đó, bạn cần phải biết nó là gì. Vậy làm thế nào để bạn xác định được card đồ họa trong máy tính Linux?
Hãy giả định tình huống xấu nhất: trình điều khiển cho card đồ họa chưa bao giờ được cài đặt, vì vậy bạn thậm chí không thể xem chúng để tìm manh mối. Điều đó không thành vấn đề! Bạn có thể giải quyết câu đố này bằng dòng lệnh (command line) hoặc thông qua giao diện người dùng đồ họa (GUI).
2. Sử dụng lspci và cơ sở dữ liệu PCI ID để kiểm tra GPU của bạn
Tiêu chuẩn PCI (Peripheral Component Interconnect) là một giao thức phổ biến mà bạn có thể sử dụng để giao tiếp với các thiết bị ngoại vi bên trong, chẳng hạn như card đồ họa. Kho lưu trữ PCI ID (PCI ID Repository) duy trì một cơ sở dữ liệu về tất cả các ID đã biết cho các thiết bị PCI. Điều này có nghĩa là nếu bạn biết một số thông tin về thiết bị, bạn có thể tra cứu nó.
Bạn có thể sử dụng lệnh lspci
để liệt kê các thiết bị PCI được cài đặt trên máy tính Linux, cũng như một số thông tin về chúng.
Sẽ rất tuyệt nếu chúng ta có thể liên kết cơ sở dữ liệu PCI và lệnh lspci
lại với nhau phải không? Vâng, trên thực tế, đó chính xác là những gì xảy ra khi bạn chạy lệnh lspci
. Nó kiểm tra một bản sao cục bộ của cơ sở dữ liệu PCI để xác định các thiết bị PCI mà nó phát hiện. Trước khi bắt đầu, bạn nên cập nhật bản sao cục bộ của cơ sở dữ liệu PCI.
Gõ lệnh update-pciids
để làm điều đó:
sudo update-pciids
Phiên bản cơ sở dữ liệu mới nhất được truy xuất cho chúng ta, và giờ đây chúng ta có thể sử dụng lệnh lspci
. Sẽ có rất nhiều đầu ra, vì vậy chúng ta sẽ chuyển nó qua less
(chương trình phân trang). Tùy chọn -v
(verbose) yêu cầu lspci
cung cấp cho chúng ta càng nhiều thông tin càng tốt. Chúng ta sẽ sử dụng sudo
để đảm bảo thông tin chi tiết nhất có thể.
Chúng ta gõ lệnh của mình như sau:
sudo lspci -v | less
Các kết quả xuất hiện trong less
. Nếu bạn nhấn dấu gạch chéo về phía trước (/), bạn sẽ kích hoạt chức năng tìm kiếm của less
.
Gõ “VGA” bằng chữ in hoa và nhấn Enter.
less
tìm kiếm chuỗi “VGA” và hiển thị các kết quả khớp đầu tiên mà nó tìm thấy. Từ thời điểm đó, bạn có thể cuộn hoặc chuyển trang để xem lspci
đã tìm thấy bao nhiêu card đồ họa.
Ví dụ về kết quả thực tế:
Đây là đầu ra từ máy tính chủ (vật lý):
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]
...
Kernel driver in use: nouveau
Kernel modules: nouveau
Nó đã cung cấp cho chúng ta rất nhiều thông tin tốt ngay lập tức!
Card này là NVIDIA Corporation GP108 [GeForce GT 1030], và sau vài giây tìm kiếm, chúng ta đã tìm thấy trang công nghệ NVIDIA cho thiết bị đó. Văn bản “[VGA controller]“ ở cuối dòng đầu tiên cho biết đây là card đồ họa “đang hoạt động”. Đây là thông tin hữu ích khi có nhiều hơn một card được cài đặt trên máy tính.
3. Sử dụng lệnh lshw để tìm GPU của Bạn
Bạn cũng có thể sử dụng lệnh lshw
để liệt kê các phần cứng được cài đặt trên máy tính Linux. Nó báo cáo nhiều loại, không chỉ riêng phần cứng PCI.
Để yêu cầu nó báo cáo về các card đồ họa mà nó tìm thấy, chúng ta sẽ sử dụng tùy chọn -C
(class – lớp) và truyền tham số “display”. Tùy chọn -numeric
buộc lshw
cung cấp các ID số của thiết bị, cũng như tên của chúng.
Gõ lệnh sau:
sudo lshw -numeric -C display
Đây là những gì lệnh đó tìm thấy trên máy tính vật lý:
*-display
description: VGA compatible controller
product: GP108 [GeForce GT 1030] [10DE:1D01]
vendor: NVIDIA Corporation [10DE]
...
configuration: driver=nouveau latency=0
...
Thật đáng mừng, cả hai lệnh đều tìm thấy cùng một card!
Các định danh [10DE:1D01]
đại diện cho nhà sản xuất (10DE) và mẫu (1D01). Để tìm ra hãng và mẫu ngay lập tức, bạn có thể gõ “graphics card 10de:1d01” vào công cụ tìm kiếm.
4. Lệnh glxinfo
Lệnh glxinfo
là một phương pháp khác mà bạn có thể sử dụng. Nó cung cấp thông tin từ tiện ích mở rộng OpenGL cho hệ thống X Windows. Sau đó, bạn có thể tìm kiếm một số thông tin đó để tìm ra loại card đồ họa được cài đặt trên máy.
Lệnh glxinfo
đã có sẵn trên Manjaro và Fedora, nhưng bạn phải cài đặt nó trên Ubuntu. Để làm như vậy, gõ lệnh sau:
sudo apt-get install mesa-utils
Để chuyển đầu ra từ glxinfo
qua less
, và sử dụng tùy chọn -B
(print IDs), gõ lệnh sau:
glxinfo -B | less
Card đồ họa được mô tả trong dòng “Device” (Thiết bị).
Đây là đầu ra từ máy tính vật lý:
...
Extended renderer info (GLX_MESA_query_renderer):
Vendor: nouveau (0x10de)
Device: NV138 (0x1d01)
...
OpenGL renderer string: NV138
...
Khi bạn gõ “NV138” vào công cụ tìm kiếm, card đồ họa NVIDIA sẽ được xác định ngay lập tức.
5. Sử dụng giao diện đồ họa (GUI) để xác định Card đồ họa
Nếu máy tính là máy chủ chỉ dùng dòng lệnh (CLI-only server), bạn phải sử dụng một trong những kỹ thuật đã đề cập ở phần trước. Tuy nhiên, nếu nó có một Giao diện người dùng đồ họa (GUI) (và đang hoạt động), thì có khả năng bạn có thể xác định card đồ họa bằng hình ảnh. Trên thực tế, tùy chọn đó có thể nằm đâu đó trong công cụ cài đặt desktop Linux của bạn.
Trên môi trường desktop GNOME, hãy mở hộp thoại “Settings“ (Cài đặt) (biểu tượng bánh răng trong menu thả xuống ở góc trên bên phải), sau đó nhấp vào “Details“ (Chi tiết) trong thanh bên. Trong bảng “About“ (Giới thiệu), hãy tìm mục “Graphics“ (Đồ họa). Điều này cho bạn biết loại card đồ họa nào có trong máy tính, hoặc cụ thể hơn, là card đồ họa nào hiện đang được sử dụng. Máy của bạn có thể có nhiều hơn một GPU.
6. Card đồ họa trên máy tính xách tay (Laptops)
Nhiều máy tính xách tay có hai card đồ họa: một từ nhà sản xuất CPU (bộ xử lý trung tâm) và một từ nhà cung cấp GPU chính thống.
Hãy gõ lại lệnh lspci
từ trước, nhưng lần này, chúng ta sẽ chạy nó trên một máy tính xách tay:
sudo lspci -v | less
Đúng như dự đoán, chúng ta nhận được mô tả về các card đồ họa trong máy:
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) (prog-if 00 [VGA controller])
...
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])
...
Kernel driver in use: nouveau
Kernel modules: nouveau
Máy tính xách tay này có cả GPU Intel Core và NVIDIA GeForce 610M. Tuy nhiên, cả hai card đều có chuỗi “[VGA controller]”, thường là dấu hiệu cho biết GPU nào đang được sử dụng.
Không thể cả hai đều đang được sử dụng, vì vậy hãy cố gắng làm cho card từ nhà cung cấp GPU chính thống hoạt động trước. Đó là card mà nhà sản xuất máy tính xách tay coi là mặc định và đưa vào thông số kỹ thuật phần cứng của máy.
Một trong những kỹ thuật chúng ta đã đề cập ở đây chắc chắn sẽ hiệu quả với bạn! Sau khi bạn biết máy tính hoặc máy tính xách tay có loại card đồ họa nào, bạn có thể chọn trình điều khiển đồ họa (graphics driver) thích hợp.
Đây là bảng dịch các lệnh Linux của bạn, được phân loại theo chức năng: