답변:
나는 EDID와 모니터를 사용하지는 않지만이 도구를 찾았습니다.이 도구는 monitor-edid
여기에서도 사용할 수 있습니다.
그것이 기본이 아닌 경우 용서하십시오, 나는 당신이 주제에 관해 질문하는 다양한 질문을 감안할 때이 공간에 대해 더 많이 배우려고합니다.
$ monitor-edid
EISA ID: LEN4036
EDID version: 1.3
EDID extension blocks: 0
Screen size: 30.3 cm x 19.0 cm (14.08 inches, aspect ratio 16/10 = 1.59)
Gamma: 2.2
Digital signal
# Monitor preferred modeline (60.0 Hz vsync, 55.8 kHz hsync, ratio 16/10, 120 dpi)
ModeLine "1440x900" 114.06 1440 1488 1520 2044 900 903 909 930 -hsync -vsync
# Monitor supported modeline (50.0 Hz vsync, 51.8 kHz hsync, ratio 16/10, 120 dpi)
ModeLine "1440x900" 114.06 1440 1488 1520 2204 900 903 909 1035 -hsync -vsync
내가 방문한 다른 도구가 있는데,이 도구를 사용 ddccontrol
하면 정보를 얻는 데 도움이 될 수 있습니다.
마지막으로 /sys
나는 여러 비디오 인터페이스에 매달려있는 리프 노드가 있음을 알았습니다.
$ sudo find . |grep -i edid
./devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1/edid
./devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-2/edid
./devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-3/edid
./devices/pci0000:00/0000:00:02.0/drm/card0/card0-VGA-1/edid
./devices/pci0000:00/0000:00:02.0/drm/card0/card0-LVDS-1/edid
./devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1/edid
./devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-2/edid
./devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-3/edid
./module/drm/parameters/edid_fixup
./module/drm_kms_helper/parameters/edid_firmware
그러나 내 Lenovo 노트북에서 이러한 "파일"은 비어 있었으며 시스템과 다를 수 있습니다. VGA EDID의 샘플 출력을 보여주는이 포럼 스레드를 찾았습니다.
$ lspci | grep VGA
01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 440 Go 64M] (rev a3)
$ xxd /sys/devices/pci0000:00/0000:00:0b.0/0000:01:00.0/drm/card0/card0-VGA-1/edid
0000000: 00ff ffff ffff ff00 5a63 0213 0101 0101 ........Zc......
0000010: 2b0a 0103 1c25 1bb0 eb00 b8a0 5749 9b26 +....%......WI.&
0000020: 1048 4cff ff80 8199 8159 714f 6159 4559 .HL......YqOaYEY
0000030: 3159 a94f 0101 863d 00c0 5100 3040 40a0 1Y.O...=..Q.0@@.
0000040: 1300 680e 1100 001e 0000 00ff 0033 3139 ..h..........319
0000050: 3030 3433 3030 3737 330a 0000 00fd 0032 004300773......2
0000060: a01e 6114 000a 2020 2020 2020 0000 00fc ..a... ....
0000070: 0047 3930 6d62 0a20 2020 2020 2020 00ba .G90mb. ..
출처 : EDID를 사용하여 모니터 일련 번호 / 제조 날짜 추출? .
Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
와 함께있다 i915
, Kubuntu 15.04
xrandr --verbose
둘 다 HDMI 모니터의 EDID 데이터를 반환하지만 DVI 모니터의 EDID 데이터는 반환하지 않습니다.
출력 xrandr --props
에는 연결된 각 디스플레이에 대한 16 진 EDID 문자열이 덜 장황하게 포함되어 있습니다. 다음은 이를 연결하여 특정 연결된 모니터의 EDID를 가져 오는 간단한 Python 스크립트 입니다.
NVidia 기반 시스템에서 EDID 추출에 작동하는 다른 배포 패키지 CLI 도구를 찾지 못했지만 이진 EDID 구문 분석을위한 대부분의 도구는 제대로 작동하는 것 같습니다.
x86 또는 powerpc 아치를 사용하는 경우을 사용할 수 있습니다 read-edid
. 데비안에서는 여기에서 사용할 수 있습니다 .
사용법은 간단합니다 (루트 여야 함).
$ sudo get-edid > /tmp/edid
그런 다음 구조를 구문 분석하십시오.
$ parse-edid < /tmp/edid
Checksum Correct
Section "Monitor"
Identifier "HP v220"
ModelName "HP v220"
VendorName "HWP"
# Monitor Manufactured week 13 of 2008
# EDID version 1.3
# Analog Display
DisplaySize 470 300
Gamma 2.20
Option "DPMS" "true"
Horizsync 30-81
VertRefresh 56-76
# Maximum pixel clock is 160MHz
#Not giving standard mode: 1152x720, 60Hz
#Not giving standard mode: 1280x960, 60Hz
#Not giving standard mode: 1280x1024, 60Hz
#Not giving standard mode: 1440x900, 60Hz
#Not giving standard mode: 1600x1000, 60Hz
#Not giving standard mode: 1680x1050, 60Hz
Modeline "Mode 0" -hsync +vsync
EndSection
종종 이것은 다음과 같이 결합됩니다.
$ sudo get-edid | parse-edid
다음 중 하나를 사용하여이 사용자 정의 edid 파일을 그래픽 카드로 전달하는 방법에 대해서는 여기도 참조하십시오 .
edid-decode라는 최신 버전의 도구는 EDID 정보를 구문 분석하고 텍스트 및 이진 EDID 파일을 읽고 쓸 수 있습니다. 의 출력에서 잘 작동합니다 xrandr --verbose
. 예를 들어 EDID를 이진 파일로 저장하는 데 사용할 수 있습니다.
xrandr --verbose | edid-decode - /file/to/save
Fedora 27 (패키지 : xorg-x11-utils)과 함께 제공되는 edid-decode 버전이 너무 오래되어 완벽하게 작동하지 않습니다. 가장 최신 버전을 사용했습니다 .
이진 형식의 EDID는에서 사용할 수 있습니다 /sys/class/drm/card%d-%s/edid
. 여기서 %d
DRM 장치 인덱스 (아마도 GPU 인덱스)를 나타내며 출력에 %s
표시되는 커넥터 ID입니다 xrandr
.
사용 가능한 모든 것을 나열하려면 다음을 실행하십시오. ls -1 /sys/class/drm/*/edid
GPU 드라이버가 DRM을 지원하지 않으면이 방법으로 EDID를 얻을 수 없습니다.
16 진 형식으로 보려면 실행 hexdump
하십시오.
사람이 읽을 수있는 양식을 원하는 경우 다음과 같이 전달하십시오 edid-decode
.
cat /sys/class/drm/card0-eDP-1/edid | edid-decode
( sudo apt install edid-decode
우분투 의 경우 패키지 관리자를 사용하여 설치해야 할 수도 있습니다 )
edid-decode
합니까? 또한 연결이 끊어진 모니터에 대한 하위 디렉토리도 있습니다.
xrandr
파싱 하러 갈거야 . 번거롭지 만 스크립트를 한 번에 작성하면 어디서나 작동합니다.