ฉันจะค้นหาไดรเวอร์วิดีโอที่ใช้งานอยู่ในระบบของฉันได้อย่างไร


190

ฉันต้องการลองใช้โปรแกรมควบคุมการแสดงผลวิดีโออื่น แต่ฉันไม่แน่ใจว่ากำลังใช้อันไหนอยู่

วิธีง่ายๆในการดูว่าระบบของฉันใช้ไดรเวอร์อะไรในปัจจุบัน

คำตอบ:


182

เรียกใช้lshw -c videoและค้นหาบรรทัดที่มี "การกำหนดค่า" ไดรเวอร์ที่โหลดจะนำหน้าด้วย "driver =" ตัวอย่างผลลัพธ์:

  *-แสดง
       คำอธิบาย: ตัวควบคุมที่รองรับ VGA
       ผลิตภัณฑ์: Core Processor Integrated Graphics Controller
       ผู้จัดจำหน่าย: Intel Corporation
       รหัสทางกายภาพ: 2
       ข้อมูลรถบัส: pci @ 0000: 00: 02.0
       รุ่น: 02
       ความกว้าง: 64 บิต
       นาฬิกา: 33MHz
       ขีดความสามารถ: vga_controller bus_master cap_list rom
       การกำหนดค่า: ไดรเวอร์ = i915 latency = 0
       ทรัพยากร: irq: 45 หน่วยความจำ: หน่วยความจำ fd000000-fd3fffff: d0000000-dfffffff ioport: 1800 (ขนาด = 8)

modinfoหากท่านต้องการข้อมูลเพิ่มเติมเกี่ยวกับการขับรถโหลดทำงาน ผลลัพธ์ของmodinfo i915:

filename:       /lib/modules/2.6.35-24-generic/kernel/drivers/gpu/drm/i915/i915.ko
license:        GPL and additional rights
description:    Intel Graphics
author:         Tungsten Graphics, Inc.
license:        GPL and additional rights
... stripped information for saving space ...
depends:        drm,drm_kms_helper,video,intel-agp,i2c-algo-bit
vermagic:       2.6.35-24-generic SMP mod_unload modversions 

โปรดทราบว่าใช้modinfoงานได้กับชื่อไฟล์และชื่อแทนไม่ใช่ในชื่อโมดูล โมดูลส่วนใหญ่จะมีชื่อเดียวกันสำหรับชื่อโมดูลและชื่อไฟล์ แต่มีข้อยกเว้น nvidiaหนึ่งในนั้นคือ

อีกวิธีในการใช้คำสั่งเหล่านี้เพื่อแสดงชื่อไฟล์ของไดรเวอร์คือ:

modinfo -F filename `lshw -c video | awk '/configuration: driver/{print $2}' | cut -d= -f2`

เมื่อโหลดแล้วคำสั่งlsmodจะแสดงnvidiaโมดูลขณะโหลด modinfo nvidiaจะผิดพลาด ทำไม? เนื่องจากไม่มีโมดูลชื่อ "nvidia" เป็นเพียงนามแฝง ในการแก้ไขนามแฝงที่คุณสามารถmodprobe --resolve-alias nvidiaใช้ได้ หรือเพื่อรับ modinfo ทั้งหมดในหนึ่งคำสั่ง:

modinfo $(modprobe --resolve-alias nvidia)

1
ขอบคุณ - คุณรู้หรือไม่ว่ามีวิธีการจับคู่สตริงมันให้กลับไปที่ฐานข้อมูล (หรือรายการ ฯลฯ ) ที่ให้คำอธิบายที่ยาวขึ้น?
belacqua

3
modinfo nvidia_currentไม่ได้ผลสำหรับฉัน แต่lshw -c videoจะแสดงรายละเอียดไดรเวอร์ให้ฉันเป็น nvidia
Ubuntuser

1
แล็ปท็อปของฉันมีการ์ดวิดีโอสองอัน ได้แก่ การ์ด Intel ในตัวและ Radeon HD 6xxx การ์ดทั้งสองใบมีไดรเวอร์ แต่นั่นไม่ได้บอกฉันว่า X11 ใช้อันไหนจริงหรือ
naught101

3
@ naught101 ค้นหา/var/log/Xorg.0.logเพื่อค้นพบ การ์ดที่ใช้งานอยู่จะถูกทำเครื่องหมายด้วยดาว: `(-) PCI: * (0: 0: 2: 0) ... '
Lekensteyn

3
เมื่อฉันเรียกใช้sudo lshw -c videoบรรทัดสำหรับ "การกำหนดค่า" จะระบุว่า "latency = 0" และไม่มีรายการใด ๆ สำหรับไดรเวอร์ ฉันติดตั้งไดรเวอร์ของ Intel อีกครั้งสำเร็จหลายครั้งโดยมีการบูตเครื่องใหม่และไม่ว่าอะไรก็ตาม lshw จะไม่แสดงข้อมูลไดรเวอร์ใด ๆ
ely

85

คุณสามารถใช้คำสั่งต่อไปนี้เพื่อดูไดรเวอร์เคอร์เนล vga ที่ใช้อยู่ในปัจจุบัน:

lspci -nnk | grep -i vga -A3 | grep 'in use'

ตัวอย่างเอาต์พุตสำหรับกราฟิกการ์ด ATI / AMD:

  • ถ้ามาเปิดRadeonคนขับถูกนำมาใช้:

    Kernel driver in use: radeon
    
  • ถ้าใช้ไดรเวอร์Fglrx ที่เป็นกรรมสิทธิ์:

    Kernel driver in use: fglrx_pci
    

เอาท์พุทที่สมบูรณ์ด้วย lspci -nnk | grep -i vga -A3

01:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI Mobility Radeon HD 2400 [1002:94c9]
    Subsystem: Toshiba America Info Systems Device [1179:ff00]
    Kernel driver in use: fglrx_pci
    Kernel modules: fglrx, radeon

โมดูลเคอร์เนลที่มีให้คุณเห็นด้วยlspci -nnk | grep -i vga -A3 | grep 'Kernel modules':

Kernel modules: fglrx, radeon

หมายเหตุ:วิธีนี้ใช้ไม่ได้ในทุกกรณี!

สำหรับอะแดปเตอร์ดิสเพลย์แสดงผล PCI / AGP VGA SiS 65x / M650 / 740 ไม่มีบรรทัด "ไดรเวอร์เคอร์เนลที่ใช้งานอยู่":

lspci -nnk | grep -i vga -A2
01:00.0 VGA compatible controller [0300]: Silicon Integrated Systems [SiS] 65x/M650/740 PCI/AGP VGA Display Adapter [1039:6325]
    Subsystem: ASUSTeK Computer Inc. Device [1043:1612]
    Kernel modules: sisfb

และsisfbโมดูลเคอร์เนลที่มีอยู่ไม่ใช่ไดรเวอร์ที่โหลดเพราะlsmod | grep sisfbไม่มีเอาต์พุต ( sisfbถูกขึ้นบัญชีดำ) ในกรณีนี้ยังsudo lshw -c video | grep Konfigurationไม่ทำงาน ผลลัพธ์คือ:

   Konfiguration: latency=0

ไม่มีข้อมูลไดรเวอร์


4
+1 สำหรับการแก้ปัญหาด้วยเครื่องมือ 'มาตรฐาน' linux (ทำงานได้อย่างสมบูรณ์บน fedora ที่นี่)
4 ระดับ

1
ถ้าฉันเห็นin useทั้ง i915 และ Nouveau ล่ะ ฉันจะรู้ได้อย่างไรว่า X อันไหนที่ใช้?
akostadinov

+1 ฉันกำลังพยายามใช้ชื่อโปรแกรมควบคุมวิดีโอบนระบบlubuntu : lspci | grepให้ฉันไปที่นั่น lshwเสนอโดย Lekensteyn ในขณะที่กำลังทำงานอยู่บนอูบุนตูล้มเหลวในการตรวจสอบชื่อไฟล์โมดูลบนLubuntu
Antonio Molinaro

3

ฉันได้ลองหลายวิธีโดยไม่ประสบความสำเร็จ แต่สิ่งนี้ได้ผลกับฉัน (Ubuntu 12.10):

/usr/lib/nux/unity_support_test --print

เหตุผลหนึ่งก็คือว่าผมมีการ์ด Nvidia Optimus และที่ทำให้สิ่งที่ยากดังนั้นฉันเพิ่มoptirunก่อนที่คำสั่ง


2
ฉันคิดว่ามันพิมพ์ได้เฉพาะความสามารถของไดรเวอร์และรุ่น OpenGL - นี่แสดงว่าคุณใช้ไดรเวอร์ใดอยู่หรือไม่
belacqua

ฉันได้ทดสอบคำสั่งนี้ใน Ubuntu 16.04.2 แล้ว แต่ดูเหมือนว่ามันจะรายงาน GPU ที่ใช้งานมีไวยากรณ์ที่คล้ายกันเป็นคำสั่งเห็นglxinfo|egrep "OpenGL vendor|OpenGL renderer*" ฉันเชื่อว่าunity_support_test --printรันคำสั่ง OpenGL ที่แบ็กเอนด์
Sun Bear

2

ข้อมูลที่ดีที่สุดที่ฉันเคยเห็นคือnouveauวิกิ นอกจากนี้ยังสามารถช่วยเกี่ยวกับการ์ดที่ไม่ได้เป็น NVIDIA: https://nouveau.freedesktop.org/wiki/Optimus/

นี่คือxrandr --listproviders และsudo cat /sys/kernel/debug/vgaswitcheroo/switch. ข้อมูลที่เป็นประโยชน์อื่น ๆ อีกมากมายวิธีการควบคุมพลังงานเอาต์พุตและการถ่าย ฯลฯ


2
hwinfo --gfxcard

ค้นหาบรรทัดที่เริ่มต้นด้วย "ไดรเวอร์:" คุณอาจต้องติดตั้งแพคเกจ hwinfo ก่อน


0

เปิดเทอร์มินัลแล้วพิมพ์:

sudo apt-get install sysinfo

นี่เป็นโปรแกรมเล็ก ๆ ที่มีประโยชน์ที่สามารถบอกคุณได้ทุกเรื่องเกี่ยวกับพีซีของคุณ


2
ฉันไม่สามารถรับข้อมูลไดรเวอร์ VGA ด้วย Sysinfo ภาพหน้าจอข้อมูล Sysinfo VGA
BuZZ-dEE

1
sysinfo ขัดข้องภายใต้ Ubuntu 16.04 ยินดีเริ่มต้นโปรแกรมเพื่อแสดงข้อมูลระบบที่เป็นประโยชน์
Underverse
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.