ฉันจะตรวจสอบว่าการ์ดแสดงผลใดที่ใช้แสดงผลได้อย่างไร


9

ระบบได้รับการติดตั้งด้วยหนึ่งในข้อเสนอของ Intel / ATI แบบผสมผสาน (muxless) หลังจากเล่นซอๆไปกับการตั้งค่าเคอร์เนลและไดร์เวอร์ฉันก็ใช้งานการ์ดทั้งสองได้ฉันคิดว่า (เพิ่ม radeon.dpm = 1 ในการตั้งค่าเคอร์เนลและใช้เฉพาะไดรเวอร์โอเพนซอร์ส)

อย่างไรก็ตามฉันไม่สามารถทราบได้ว่าการ์ดใดที่ระบบใช้อยู่ จากความเข้าใจของฉันกับเคอร์เนลที่ใหม่กว่า (3.12) amd การจัดการพลังงานแบบไดนามิกจะทำให้พลังงาน / การ์ดเพิ่มขึ้นเมื่อจำเป็นดังนั้นในทางทฤษฎีแล้วมันควรจะใช้ hd4000 ในตัวเป็นส่วนใหญ่ แต่ฉันไม่สามารถหาวิธีที่ง่าย เพื่อตรวจสอบว่ามีการใช้งานใดอยู่

lspci | grep VGA แสดงเฉพาะบัตรทั้งหมด แต่ไม่ได้ระบุว่าบัตรใบใดที่ใช้อยู่ในปัจจุบัน

การบังคับทิศทางในทิศทางที่ถูกต้องมีความชื่นชม

ระบบ

Debian 7 เสถียร, เคอร์เนล 3.12 amd64 7670M AMD + Intel HD4000

คำตอบ:


3

xrandr

การใช้xrandrจะแสดงการ์ดที่พร้อมใช้งาน

$ 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

ในระบบนี้ฉันมีการ์ดกราฟิก 1 ตัวซึ่งเป็น Intel ซึ่งมี 2 พอร์ต (เอาต์พุต) คุณสามารถดูผลลัพธ์ด้วยxrandrดังนี้:

$ 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)

เอาต์พุต 2 ช่องคือ VGA1 (พอร์ตภายนอก VGA) และ LVDS1 (จอ LCD บนแล็ปท็อป)

lshw

สุดท้ายคุณสามารถใช้lshwเพื่อค้นหาข้อมูลเพิ่มเติมเกี่ยวกับข้อมูลกราฟิกการ์ดจริง:

$ 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)

วิธีตรวจสอบว่า GPU ใดกำลังขับรถซึ่งจอภาพ

เพื่อให้งานนี้สำเร็จคุณจะต้องใช้รายชื่อผู้ให้บริการและจดบันทึกหมายเลขของผู้ให้บริการจากxrandr --listprovidersคำสั่ง หมายเลขนี้คือหมายเลขอุปกรณ์ xrandr -qก็มักจะเท่าของจำนวนเดียวกับที่กำหนดพร้อมกับหน้าจอในการส่งออกของ

ดังนั้นหนึ่งสามารถสร้าง GPU "อุปกรณ์" ที่หลวมกำลังขับหน้าจอที่ ในตัวอย่างของฉัน "ผู้ให้บริการ 0" กำลังขับรถ "หน้าจอ 0"

หมายเหตุ:คำว่า "หน้าจอ" ไม่จำเป็นต้องตรงกับหน้าจอเดียว ในสถานการณ์ของฉัน GPU ของฉันสามารถขับ 2 เอาต์พุต, LVDS1 และ VGA1 แต่วิธีการนี้จะช่วยให้คุณสามารถตัดสินใจได้อย่างมั่นใจค่อนข้างสูงว่าการแสดงผลใดที่ขับเคลื่อนด้วย GPU ตัวใด

การเชื่อมโยงข้างต้นถูกควบคุมผ่านการตั้งค่าระบบดังนั้นจึงมีความเป็นไปได้ที่มันอาจทำให้คุณเข้าใจผิด ตัวอย่างเช่นความสัมพันธ์ข้างต้นมาจากการตั้งค่าที่มักจะมีลักษณะเช่นนี้:

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

ดังนั้นจึงมีความเป็นไปได้ว่าระบบถูกติดตั้งด้วยการถูกผลักดันสิ่งอื่นที่ไม่ใช่Screen0Device0

อ้างอิง


ฉันไม่มีเครื่องมัลติ - จีพีเอสที่จะทำการทดสอบ แต่เท่าที่ฉันสามารถบอกได้ไม่มีคำสั่งใด ๆ ที่คุณเสนอให้ระบุว่าไดรฟ์ GPU ตัวใดที่จอภาพ
Gilles 'ดังนั้น - หยุดความชั่วร้าย'

@Gilles - จริงพวกเขาไม่ได้ออกมาและระบุว่ามันจริง แต่พวกเขาจะแสดงให้เห็นว่าอุปกรณ์ที่เกี่ยวข้องกับหน้าจอที่กำหนด (เช่นแสดง)
slm

คุณยังไม่ได้อธิบายถึงวิธีการเชื่อมโยง GPU กับจอภาพ (อย่างน้อยก็ในกรณีทั่วไปที่ไม่มีXorg.conf) ข้อมูลอาจจะอยู่ในบันทึกของ Xorg ถ้าไม่มีที่อื่น (และอาจเป็นที่อื่น แต่ฉันไม่มีประสบการณ์เกี่ยวกับเรื่องนั้น)
Gilles 'หยุดความชั่วร้าย'

@Gilles - อืม ผู้ให้บริการ "ผู้ให้บริการ 0" คือ GPU # 0 ไดรฟ์ GPU นั้นแสดงว่าเชื่อมโยงเป็น "หน้าจอ 0" ฉันไม่ได้อธิบายอย่างชัดเจนหรือไม่?
slm

แต่คุณจะรู้ได้อย่างไรว่าผู้ให้บริการรายใดขับเคลื่อนหน้าจอใด
Gilles 'หยุดความชั่วร้าย'

2

glxinfoซึ่งสามารถใช้ได้ในmesa-utilsสามารถนำมาใช้เพื่อการแสดงผลที่การ์ดแสดงผลที่ใช้สำหรับกราฟิก OpenGL

ตัวอย่างเช่น:

➜  ~  glxinfo | grep "OpenGL renderer string"
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.