Linuxspicker

Admins kleiner Zettelkasten für die Lösung von Linuxproblemen

Xorg "vergisst" nach Suspend höchste Auflösung von externem Monitor

Unter Ubuntu 22.04 mit Xorg 1.21.1.4 trat nach dem Rückkehr aus dem Stromsparmodus bei externen Monitoren immer mal wieder das Problem auf, dass die höchste Auflösung von 1920×1080 auf einmal „vergessen“ wurde. Stattdessen war das Display auf 1680×1050 eingestellt und lediglich ein Neustart oder manchmal auch ein ab- und wieder abstöpseln des Monitors brachte die Auflösung zurück.

Wirkliche Fehlermeldungen dafür oder Erklärungen fanden sich nicht. Der eine Monitor startete als modeset(0): Output HDMI-1 using initial mode 1920x1080 +1920+0 direkt am HDMI-Port und der andere als modeset(0): Output DP-1 using initial mode 1920x1080 +3840+0 an einem externen Hub.

In den Weiten des Internets fanden sich jedoch immer wieder Hinweise darauf, dass dem Xorg-Server einfach Monitordaten in die Konfiguration geschrieben werden sollten, da die automatisch ausgelesenen EDID (Extended display identification data) fehlerhaft seien. Wirklich belegen ließ sich die These nicht, da auch nach dem Aufwachen des Monitors und einem testweisen Auslesen der EDID diese offenbar in Ordnung waren.

Zum Auslesen der EDID muss read-edid am besten gleich noch mit edid-decode und den i2c-tools mittels apt install read-edid edid-decode i2c-tools installiert werden. Danach lässt sich mit sudo get-edid | parse-edid der erste findbare Monitor auslesen.

This is read-edid version 3.0.2. Prepare for some fun.
Attempting to use i2c interface
No EDID on bus 1
No EDID on bus 2
No EDID on bus 3
No EDID on bus 5
No EDID on bus 6
No EDID on bus 7
No EDID on bus 8
No EDID on bus 9
No EDID on bus 10
No EDID on bus 11
No EDID on bus 14
No EDID on bus 15
No EDID on bus 16
4 potential busses found: 0 4 12 13
Will scan through until the first EDID is found.
Pass a bus number as an option to this program to go only for that one.
Bus 0 doesn't really have an EDID...
Checksum Correct

Section "Monitor"
	Identifier "PHL 221V8"
	ModelName "PHL 221V8"
	VendorName "PHL"
	# Monitor Manufactured week 48 of 2022
	# EDID version 1.3
	# Digital Display
	DisplaySize 480 270
	Gamma 2.20
	Option "DPMS" "true"
	Horizsync 30-85
	VertRefresh 48-75
	# Maximum pixel clock is 180MHz
	#Not giving standard mode: 1920x1080, 60Hz
	#Not giving standard mode: 1680x1050, 60Hz
	#Not giving standard mode: 1440x900, 60Hz
	#Not giving standard mode: 1280x1024, 60Hz
	#Not giving standard mode: 1280x960, 60Hz
	#Not giving standard mode: 1280x720, 60Hz

	#Extension block found. Parsing...
	Modeline 	"Mode 13" 27.00 720 736 798 858 480 489 495 525 -hsync -vsync 
	Modeline 	"Mode 0" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync 
	Modeline 	"Mode 1" 174.50 1920 1968 2000 2080 1080 1083 1088 1119 +hsync -vsync 
	Modeline 	"Mode 2" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
	Modeline 	"Mode 3" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
	Modeline 	"Mode 4" 74.250 1920 2008 2052 2200 1080 1082 1087 1125 +hsync +vsync interlace
	Modeline 	"Mode 5" 74.250 1920 2448 2492 2640 1080 1082 1089 1125 +hsync +vsync interlace
	Modeline 	"Mode 6" 74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsync
	Modeline 	"Mode 7" 74.250 1280 1720 1760 1980 720 725 730 750 +hsync +vsync
	Modeline 	"Mode 8" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
	Modeline 	"Mode 9" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync
	Modeline 	"Mode 10" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
	Modeline 	"Mode 11" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync
	Modeline 	"Mode 12" 25.200 640 656 752 800 480 490 492 525 -hsync -vsync
	Modeline 	"Mode 14" 74.25 1280 1390 1430 1650 720 725 730 750 +hsync +vsync 
	Modeline 	"Mode 15" 27.00 720 736 798 858 480 489 495 525 -hsync -vsync 
	Modeline 	"Mode 16" 27.00 720 732 796 864 576 581 586 625 -hsync -vsync 
	Option "PreferredMode" "Mode 13"
EndSection
256-byte EDID successfully retrieved from i2c bus 4
Looks like i2c was successful. Have a good day.

In diesem Falle wäre es der Monitor, der direkt am HDMI-Anschluss ist. Im vorliegenden Fall gibt es jedoch noch einen Monitor an einem externen USB-C-Hub, der zwar auch per HDMI angeschlossen ist, aber eben nicht der erste EDID-Monitor ist.

In obigem Ausdruck findet sich der Hinweis auf potenziell andere Anschlüsse 4 potential busses found: 0 4 12 13, die man einzeln durchgehen kann, bis der richtige Monitor gefunden ist. sudo i2cdetect -l listet insgesamt folgende Anschlüsse auf.

i2c-0	smbus     	SMBus I801 adapter at efa0      	SMBus adapter
i2c-1	i2c       	Synopsys DesignWare I2C adapter 	I2C adapter
i2c-2	i2c       	Synopsys DesignWare I2C adapter 	I2C adapter
i2c-3	i2c       	i915 gmbus dpa                  	I2C adapter
i2c-4	i2c       	i915 gmbus dpb                  	I2C adapter
i2c-5	i2c       	i915 gmbus dpc                  	I2C adapter
i2c-6	i2c       	i915 gmbus tc1                  	I2C adapter
i2c-7	i2c       	i915 gmbus tc2                  	I2C adapter
i2c-8	i2c       	i915 gmbus tc3                  	I2C adapter
i2c-9	i2c       	i915 gmbus tc4                  	I2C adapter
i2c-10	i2c       	i915 gmbus tc5                  	I2C adapter
i2c-11	i2c       	i915 gmbus tc6                  	I2C adapter
i2c-12	i2c       	AUX A/DDI A/PHY A               	I2C adapter
i2c-13	i2c       	AUX USBC1/DDI TC1/PHY TC1       	I2C adapter
i2c-14	i2c       	AUX USBC2/DDI TC2/PHY TC2       	I2C adapter
i2c-15	i2c       	AUX USBC3/DDI TC3/PHY TC3       	I2C adapter
i2c-16	i2c       	AUX USBC4/DDI TC4/PHY TC4       	I2C adapter

sudo get-edid -b 0 | parse-edid führt nicht zum Ziel.

Bus 0 doesn't really have an EDID...
Couldn't find an accessible EDID on this bus.
...

Aber unter der „4“ findet sich nach dem Aufruf von sudo get-edid -b 4 | parse-edid dann der gesuchte Monitor.

This is read-edid version 3.0.2. Prepare for some fun.
Attempting to use i2c interface
Only trying 4 as per your request.
Checksum Correct

Section "Monitor"
	Identifier "PHL 221V8"
	ModelName "PHL 221V8"
	VendorName "PHL"
	# Monitor Manufactured week 48 of 2022
	# EDID version 1.3
	# Digital Display
	DisplaySize 480 270
	Gamma 2.20
	Option "DPMS" "true"
	Horizsync 30-85
	VertRefresh 48-75
	# Maximum pixel clock is 180MHz
	#Not giving standard mode: 1920x1080, 60Hz
	#Not giving standard mode: 1680x1050, 60Hz
	#Not giving standard mode: 1440x900, 60Hz
	#Not giving standard mode: 1280x1024, 60Hz
	#Not giving standard mode: 1280x960, 60Hz
	#Not giving standard mode: 1280x720, 60Hz

	#Extension block found. Parsing...
	Modeline 	"Mode 13" 27.00 720 736 798 858 480 489 495 525 -hsync -vsync 
	Modeline 	"Mode 0" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync 
	Modeline 	"Mode 1" 174.50 1920 1968 2000 2080 1080 1083 1088 1119 +hsync -vsync 
	Modeline 	"Mode 2" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
	Modeline 	"Mode 3" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
	Modeline 	"Mode 4" 74.250 1920 2008 2052 2200 1080 1082 1087 1125 +hsync +vsync interlace
	Modeline 	"Mode 5" 74.250 1920 2448 2492 2640 1080 1082 1089 1125 +hsync +vsync interlace
	Modeline 	"Mode 6" 74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsync
	Modeline 	"Mode 7" 74.250 1280 1720 1760 1980 720 725 730 750 +hsync +vsync
	Modeline 	"Mode 8" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
	Modeline 	"Mode 9" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync
	Modeline 	"Mode 10" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
	Modeline 	"Mode 11" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync
	Modeline 	"Mode 12" 25.200 640 656 752 800 480 490 492 525 -hsync -vsync
	Modeline 	"Mode 14" 74.25 1280 1390 1430 1650 720 725 730 750 +hsync +vsync 
	Modeline 	"Mode 15" 27.00 720 736 798 858 480 489 495 525 -hsync -vsync 
	Modeline 	"Mode 16" 27.00 720 732 796 864 576 581 586 625 -hsync -vsync 
	Option "PreferredMode" "Mode 13"
EndSection
256-byte EDID successfully retrieved from i2c bus 4
Looks like i2c was successful. Have a good day.

Dann mit den obigen Daten unter /etc/X11/xorg.conf.d eine Datei mit beispielsweise dem Namen 20-monitore.conf angelegt, die dann so aussieht.

Section "Monitor"
    Identifier "PHL 227E6"
    ModelName "PHL 227E6"
    VendorName "PHL"
    # Monitor Manufactured week 52 of 2015
    # EDID version 1.3
    # Digital Display
    DisplaySize 480 270
    Gamma 2.20
    Option "DPMS" "true"
    Horizsync 30-83
    VertRefresh 56-76
    # Maximum pixel clock is 170MHz
    #Not giving standard mode: 1920x1080, 60Hz
    #Not giving standard mode: 1440x900, 60Hz
    #Not giving standard mode: 1440x900, 75Hz
    #Not giving standard mode: 1680x1050, 60Hz
    #Not giving standard mode: 1280x720, 60Hz
    #Not giving standard mode: 1280x1024, 60Hz

    #Extension block found. Parsing...
    Modeline 	"Mode 16" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync 
    Modeline 	"Mode 0" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync 
    Modeline 	"Mode 1" 25.200 640 656 752 800 480 490 492 525 -hsync -vsync
    Modeline 	"Mode 2" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
    Modeline 	"Mode 3" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
    Modeline 	"Mode 4" 74.250 1920 2008 2052 2200 1080 1082 1087 1125 +hsync +vsync interlace
    Modeline 	"Mode 5" 27.027 1440 1478 1602 1716 480 484 487 525 -hsync -vsync interlace
    Modeline 	"Mode 6" 27.027 1440 1478 1602 1716 480 484 487 525 -hsync -vsync interlace
    Modeline 	"Mode 7" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
    Modeline 	"Mode 8" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync
    Modeline 	"Mode 9" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync
    Modeline 	"Mode 10" 74.250 1280 1720 1760 1980 720 725 730 750 +hsync +vsync
    Modeline 	"Mode 11" 74.250 1920 2448 2492 2640 1080 1082 1089 1125 +hsync +vsync interlace
    Modeline 	"Mode 12" 27.000 1440 1464 1590 1728 576 578 581 625 -hsync -vsync interlace
    Modeline 	"Mode 13" 27.000 1440 1464 1590 1728 576 578 581 625 -hsync -vsync interlace
    Modeline 	"Mode 14" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
    Modeline 	"Mode 15" 74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsync
    Modeline 	"Mode 17" 27.00 720 736 798 858 480 489 495 525 -hsync -vsync 
    Modeline 	"Mode 18" 74.25 1280 1390 1430 1650 720 725 730 750 +hsync +vsync 
    Modeline 	"Mode 19" 27.00 720 732 796 864 576 581 586 625 -hsync -vsync 
    Option "PreferredMode" "Mode 16"
EndSection

Section "Monitor"
    Identifier "PHL 221V8"
    ModelName "PHL 221V8"
    VendorName "PHL"
    # Monitor Manufactured week 48 of 2022
    # EDID version 1.3
    # Digital Display
    DisplaySize 480 270
    Gamma 2.20
    Option "DPMS" "true"
    Horizsync 30-85
    VertRefresh 48-75
    # Maximum pixel clock is 180MHz
    #Not giving standard mode: 1920x1080, 60Hz
    #Not giving standard mode: 1680x1050, 60Hz
    #Not giving standard mode: 1440x900, 60Hz
    #Not giving standard mode: 1280x1024, 60Hz
    #Not giving standard mode: 1280x960, 60Hz
    #Not giving standard mode: 1280x720, 60Hz

    #Extension block found. Parsing...
    Modeline 	"Mode 13" 27.00 720 736 798 858 480 489 495 525 -hsync -vsync 
    Modeline 	"Mode 0" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync 
    Modeline 	"Mode 1" 174.50 1920 1968 2000 2080 1080 1083 1088 1119 +hsync -vsync 
    Modeline 	"Mode 2" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
    Modeline 	"Mode 3" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
    Modeline 	"Mode 4" 74.250 1920 2008 2052 2200 1080 1082 1087 1125 +hsync +vsync interlace
    Modeline 	"Mode 5" 74.250 1920 2448 2492 2640 1080 1082 1089 1125 +hsync +vsync interlace
    Modeline 	"Mode 6" 74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsync
    Modeline 	"Mode 7" 74.250 1280 1720 1760 1980 720 725 730 750 +hsync +vsync
    Modeline 	"Mode 8" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
    Modeline 	"Mode 9" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync
    Modeline 	"Mode 10" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
    Modeline 	"Mode 11" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync
    Modeline 	"Mode 12" 25.200 640 656 752 800 480 490 492 525 -hsync -vsync
    Modeline 	"Mode 14" 74.25 1280 1390 1430 1650 720 725 730 750 +hsync +vsync 
    Modeline 	"Mode 15" 27.00 720 736 798 858 480 489 495 525 -hsync -vsync 
    Modeline 	"Mode 16" 27.00 720 732 796 864 576 581 586 625 -hsync -vsync 
    Option "PreferredMode" "Mode 13"
EndSection

X.org dann neu gestartet und seitdem tritt das Problem nicht mehr auf. Zumindest vorerst ….


Stichworte: , , , , , ,
Kategorien: ,


Kommentare

Keine Kommentare

Kommentare

Geben Sie Ihren Kommentar hier ein. * Eingabe erforderlich. Sie müssen die Vorschau vor dem Absenden ansehen.