결함이 있는 모니터의 EDID 보고를 수정하기 위해 부팅 후 수정된 EDID를 RAM에 로드하려면 어떻게 해야 합니까?

결함이 있는 모니터의 EDID 보고를 수정하기 위해 부팅 후 수정된 EDID를 RAM에 로드하려면 어떻게 해야 합니까?

VGA 및 DVI 입력이 있는 HP L1750 모니터를 여러 대 구입했습니다. VGA 입력이 문제 없이 작동합니다. 그러나 DVI 입력은 KMS(커널 모드 설정)가 발생할 때까지만 작동하며 그 후에는 신호를 수신하지 않는다고 선언하고 절전 모드로 전환됩니다. 서로 다른 DVI 케이블과 서로 다른 DVI 소스 공급자(예: 서로 다른 비디오 카드)를 사용하여 두 개의 서로 다른 HP L1750 모니터를 테스트했는데 동일한 결과가 나타났습니다.

또한 커널 부팅 옵션을 통해 적절한 해상도를 수동으로 지정해 보았습니다. 예를 들면 다음과 같습니다.

video=DVI-D-0:1280x1024@60e

및 수동 구성 xorg.conf(출력에 따라 hwinfo --monitor):

Section "Device"
    Identifier  "DefaultDevice"
EndSection

Section "Monitor"
    Identifier  "DefaultMonitor"
    HorizSync   24-83
    VertRefresh 50-77
    Option      "TargetRefreshRate" "60"
    Option      "DDC"   "off"
    Option      "DPMS"  "off"
    Option      "DefaultModes"  "on"
    Option      "PreferredMode" "1280x1024"
EndSection

Section "Screen"
    Identifier  "DefaultScreen"
    Device      "DefaultDevice"
    Monitor     "DefaultMonitor"
EndSection

질문그런 것 같다생각하다이 모니터의 DVI에 결함이 있으며 이를 고칠 수 있는 특별한 Windows 드라이버가 없습니다..

적절한 EDID를 결정하는 방법은 무엇입니까? 부팅 후 RAM에 어떻게 로드하나요?

편집하다:

그래픽 카드, 커널 드라이버, X 드라이버 등에 대한 정보:

$ inxi -Gxxxxx
Graphics:  Device-1: Advanced Micro Devices [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] 
           vendor: Micro-Star MSI driver: amdgpu v: kernel bus ID: 01:00.0 chip ID: 1002:67df 
           Display: x11 server: X.Org 1.20.4 driver: amdgpu unloaded: modesetting alternate: ati,fbdev,vesa 
           compositor: kwin_x11 resolution: 1920x1080~60Hz 
           OpenGL: renderer: AMD Radeon RX 470 Graphics (POLARIS10 DRM 3.30.0 5.1.4-arch1-1-ARCH LLVM 8.0.0) 
           v: 4.5 Mesa 19.0.5 direct render: Yes 

측면에서 보면 xrandrDVI-D-0이 연결 해제되어 있다고 주장합니다(연결되어 있고 모니터가 DVI-D-0 사전 KMS 출력을 통해 표시됨에도 불구하고). 여기서는 VGA를 통해 나열된 모드로 나열했습니다. HDMI->VGA 변환기를 통해 VGA에 연결되어 있으므로 HDMI-A-1실제로 표시된 것은 VGA 연결입니다.)

HDMI-A-1 connected 1280x1024+0+696 (normal left inverted right x axis y axis) 340mm x 270mm
   1280x1024     60.02 +  75.02* 
   1920x1080     60.00    59.94  
   1280x800      60.02  
   1152x864      75.00  
   1280x720      60.00    59.94  
   1024x768      75.03    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32  
   720x480       60.00    59.94  
   640x480       75.00    72.81    60.00    59.94  
   720x400       70.08  
DVI-D-0 disconnected (normal left inverted right x axis y axis)

디스플레이를 수동으로 설정하려고 하면 xrandr작동하지 않는 것 같습니다.

$ xrandr --output DVI-D-0 --mode 1280x1024
xrandr: cannot find mode 1280x1024

이렇게 하면 xrandr --output DVI-D-0"모드를 찾을 수 없음" 메시지가 발생하지 않지만 DVI를 통해 모니터가 켜지지는 않습니다. xrandr --output DVI-D-0 --mode [...]VGA 연결에 대해 위에 나열된 모든 해상도(1280x1024~720x400)를 시도했지만 모두 "모드를 찾을 수 없음" 메시지가 표시되었습니다.

EDIT2: Xorg.0.logEDID 관련 정보:

[    45.594] (II) AMDGPU(0): EDID for output HDMI-A-1
[    45.594] (II) AMDGPU(0): Manufacturer: HWP  Model: 26e9  Serial#: 16843009
[    45.594] (II) AMDGPU(0): Year: 2008  Week: 2
[    45.594] (II) AMDGPU(0): EDID Version: 1.3
[    45.594] (II) AMDGPU(0): Digital Display Input
[    45.594] (II) AMDGPU(0): Max Image Size [cm]: horiz.: 34  vert.: 27
[    45.594] (II) AMDGPU(0): Gamma: 2.40
[    45.594] (II) AMDGPU(0): DPMS capabilities: StandBy Suspend Off
[    45.594] (II) AMDGPU(0): Supported color encodings: RGB 4:4:4 YCrCb 4:4:4 
[    45.594] (II) AMDGPU(0): Default color space is primary color space
[    45.594] (II) AMDGPU(0): First detailed timing is preferred mode
[    45.594] (II) AMDGPU(0): redX: 0.640 redY: 0.349   greenX: 0.284 greenY: 0.617
[    45.594] (II) AMDGPU(0): blueX: 0.142 blueY: 0.067   whiteX: 0.313 whiteY: 0.329
[    45.594] (II) AMDGPU(0): Supported established timings:
[    45.594] (II) AMDGPU(0): 720x400@70Hz
[    45.594] (II) AMDGPU(0): 640x480@60Hz
[    45.594] (II) AMDGPU(0): 640x480@72Hz
[    45.594] (II) AMDGPU(0): 640x480@75Hz
[    45.594] (II) AMDGPU(0): 800x600@60Hz
[    45.594] (II) AMDGPU(0): 800x600@72Hz
[    45.594] (II) AMDGPU(0): 800x600@75Hz
[    45.594] (II) AMDGPU(0): 832x624@75Hz
[    45.594] (II) AMDGPU(0): 1024x768@60Hz
[    45.594] (II) AMDGPU(0): 1024x768@70Hz
[    45.594] (II) AMDGPU(0): 1024x768@75Hz
[    45.594] (II) AMDGPU(0): 1280x1024@75Hz
[    45.594] (II) AMDGPU(0): 1152x864@75Hz
[    45.594] (II) AMDGPU(0): Manufacturer's mask: 0
[    45.594] (II) AMDGPU(0): Supported standard timings:
[    45.594] (II) AMDGPU(0): #0: hsize: 1280  vsize 1024  refresh: 60  vid: 32897
[    45.594] (II) AMDGPU(0): Supported detailed timing:
[    45.594] (II) AMDGPU(0): clock: 108.0 MHz   Image Size:  340 x 270 mm
[    45.594] (II) AMDGPU(0): h_active: 1280  h_sync: 1328  h_sync_end 1440 h_blank_end 1688 h_border: 0
[    45.594] (II) AMDGPU(0): v_active: 1024  v_sync: 1025  v_sync_end 1028 v_blanking: 1066 v_border: 0
[    45.594] (II) AMDGPU(0): Ranges: V min: 50 V max: 77 Hz, H min: 24 H max: 83 kHz, PixClock max 145 MHz
[    45.594] (II) AMDGPU(0): Monitor name: HP L1750
[    45.594] (II) AMDGPU(0): Serial No: CND8020JJG
[    45.594] (II) AMDGPU(0): Supported detailed timing:
[    45.594] (II) AMDGPU(0): clock: 27.0 MHz   Image Size:  160 x 90 mm
[    45.594] (II) AMDGPU(0): h_active: 720  h_sync: 736  h_sync_end 798 h_blank_end 858 h_border: 0
[    45.594] (II) AMDGPU(0): v_active: 480  v_sync: 489  v_sync_end 495 v_blanking: 525 v_border: 0
[    45.594] (II) AMDGPU(0): Number of EDID sections to follow: 1
[    45.594] (II) AMDGPU(0): EDID (in hex):
[    45.594] (II) AMDGPU(0):    00ffffffffffff0022f0e92601010101
[    45.594] (II) AMDGPU(0):    0212010380221b8ceedc55a359489e24
[    45.594] (II) AMDGPU(0):    115054adef8081800101010101010101
[    45.594] (II) AMDGPU(0):    010101010101302a009851002a403070
[    45.594] (II) AMDGPU(0):    1300540e1100001e000000fd00324d18
[    45.594] (II) AMDGPU(0):    530e000a202020202020000000fc0048
[    45.594] (II) AMDGPU(0):    50204c313735300a20202020000000ff
[    45.594] (II) AMDGPU(0):    00434e44383032304a4a470a202001b0
[    45.594] (II) AMDGPU(0):    02031b61230907078301000067030c00
[    45.594] (II) AMDGPU(0):    2000802d43908402e2000f8c0ad08a20
[    45.594] (II) AMDGPU(0):    e02d10103e9600a05a00000000000000
[    45.594] (II) AMDGPU(0):    00000000000000000000000000000000
[    45.594] (II) AMDGPU(0):    00000000000000000000000000000000
[    45.594] (II) AMDGPU(0):    00000000000000000000000000000000
[    45.594] (II) AMDGPU(0):    00000000000000000000000000000000
[    45.594] (II) AMDGPU(0):    00000000000000000000000000000029
[    45.594] (--) AMDGPU(0): HDMI max TMDS frequency 225000KHz
[    45.594] (II) AMDGPU(0): Printing probed modes for output HDMI-A-1
[    45.594] (II) AMDGPU(0): Modeline "1280x1024"x60.0  108.00  1280 1328 1440 1688  1024 1025 1028 1066 +hsync +vsync (64.0 kHz eP)
[    45.594] (II) AMDGPU(0): Modeline "1920x1080"x60.0  148.50  1920 2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (67.5 kHz e)
[    45.594] (II) AMDGPU(0): Modeline "1920x1080"x59.9  148.35  1920 2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (67.4 kHz e)
[    45.594] (II) AMDGPU(0): Modeline "1280x1024"x75.0  135.00  1280 1296 1440 1688  1024 1025 1028 1066 +hsync +vsync (80.0 kHz e)
[    45.594] (II) AMDGPU(0): Modeline "1280x800"x60.0  108.00  1280 1328 1440 1688  800 1025 1028 1066 +hsync +vsync (64.0 kHz e)
[    45.594] (II) AMDGPU(0): Modeline "1152x864"x75.0  108.00  1152 1216 1344 1600  864 865 868 900 +hsync +vsync (67.5 kHz e)
[    45.594] (II) AMDGPU(0): Modeline "1280x720"x60.0   74.25  1280 1390 1430 1650  720 725 730 750 +hsync +vsync (45.0 kHz e)
[    45.595] (II) AMDGPU(0): Modeline "1280x720"x59.9   74.18  1280 1390 1430 1650  720 725 730 750 +hsync +vsync (45.0 kHz e)
[    45.595] (II) AMDGPU(0): Modeline "1024x768"x75.0   78.75  1024 1040 1136 1312  768 769 772 800 +hsync +vsync (60.0 kHz e)
[    45.595] (II) AMDGPU(0): Modeline "1024x768"x70.1   75.00  1024 1048 1184 1328  768 771 777 806 -hsync -vsync (56.5 kHz e)
[    45.595] (II) AMDGPU(0): Modeline "1024x768"x60.0   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz e)
[    45.595] (II) AMDGPU(0): Modeline "832x624"x74.6   57.28  832 864 928 1152  624 625 628 667 -hsync -vsync (49.7 kHz e)
[    45.595] (II) AMDGPU(0): Modeline "800x600"x72.2   50.00  800 856 976 1040  600 637 643 666 +hsync +vsync (48.1 kHz e)
[    45.595] (II) AMDGPU(0): Modeline "800x600"x75.0   49.50  800 816 896 1056  600 601 604 625 +hsync +vsync (46.9 kHz e)
[    45.595] (II) AMDGPU(0): Modeline "800x600"x60.3   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz e)
[    45.595] (II) AMDGPU(0): Modeline "720x480"x60.0   27.03  720 736 798 858  480 489 495 525 -hsync -vsync (31.5 kHz e)
[    45.595] (II) AMDGPU(0): Modeline "720x480"x59.9   27.00  720 736 798 858  480 489 495 525 -hsync -vsync (31.5 kHz e)
[    45.595] (II) AMDGPU(0): Modeline "640x480"x75.0   31.50  640 656 720 840  480 481 484 500 -hsync -vsync (37.5 kHz e)
[    45.595] (II) AMDGPU(0): Modeline "640x480"x72.8   31.50  640 664 704 832  480 489 492 520 -hsync -vsync (37.9 kHz e)
[    45.595] (II) AMDGPU(0): Modeline "640x480"x60.0   25.20  640 656 752 800  480 490 492 525 -hsync -vsync (31.5 kHz e)
[    45.595] (II) AMDGPU(0): Modeline "640x480"x59.9   25.18  640 656 752 800  480 490 492 525 -hsync -vsync (31.5 kHz e)
[    45.595] (II) AMDGPU(0): Modeline "720x400"x70.1   28.32  720 738 846 900  400 412 414 449 -hsync +vsync (31.5 kHz e)
[    45.595] (II) AMDGPU(0): EDID for output DVI-D-0
[    45.595] (II) AMDGPU(0): Output DisplayPort-0 connected
[    45.595] (II) AMDGPU(0): Output DisplayPort-1 disconnected
[    45.595] (II) AMDGPU(0): Output HDMI-A-0 connected
[    45.595] (II) AMDGPU(0): Output HDMI-A-1 connected
[    45.595] (II) AMDGPU(0): Output DVI-D-0 disconnected
[    45.595] (II) AMDGPU(0): Using user preference for initial modes
[    45.595] (II) AMDGPU(0): Output DisplayPort-0 using initial mode 1280x1024 +0+0
[    45.595] (II) AMDGPU(0): Output HDMI-A-0 using initial mode 1280x1024 +0+0
[    45.595] (II) AMDGPU(0): Output HDMI-A-1 using initial mode 1280x1024 +0+0
[    45.595] (II) AMDGPU(0): mem size init: gart size :ff973000 vram size: s:ff2e8000 visible:f2e8000
[    45.595] (==) AMDGPU(0): DPI set to (96, 96)
[    45.595] (==) AMDGPU(0): Using gamma correction (1.0, 1.0, 1.0)

답변1

예비 답변:

1) /var/log/Xorg.0.log수신된 디코딩된 EDID를 확인합니다. 디스플레이가 비어 있으면 ssh가상 콘솔을 사용하여 정보를 얻거나 VGA 및 DVI 출력이 있는 모니터를 연결하거나 VGA 및 DVI가 있는 동일한 모니터를 연결하십시오.

어떤 그래픽 카드인지, 어떤 커널 드라이버를 사용하는지, 어떤 X 드라이버를 사용하는지에 대한 정보를 포함하도록 질문을 편집할 수도 있습니다.

read-edidDebian 패키지와 같이 원시 EDID를 제공하거나 /sys/devices/.../drm/card*/card*-*/edid커널 드라이버가 있는 그래픽 카드에 이 정보를 제공 할 수 있는 대안도 있습니다 .

2) 어떤 모드가 지원되는지 알고 나면 시작 시 또는 다른 방법으로 모두 시도해 보십시오 xrandr( 가상 콘솔 DISPLAY에서 이 작업을 수행하는 경우 ssh설정 ). 최소 모드로 시작하세요. 적어도 일부 모드가 작동하지 않으면 놀랄 것입니다.

xorg.conf3) X 드라이버에 따라 EDID를 무시 하거나(모든 정보를 직접 지정할 수 있으므로) 자체 EDID를 제공하는 다양한 옵션이 있습니다 . 예를 들어 IgnoreEDID또는 와 같은 매뉴얼 페이지의 내용을 읽어 보십시오 CustomEDID.

4) KMS에서 올바른 EDID가 필요한 경우 원시 EDID 형식을 이해하고 자신에게 적합한 패턴을 사용하여 EDID를 수정한 다음 원시 EDID를 다음 /usr/lib/firmware/edid행을 따라 바이너리로 initramfs에 넣을 수 있습니다.

drm_kms_helper.edid_firmware=edid/your_edid.bin
drm_kms_helper.edid_firmware=VGA-1:edid/your_edid.bin

디버깅이 지루하기 때문에 손가락이 교차했습니다.

관련 정보