Fehlende Modeline bei Verwendung eines passiven VGA-Switches mit 2 Ports

1181
malat

Ich versuche einen billigen VGA-Switch mit 2 Ports zu verwenden (Suche nach:) Round Press Button Two Way VGA Switch Splitter Black.

Es dauert nur two VGA inund one VGA out( keine Leistungsaufnahme). Wenn ich jedoch meine XFCEDebian-Sitzung starte, kann ich die Auflösung nicht in die empfohlene Auflösung für meinen Monitor ( HP Pavilion v220 Monitor) ändern 1680x1050.

Wenn X logich auf das schaue, kann ich beim Booten mit dem Schalter folgendes sehen:

[ 26.355] (II) intel(0): EDID for output VGA1 [ 26.355] (II) intel(0): Printing probed modes for output VGA1 [ 26.355] (II) intel(0): Modeline "1024x768"x60.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz e) [ 26.355] (II) intel(0): Modeline "800x600"x60.3 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz e) [ 26.355] (II) intel(0): Modeline "800x600"x56.2 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz e) [ 26.355] (II) intel(0): Modeline "848x480"x60.0 33.75 848 864 976 1088 480 486 494 517 +hsync +vsync (31.0 kHz e) [ 26.355] (II) intel(0): Modeline "640x480"x59.9 25.18 640 656 752 800 480 489 492 525 -hsync -vsync (31.5 kHz e) [ 26.356] (II) intel(0): EDID for output HDMI1 

wenn ich direkte Kabelverbindung verwende:

[ 26.404] (II) intel(0): EDID for output VGA1 [ 26.404] (II) intel(0): Manufacturer: HWP Model: 26fe Serial#: 16843009 [ 26.404] (II) intel(0): Year: 2008 Week: 13 [ 26.404] (II) intel(0): EDID Version: 1.3 [ 26.404] (II) intel(0): Analog Display Input, Input Voltage Level: 0.700/0.700 V [ 26.404] (II) intel(0): Sync: Separate [ 26.404] (II) intel(0): Max Image Size [cm]: horiz.: 47 vert.: 30 [ 26.404] (II) intel(0): Gamma: 2.20 [ 26.404] (II) intel(0): DPMS capabilities: StandBy Suspend Off; RGB/Color Display [ 26.404] (II) intel(0): Default color space is primary color space [ 26.404] (II) intel(0): First detailed timing is preferred mode [ 26.404] (II) intel(0): redX: 0.644 redY: 0.333 greenX: 0.286 greenY: 0.606 [ 26.404] (II) intel(0): blueX: 0.152 blueY: 0.076 whiteX: 0.313 whiteY: 0.329 [ 26.404] (II) intel(0): Supported established timings: [ 26.404] (II) intel(0): 720x400@70Hz [ 26.405] (II) intel(0): 640x480@60Hz [ 26.405] (II) intel(0): 640x480@75Hz [ 26.405] (II) intel(0): 800x600@60Hz [ 26.405] (II) intel(0): 800x600@75Hz [ 26.405] (II) intel(0): 832x624@75Hz [ 26.405] (II) intel(0): 1024x768@60Hz [ 26.405] (II) intel(0): 1024x768@75Hz [ 26.405] (II) intel(0): 1280x1024@75Hz [ 26.405] (II) intel(0): 1152x864@75Hz [ 26.405] (II) intel(0): Manufacturer's mask: 0 [ 26.405] (II) intel(0): Supported standard timings: [ 26.405] (II) intel(0): #0: hsize: 1152 vsize 720 refresh: 60 vid: 113 [ 26.405] (II) intel(0): #1: hsize: 1280 vsize 960 refresh: 60 vid: 16513 [ 26.405] (II) intel(0): #2: hsize: 1280 vsize 1024 refresh: 60 vid: 32897 [ 26.405] (II) intel(0): #3: hsize: 1440 vsize 900 refresh: 60 vid: 149 [ 26.405] (II) intel(0): #4: hsize: 1600 vsize 1000 refresh: 60 vid: 169 [ 26.405] (II) intel(0): #5: hsize: 1680 vsize 1050 refresh: 60 vid: 179 [ 26.405] (II) intel(0): Supported detailed timing: [ 26.405] (II) intel(0): clock: 146.2 MHz Image Size: 473 x 296 mm [ 26.405] (II) intel(0): h_active: 1680 h_sync: 1784 h_sync_end 1960 h_blank_end 2240 h_border: 0 [ 26.405] (II) intel(0): v_active: 1050 v_sync: 1053 v_sync_end 1059 v_blanking: 1089 v_border: 0 [ 26.405] (II) intel(0): Ranges: V min: 56 V max: 76 Hz, H min: 30 H max: 81 kHz, PixClock max 165 MHz [ 26.405] (II) intel(0): Monitor name: HP v220 [ 26.405] (II) intel(0): Serial No: CNT81361N2 [ 26.405] (II) intel(0): EDID (in hex): [ 26.405] (II) intel(0): 00ffffffffffff0022f0fe2601010101 [ 26.405] (II) intel(0): 0d120103682f1e78eed525a455499b27 [ 26.405] (II) intel(0): 135054a56b807100814081809500a900 [ 26.405] (II) intel(0): b3000101010121399030621a274068b0 [ 26.405] (II) intel(0): 3600d9281100001c000000fd00384c1e [ 26.405] (II) intel(0): 5110000a202020202020000000fc0048 [ 26.405] (II) intel(0): 5020763232300a2020202020000000ff [ 26.405] (II) intel(0): 00434e5438313336314e320a202000c5 [ 26.405] (II) intel(0): Printing probed modes for output VGA1 [ 26.405] (II) intel(0): Modeline "1680x1050"x60.0 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync (65.3 kHz eP) [ 26.405] (II) intel(0): Modeline "1600x1000"x60.0 133.16 1600 1704 1872 2144 1000 1001 1004 1035 -hsync +vsync (62.1 kHz) [ 26.405] (II) intel(0): Modeline "1280x1024"x75.0 135.00 1280 1296 1440 1688 1024 1025 1028 1066 +hsync +vsync (80.0 kHz e) [ 26.405] (II) intel(0): Modeline "1280x1024"x60.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz e) [ 26.405] (II) intel(0): Modeline "1440x900"x59.9 106.50 1440 1520 1672 1904 900 903 909 934 -hsync +vsync (55.9 kHz e) [ 26.405] (II) intel(0): Modeline "1280x960"x60.0 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync (60.0 kHz e) [ 26.405] (II) intel(0): Modeline "1152x864"x75.0 108.00 1152 1216 1344 1600 864 865 868 900 +hsync +vsync (67.5 kHz e) [ 26.405] (II) intel(0): Modeline "1152x720"x60.0 67.28 1152 1208 1328 1504 720 721 724 746 -hsync +vsync (44.7 kHz) [ 26.405] (II) intel(0): Modeline "1024x768"x75.1 78.80 1024 1040 1136 1312 768 769 772 800 +hsync +vsync (60.1 kHz e) [ 26.405] (II) intel(0): Modeline "1024x768"x60.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz e) [ 26.405] (II) intel(0): Modeline "832x624"x74.6 57.28 832 864 928 1152 624 625 628 667 -hsync -vsync (49.7 kHz e) [ 26.405] (II) intel(0): Modeline "800x600"x75.0 49.50 800 816 896 1056 600 601 604 625 +hsync +vsync (46.9 kHz e) [ 26.405] (II) intel(0): Modeline "800x600"x60.3 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz e) [ 26.405] (II) intel(0): Modeline "640x480"x75.0 31.50 640 656 720 840 480 481 484 500 -hsync -vsync (37.5 kHz e) [ 26.405] (II) intel(0): Modeline "640x480"x60.0 25.20 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz e) [ 26.405] (II) intel(0): Modeline "720x400"x70.1 28.32 720 738 846 900 400 412 414 449 -hsync +vsync (31.5 kHz e) [ 26.406] (II) intel(0): EDID for output HDMI1 

Bis X die Modeline tatsächlich erkennt, kann ich sie nicht aus meiner XFCE-Sitzung auswählen ( xfce4-display-settings).

Was muss ich tun, um das Problem zu beheben? Ich möchte jetzt meinen Monitor mit einer falschen Modeline-Einstellung brennen. Ich habe auf ein Tool gehofft, um die richtige Xorg-Datei direkt aus meiner edid(zB get-edid) Datei zu generieren :

$ xxd /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-VGA-1/edid 0000000: 00ff ffff ffff ff00 22f0 fe26 0101 0101 ........"..&.... 0000010: 0d12 0103 682f 1e78 eed5 25a4 5549 9b27 ....h/.x..%.UI.' 0000020: 1350 54a5 6b80 7100 8140 8180 9500 a900 .PT.k.q..@...... 0000030: b300 0101 0101 2139 9030 621a 2740 68b0 ......!9.0b.'@h. 0000040: 3600 d928 1100 001c 0000 00fd 0038 4c1e 6..(.........8L. 0000050: 5110 000a 2020 2020 2020 0000 00fc 0048 Q... .....H 0000060: 5020 7632 3230 0a20 2020 2020 0000 00ff P v220. .... 0000070: 0043 4e54 3831 3336 314e 320a 2020 00c5 .CNT81361N2. .. 

Ich konnte die berühmte CustomEDIDLösung nicht einmal verwenden, um das Problem auf Xorg-Ebene zu beheben:

[ 25.360] (WW) intel(0): Option "ConnectedMonitor" is not used [ 25.360] (WW) intel(0): Option "UseEDID" is not used [ 25.360] (WW) intel(0): Option "CustomEDID" is not used [ 25.360] (WW) intel(0): Option "IgnoreEDID" is not used 

Natürlich wäre eine halbfertige Lösung, um Sachen xorg.confwie in der Steinzeit hart zu codieren (Mischen parse-editmit der von Hand bearbeiteten X.org-Protokolldatei):

$ cat /etc/X11/xorg.conf  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  # Modeline "Mode 0" -hsync +vsync  Modeline "1680x1050" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync Modeline "1600x1000" 133.16 1600 1704 1872 2144 1000 1001 1004 1035 -hsync +vsync Modeline "1280x1024" 135.00 1280 1296 1440 1688 1024 1025 1028 1066 +hsync +vsync Modeline "1280x1024" 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync Modeline "1440x900" 106.50 1440 1520 1672 1904 900 903 909 934 -hsync +vsync Modeline "1280x960" 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync Modeline "1152x864" 108.00 1152 1216 1344 1600 864 865 868 900 +hsync +vsync Modeline "1152x720" 67.28 1152 1208 1328 1504 720 721 724 746 -hsync +vsync Modeline "1024x768" 78.80 1024 1040 1136 1312 768 769 772 800 +hsync +vsync Modeline "1024x768" 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync Modeline "832x624" 57.28 832 864 928 1152 624 625 628 667 -hsync -vsync Modeline "800x600" 49.50 800 816 896 1056 600 601 604 625 +hsync +vsync Modeline "800x600" 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync Modeline "640x480" 31.50 640 656 720 840 480 481 484 500 -hsync -vsync Modeline "640x480" 25.20 640 656 752 800 480 490 492 525 -hsync -vsync Modeline "720x400" 28.32 720 738 846 900 400 412 414 449 -hsync +vsync EndSection  Section "Screen" Identifier "Screen0" Monitor "HP v220" EndSection 

Der Framebuffer würde jedoch immer noch übrig bleiben:

$ fbset -i  mode "1024x768" geometry 1024 768 1024 768 32 timings 0 0 0 0 0 0 0 accel true rgba 8/16,8/8,8/0,0/0 endmode 

statt so etwas wie:

$ fbset -i   mode "1680x1050" geometry 1680 1050 1680 1050 32 timings 0 0 0 0 0 0 0 accel true rgba 8/16,8/8,8/0,0/0 endmode 

Ich mag auch die Tatsache, dass mein GRUB2 mit voller Auflösung läuft.

Ich suche etwas, das das Low-Level-Problem beheben wird.

2
Moderne Monitore brennen deshalb nicht - CRTs haben eine Sicherheitsabschaltung, und LCDs / LEDs verfügen nicht einmal über die entsprechenden Schaltkreise. grawity vor 7 Jahren 0
Haben Sie versucht, den Modus manuell hinzuzufügen? Es scheint verschiedene Artikel darüber im Internet zu geben. Seth vor 7 Jahren 0
Das Problem der niedrigen Stufe scheint zu sein, dass Ihr billiger VGA-Switch die EDID-Pins nicht verbindet, sodass X keine EDID-Informationen erhält. Ich persönlich würde die "Steinzeit" -Lösung verwenden und die richtigen Modelines zu xorg.conf hinzufügen. Wenn Sie sich Sorgen um korrekte Timings machen, verwenden Sie `xrandr --verbose` ohne den Schalter, um die Timings der Modi zu sehen, die EDID bietet. Warum Sie keine CustomEDID verwenden können und warum der Framebuffer immer noch die falsche Auflösung hat, auch wenn die Modeline akzeptiert wird, habe ich keine Ahnung. dirkt vor 7 Jahren 0
Ich denke, es ist auch möglich, benutzerdefinierte EDID-Dateien für den Framebuffer / KMS beim Booten zu verwenden, aber ich habe das selbst noch nie gemacht. dirkt vor 7 Jahren 0

1 Antwort auf die Frage

1
malat

Da CustomEDIDist nicht implementiert für intelsehen hier, eine alternative Lösung ist einfach zu bedienen drm_kms_helper.edid_firmareModul. In meinem Fall:

# ls -al /lib/firmware/edid/HPv220.edid.bin  -rw-r--r-- 1 root root 128 Nov 14 15:32 /lib/firmware/edid/HPv220.edid.bin # cat /etc/default/grub  [...] GRUB_CMDLINE_LINUX="drm_kms_helper.edid_firmware=edid/HPv220.edid.bin" # update-grub # reboot 

Der Grub-Bildschirm verwendet eine andere Standardauflösung, aber das ist akzeptabel. Jetzt hat meine Sitzung die richtige Auflösung, keine Notwendigkeit, die Steinzeitdatei zu verändern xorg.conf. Und obendrein ist fb richtig initialisiert:

$ fbset -i  mode "1680x1050" geometry 1680 1050 1680 1050 32 timings 0 0 0 0 0 0 0 accel true rgba 8/16,8/8,8/0,0/0 endmode 

Jetzt ist meine dmesgAusgabe zu 100% identisch (naja, außer der Kernel-Befehlszeile).