障害のあるモニタのEDIDレポートを修正するために、ブート後に修正されたEDIDをRAMにロードするにはどうすればよいですか?

障害のあるモニタのEDIDレポートを修正するために、ブート後に修正されたEDIDをRAMにロードするにはどうすればよいですか?

VGAおよびDVI入力を備えたHP L1750モニターを複数購入しました。 VGA入力は問題なく動作します。ただし、DVI入力はKMS(カーネルモード設定)が発生するまでのみ機能し、その後は信号を受信しないと宣言し、スリープモードに切り替わります。異なるDVIケーブルと異なるDVIソースプロバイダ(異なるビデオカードなど)を使用して2つの異なる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接続用に上記のすべての解像度(1280×1024〜720×400)を試しましたが、すべて「モードが見つかりません」というメッセージが表示されました。

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

デバッグが退屈なので指が交差しました。

関連情報