Как узнать производителя/модель экранной панели ноутбука с Linux? (Samsung, LG, Chi Mei и т. д.) + номер модели?
Я пробовал использовать команду «lshw» в Ubuntu, но, похоже, в списке нет этой панели.
Спасибо.
решение1
Используйте любую утилиту, которая показывает информацию EDID. Одно из мест, где можно поискать эту информацию, это /var/log/Xorg.0.log
решение2
Моя информация не появилась в XOrg.log. Но я понял, что могу получить информацию из DRM (Direct Rendering Manager) подкомпонента ядра Linux, который представлен в sysfs. Поэтому я сделал следующее:
root@dark:~# ls /sys/class/drm/
card0 card0-DP-2 card0-eDP-1 card0-HDMI-A-2 card0-VGA-1 version
card0-DP-1 card0-DP-3 card0-HDMI-A-1 card0-HDMI-A-3 controlD64
Вы можете выяснить, какие экраны активны, выполнив некоторые действия здесь:
root@dark:/sys/class/drm# cat card0-HDMI-A-2/enabled
enabled
root@dark:/sys/class/drm# cat card0-HDMI-A-3/enabled
disabled
Затем я проанализировал информацию EDID с интересующих меня экранов следующим образом:
root@dark:/sys/class/drm# cat card0-HDMI-A-1/edid | edid-decode
Extracted contents:
header: 00 ff ff ff ff ff ff 00
serial number: 09 d1 0a 78 45 54 00 00 16 12
version: 01 03
basic params: 80 34 20 78 2e
chroma info: c5 c4 a3 57 4a 9c 23 12 4f 52
established: a5 6b 80
standard: 71 00 81 00 95 00 81 80 b3 00 a9 40 d1 00 01 01
descriptor 1: 28 3c 80 a0 70 b0 23 40 30 20 36 00 07 44 21 00 00 1a
descriptor 2: 00 00 00 ff 00 56 35 38 30 30 34 35 35 5a 4c 30 0a 20
descriptor 3: 00 00 00 fd 00 32 55 1f 5e 11 00 0a 20 20 20 20 20 20
descriptor 4: 00 00 00 fc 00 42 65 6e 51 20 47 32 34 30 30 57 0a 20
extensions: 01
checksum: e5
Manufacturer: BNQ Model 780a Serial Number 21573
Made week 22 of 2008
EDID version: 1.3
Digital display
Maximum image size: 52 cm x 32 cm
Gamma: 2.20
DPMS levels: Off
Supported color formats: RGB 4:4:4, YCrCb 4:2:2
Default (sRGB) color space is primary color space
First detailed timing is preferred timing
Established timings supported:
720x400@70Hz
640x480@60Hz
640x480@75Hz
800x600@60Hz
800x600@75Hz
832x624@75Hz
1024x768@60Hz
1024x768@75Hz
1280x1024@75Hz
1152x870@75Hz
Standard timings supported:
1152x720@60Hz
1280x800@60Hz
1440x900@60Hz
1280x1024@60Hz
1680x1050@60Hz
1600x1200@60Hz
1920x1200@60Hz
Detailed mode: Clock 154.000 MHz, 519 mm x 324 mm
1920 1968 2000 2080 hborder 0
1200 1203 1209 1235 vborder 0
+hsync -vsync
Serial number: V5800455ZL0
Monitor ranges: 50-85HZ vertical, 31-94kHz horizontal, max dotclock 170MHz
Monitor name: BenQ G2400W
Has 1 extension blocks
Checksum: 0xe5
CEA extension block
Extension version: 3
22 bytes of CEA data
Video data block
VIC 04
VIC 16 (native)
VIC 03
VIC 01
VIC 05 (native)
Vendor-specific data block, OUI 000c03 (HDMI)
Source physical address 1.0.0.0
Speaker allocation data block
Audio data block
Underscans PC formats by default
Basic audio support
Supports YCbCr 4:4:4
Supports YCbCr 4:2:2
1 native detailed modes
Detailed mode: Clock 74.250 MHz, 708 mm x 398 mm
1280 1390 1430 1650 hborder 0
720 725 730 750 vborder 0
+hsync +vsync
Detailed mode: Clock 74.250 MHz, 708 mm x 398 mm
1920 2008 2052 2200 hborder 0
540 542 547 562 vborder 0
+hsync +vsync interlaced
Detailed mode: Clock 27.000 MHz, 708 mm x 398 mm
720 736 798 858 hborder 0
480 489 495 525 vborder 0
-hsync -vsync
Detailed mode: Clock 148.500 MHz, 708 mm x 398 mm
1920 2008 2052 2200 hborder 0
1080 1084 1089 1125 vborder 0
+hsync +vsync analog composite
Detailed mode: Clock 25.180 MHz, 530 mm x 398 mm
640 648 744 800 hborder 8
480 482 484 525 vborder 8
-hsync -vsync
Checksum: 0x2c
Большой успех!
решение3
Если вы можете установитьпрочитано-отредактировано, то вы можете попробовать с get-edid | parse-edid
.
решение4
Это в основном просто обобщает ответ Александра Торстлинга, который сработал для меня. Это в основном просто цикл, который получает информацию со всех обнаруженных устройств (и ошибки с тех, которые не могут быть проверены). Он просто дает вам информацию быстрее.
На моем Ubuntu 19.10 мне сначала пришлось установить пакет edid-decode
sudo apt install edid-decode
Затем цикл, который выводит имя устройства и информацию о нем:
for i in $(ls /sys/class/drm/); do echo $i; cat /sys/class/drm/$i/edid | edid-decode; done
Это скорее должен был быть комментарий к ответу Александра Торстлинга, чем независимый комментарий, но, как оказалось, мне пока не разрешено комментировать... ;-)