Làm thế nào để kiểm tra card đồ họa nào đang lái màn hình của tôi?


9

Hệ thống được thiết lập với một trong những sản phẩm Intel / ATI lai (muxless). Sau một chút lo lắng với các cài đặt kernel và trình điều khiển tôi đã làm cho cả hai thẻ hoạt động, tôi nghĩ (thêm radeon.dpm = 1 trong cài đặt kernel và chỉ sử dụng trình điều khiển mã nguồn mở).

Tuy nhiên tôi không thể tìm ra thẻ nào mà hệ thống đang sử dụng. Theo hiểu biết của tôi với hạt nhân mới hơn (3.12), quản lý năng lượng amd sẽ tắt / mở nguồn thẻ khi cần, vì vậy về mặt lý thuyết, nó nên sử dụng hd4000 tích hợp trong hầu hết thời gian, tuy nhiên tôi không thể tìm thấy một cách dễ dàng để kiểm tra cái nào đang được sử dụng

lspci | grep VGA chỉ liệt kê tất cả các thẻ, nó không chỉ định thẻ nào hiện đang được sử dụng.

Một số chỉ đạo đúng hướng đánh giá cao nhiều.

Hệ thống

Debian 7 ổn định, 3.12 amd64 Kernel 7670M AMD + Intel HD4000

Câu trả lời:


2

xrandr

Sử dụng xrandrsẽ cho bạn thấy những thẻ có sẵn.

$ xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x49 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 2 outputs: 8 associated providers: 0 name:Intel

Trên hệ thống này, tôi có 1 card đồ họa, một Intel, có 2 cổng (đầu ra). Bạn có thể thấy các kết quả đầu ra xrandrnhư vậy:

$ xrandr -q
Screen 0: minimum 320 x 200, current 3360 x 1080, maximum 8192 x 8192
LVDS1 connected primary 1440x900+0+0 (normal left inverted right x axis y axis) 303mm x 190mm
   1440x900       60.0*+   50.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
VGA1 connected 1920x1080+1440+0 (normal left inverted right x axis y axis) 521mm x 293mm
   1920x1080      60.0*+
   1680x1050      60.0  
   1280x1024      75.0     60.0  
   1440x900       59.9  
   1280x960       60.0  
   1152x864       75.0  
   1024x768       75.1     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        75.0     72.8     66.7     60.0  
   720x400        70.1  
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)

Hai đầu ra là VGA1 (cổng ngoài VGA) và LVDS1 (màn hình LCD trên máy tính xách tay).

lshw

Cuối cùng, bạn có thể sử dụng lshwđể tìm hiểu thêm thông tin về thông tin card đồ họa thực tế:

$ sudo lshw -numeric -c video
  *-display               
       description: VGA compatible controller
       product: Core Processor Integrated Graphics Controller [8086:46]
       vendor: Intel Corporation [8086]
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 02
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:41 memory:f2000000-f23fffff memory:d0000000-dfffffff ioport:1800(size=8)

Cách xác định GPU nào đang lái màn hình nào

Để hoàn thành nhiệm vụ này, bạn cần lấy danh sách các nhà cung cấp và ghi chú số của họ từ xrandr --listproviderslệnh. Số này là số thiết bị. Nó thường nhân với cùng một số được gán cùng với màn hình ở đầu ra xrandr -q.

Vì vậy, người ta có thể xây dựng một cách lỏng lẻo "thiết bị" GPU nào đang lái màn hình nào. Trong ví dụ của tôi "Nhà cung cấp 0" đang lái "Màn hình 0".

LƯU Ý: Thuật ngữ "Màn hình" không nhất thiết phải tương ứng với một màn hình. Trong kịch bản của tôi, GPU của tôi có thể điều khiển 2 đầu ra, LVDS1 và VGA1. Nhưng phương pháp này cho phép bạn đưa ra quyết định với độ tin cậy khá cao về việc màn hình nào được điều khiển bởi GPU nào.

Các hiệp hội trên được kiểm soát thông qua thiết lập của hệ thống để có khả năng nó có thể đánh lừa bạn. Ví dụ: liên kết trên được điều khiển từ một thiết lập thường trông như thế này:

Section "Screen"
    Identifier  "Screen0"
    Device      "Device0"
EndSection
Section "Screen"
    Identifier  "Screen1"
    Device      "Device1"
EndSection

Vì vậy, có khả năng hệ thống đã được thiết lập với Screen0việc được điều khiển một cái gì đó khác hơn Device0.

Người giới thiệu


Tôi không có máy đa GPU để thử nghiệm, nhưng theo như tôi có thể nói, không có lệnh nào bạn đề xuất chỉ ra ổ đĩa GPU nào giám sát.
Gilles 'SO- ngừng trở nên xấu xa'

@Gilles - đúng là họ không xuất hiện và thực sự nói rõ nhưng họ chỉ ra cách một thiết bị được liên kết với một màn hình nhất định (tức là hiển thị).
slm

Bạn vẫn không giải thích làm thế nào để liên kết GPU với màn hình (ít nhất là trong trường hợp phổ biến là không có Xorg.conf). Thông tin có thể có trong nhật ký Xorg nếu không ở đâu khác (và có thể ở nơi khác nhưng tôi không có kinh nghiệm về điều đó).
Gilles 'SO- ngừng trở nên xấu xa'

@Gilles - hmm. Nhà cung cấp "Nhà cung cấp 0" là GPU # 0. Các ổ đĩa GPU đó hiển thị được liên kết là "Màn hình 0". Tôi đã không giải thích rõ ràng?
slm

Nhưng làm thế nào để bạn biết nhà cung cấp ổ đĩa màn hình nào?
Gilles 'SO- ngừng trở nên xấu xa'

2

Có thể sử dụng glxinfocái có sẵn mesa-utilsđể hiển thị bộ điều hợp video nào được sử dụng cho đồ họa OpenGL.

Ví dụ:

➜  ~  glxinfo | grep "OpenGL renderer string"
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile
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.