Hi there!
I have an external monitor that is capable of 4K@144Hz HDR (Benq EX3210U) that is connected to the HDMI port of my Asus ROG Strix laptop with an HDMI 2.1 cable. The laptop itself is an advanced optimus MUX type laptop, and I believe the HDMI port is directly wired to the nVidia Geforce RTX 4090 mobile dGPU in this configuration.
The overarching issue that I am seeing is that if the external monitor is configured to have a display rate higher than 30Hz, it fails to wake up properly from powersave mode.
I have been digging at this issue for a while, and have bug reports with KDE:
https://bugs.kde.org/show_bug.cgi?id=496631
And ddcutil:
opened 08:36AM - 10 Dec 24 UTC
Hi there!
I've been seeing an issue with my external monitor. It's a fairly n… ew and expensive Benq EX3210U monitor, alledgedly capable of 4K@144Hz in HDR. The best I have seen is 4K@120fps in HDR and SDR, but that might be a different discussion.
This monitor is connected via a HDMI 2.1 cable to the HDMI port of my Asus ROG Strix Scar laptop. It is an Advanced Optimus MUX type laptop, and apparently the HDMI port is directly wired to the nVidia RTX 4090 that is the laptops dGPU.
The operating system is Arch Linux, fully up to date.
The issue that I am seeing I have reported to the KDE bug tracker.
https://bugs.kde.org/show_bug.cgi?id=496631
The reason that I am here, is that there seems to be some inconsistency in the way that ddcutil is detecting this display.
If the monitor is powered down, unplugged from power and the HDMI port, and then plugged in sudo ddcutil detect --verbose --ddc --sleep-multiplier 20 returns:
```
[evert@Evert ~]$ sudo ddcutil detect --verbose --ddc --sleep-multiplier 20
Invalid display
I2C bus: /dev/i2c-3
DRM connector: card1-eDP-1
/sys/class/drm/card1-eDP-1/dpms On
/sys/class/drm/card1-eDP-1/enabled enabled
/sys/class/drm/card1-eDP-1/status connected
/sys/class/drm/card1-eDP-1/connector_id93
Driver: amdgpu
EDID exists: true
I2C address 0x37 (DDC) responsive: false
Is LVDS or EDP display: false
Is laptop display by EDID: false
Is laptop display: false
/sys/bus/i2c/devices/i2c-3/name AMDGPU DM i2c hw bus 0
PCI device path: /sys/devices/pci0000:00/0000:00:08.1/0000:09:00.0/i2c-3
EDID synopsis:
Mfg id: BOE - BOE
Model: NE173QHM-NZ2
Product code: 2921 (0x0b69)
Serial number:
Binary serial number: 0 (0x00000000)
Manufacture year: 2022, Week: 24
EDID version: 1.4
Extra descriptor: BOE CQ
Video input definition: 0xa5 - Digital Input (DisplayPort), Bit depth: 8
Supported features:
Digital display type: RGB 4:4:4
Standard sRGB color space: False
White x,y: 0.313, 0.329
Red x,y: 0.680, 0.320
Green x,y: 0.265, 0.690
Blue x,y: 0.150, 0.060
Extension blocks: 1
EDID source: SYSFS
EDID hex dump:
+0 +4 +8 +c 0 4 8 c
+0000 00 ff ff ff ff ff ff 00 09 e5 69 0b 00 00 00 00 ..........i.....
+0010 18 20 01 04 a5 26 15 78 03 0f 95 ae 52 43 b0 26 . ...&.x....RC.&
+0020 0f 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 .PT.............
+0030 01 01 01 01 01 01 e2 67 00 b0 a0 a0 b4 50 30 20 .......g.....P0
+0040 36 00 7d d6 10 00 00 1a 00 00 00 fd 0c 3c f0 86 6.}..........<..
+0050 86 6a 01 0a 20 20 20 20 20 20 00 00 00 fc 00 4e .j.. .....N
+0060 45 31 37 33 51 48 4d 2d 4e 5a 32 0a 00 00 00 fe E173QHM-NZ2.....
+0070 00 42 4f 45 20 43 51 0a 20 20 20 20 20 20 01 62 .BOE CQ. .b
This monitor does not support DDC/CI. (I2C slave address x37 is unresponsive.)
If the monitor's on screen display has a DDC/CI setting, check it is enabled.
Monitor Model Id: BOE-NE173QHM_NZ2-2921
Feature definition file BOE-NE173QHM_NZ2-2921.mccs not found.
Display 1
I2C bus: /dev/i2c-17
DRM connector: card0-HDMI-A-1
/sys/class/drm/card0-HDMI-A-1/dpms On
/sys/class/drm/card0-HDMI-A-1/enabled disabled
/sys/class/drm/card0-HDMI-A-1/status connected
/sys/class/drm/card0-HDMI-A-1/connector_id109
Driver: nvidia
EDID exists: true
I2C address 0x37 (DDC) responsive: true
Is LVDS or EDP display: false
Is laptop display by EDID: false
Is laptop display: false
/sys/bus/i2c/devices/i2c-17/name NVIDIA i2c adapter 5 at 1:00.0
PCI device path: /sys/devices/pci0000:00/0000:00:01.1/0000:01:00.0/i2c-17
EDID synopsis:
Mfg id: BNQ - UNK
Model: BenQ EX3210U
Product code: 32678 (0x7fa6)
Serial number: ETW5N05026SL0
Binary serial number: 16843009 (0x01010101)
Manufacture year: 2022, Week: 21
EDID version: 1.3
Extra descriptor:
Video input definition: 0x80 - Digital Input
Supported features:
DPMS active-off
Digital display type: RGB 4:4:4 + YCrCb 4:4:4
Standard sRGB color space: False
White x,y: 0.313, 0.329
Red x,y: 0.688, 0.308
Green x,y: 0.181, 0.735
Blue x,y: 0.149, 0.057
Extension blocks: 1
EDID source: I2C
EDID hex dump:
+0 +4 +8 +c 0 4 8 c
+0000 00 ff ff ff ff ff ff 00 09 d1 a6 7f 01 01 01 01 ................
+0010 15 20 01 03 80 47 28 78 2a 75 65 b0 4e 2e bc 26 . ...G(x*ue.N..&
+0020 0e 50 54 a5 6b 80 d1 c0 81 c0 81 00 81 80 a9 c0 .PT.k...........
+0030 b3 00 81 bc 61 7c 4d d0 00 a0 f0 70 3e 80 30 20 ....a|M....p>.0
+0040 35 00 c4 8f 21 00 00 1a 00 00 00 ff 00 45 54 57 5...!........ETW
+0050 35 4e 30 35 30 32 36 53 4c 30 00 00 00 fd 00 30 5N05026SL0.....0
+0060 78 1e ff 77 00 0a 20 20 20 20 20 20 00 00 00 fc x..w.. ....
+0070 00 42 65 6e 51 20 45 58 33 32 31 30 55 0a 01 11 .BenQ EX3210U...
VCP version: 2.1
Controller mfg: Novatek
Firmware version: 0.3
Monitor uses invalid feature flag in DDC reply packet to indicate unsupported feature.
Current dynamic sleep adjustment multiplier: 1.60
Monitor Model Id: BNQ-BenQ_EX3210U-32678
Feature definition file BNQ-BenQ_EX3210U-32678.mccs not found.
```
If, however, this computer is restarted with the monitor connected, it returns this:
```
[evert@Evert ~]$ sudo ddcutil detect --verbose --ddc --sleep-multiplier 20
Invalid display
I2C bus: /dev/i2c-3
DRM connector: card1-eDP-1
/sys/class/drm/card1-eDP-1/dpms On
/sys/class/drm/card1-eDP-1/enabled enabled
/sys/class/drm/card1-eDP-1/status connected
/sys/class/drm/card1-eDP-1/connector_id93
Driver: amdgpu
EDID exists: true
I2C address 0x37 (DDC) responsive: false
Is LVDS or EDP display: false
Is laptop display by EDID: false
Is laptop display: false
/sys/bus/i2c/devices/i2c-3/name AMDGPU DM i2c hw bus 0
PCI device path: /sys/devices/pci0000:00/0000:00:08.1/0000:09:00.0/i2c-3
EDID synopsis:
Mfg id: BOE - BOE
Model: NE173QHM-NZ2
Product code: 2921 (0x0b69)
Serial number:
Binary serial number: 0 (0x00000000)
Manufacture year: 2022, Week: 24
EDID version: 1.4
Extra descriptor: BOE CQ
Video input definition: 0xa5 - Digital Input (DisplayPort), Bit depth: 8
Supported features:
Digital display type: RGB 4:4:4
Standard sRGB color space: False
White x,y: 0.313, 0.329
Red x,y: 0.680, 0.320
Green x,y: 0.265, 0.690
Blue x,y: 0.150, 0.060
Extension blocks: 1
EDID source: SYSFS
EDID hex dump:
+0 +4 +8 +c 0 4 8 c
+0000 00 ff ff ff ff ff ff 00 09 e5 69 0b 00 00 00 00 ..........i.....
+0010 18 20 01 04 a5 26 15 78 03 0f 95 ae 52 43 b0 26 . ...&.x....RC.&
+0020 0f 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 .PT.............
+0030 01 01 01 01 01 01 e2 67 00 b0 a0 a0 b4 50 30 20 .......g.....P0
+0040 36 00 7d d6 10 00 00 1a 00 00 00 fd 0c 3c f0 86 6.}..........<..
+0050 86 6a 01 0a 20 20 20 20 20 20 00 00 00 fc 00 4e .j.. .....N
+0060 45 31 37 33 51 48 4d 2d 4e 5a 32 0a 00 00 00 fe E173QHM-NZ2.....
+0070 00 42 4f 45 20 43 51 0a 20 20 20 20 20 20 01 62 .BOE CQ. .b
This monitor does not support DDC/CI. (I2C slave address x37 is unresponsive.)
If the monitor's on screen display has a DDC/CI setting, check it is enabled.
Monitor Model Id: BOE-NE173QHM_NZ2-2921
Feature definition file BOE-NE173QHM_NZ2-2921.mccs not found.
Invalid display
I2C bus: /dev/i2c-7
DRM connector: card1-eDP-1
/sys/class/drm/card1-eDP-1/dpms On
/sys/class/drm/card1-eDP-1/enabled enabled
/sys/class/drm/card1-eDP-1/status connected
/sys/class/drm/card1-eDP-1/connector_id93
Driver: amdgpu
EDID exists: true
I2C address 0x37 (DDC) responsive: false
Is LVDS or EDP display: false
Is laptop display by EDID: false
Is laptop display: false
/sys/bus/i2c/devices/i2c-7/name AMDGPU DM aux hw bus 0
PCI device path: /sys/devices/pci0000:00/0000:00:08.1/0000:09:00.0/drm/card1/card1-eDP-1/i2c-7
EDID synopsis:
Mfg id: BOE - BOE
Model: NE173QHM-NZ2
Product code: 2921 (0x0b69)
Serial number:
Binary serial number: 0 (0x00000000)
Manufacture year: 2022, Week: 24
EDID version: 1.4
Extra descriptor: BOE CQ
Video input definition: 0xa5 - Digital Input (DisplayPort), Bit depth: 8
Supported features:
Digital display type: RGB 4:4:4
Standard sRGB color space: False
White x,y: 0.313, 0.329
Red x,y: 0.680, 0.320
Green x,y: 0.265, 0.690
Blue x,y: 0.150, 0.060
Extension blocks: 1
EDID source: I2C
EDID hex dump:
+0 +4 +8 +c 0 4 8 c
+0000 00 ff ff ff ff ff ff 00 09 e5 69 0b 00 00 00 00 ..........i.....
+0010 18 20 01 04 a5 26 15 78 03 0f 95 ae 52 43 b0 26 . ...&.x....RC.&
+0020 0f 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 .PT.............
+0030 01 01 01 01 01 01 e2 67 00 b0 a0 a0 b4 50 30 20 .......g.....P0
+0040 36 00 7d d6 10 00 00 1a 00 00 00 fd 0c 3c f0 86 6.}..........<..
+0050 86 6a 01 0a 20 20 20 20 20 20 00 00 00 fc 00 4e .j.. .....N
+0060 45 31 37 33 51 48 4d 2d 4e 5a 32 0a 00 00 00 fe E173QHM-NZ2.....
+0070 00 42 4f 45 20 43 51 0a 20 20 20 20 20 20 01 62 .BOE CQ. .b
This monitor does not support DDC/CI. (I2C slave address x37 is unresponsive.)
If the monitor's on screen display has a DDC/CI setting, check it is enabled.
Monitor Model Id: BOE-NE173QHM_NZ2-2921
Feature definition file BOE-NE173QHM_NZ2-2921.mccs not found.
Invalid display
I2C bus: /dev/i2c-17
DRM connector: card0-HDMI-A-1
/sys/class/drm/card0-HDMI-A-1/dpms On
/sys/class/drm/card0-HDMI-A-1/enabled disabled
/sys/class/drm/card0-HDMI-A-1/status connected
/sys/class/drm/card0-HDMI-A-1/connector_id109
Driver: nvidia
EDID exists: true
I2C address 0x37 (DDC) responsive: false
Is LVDS or EDP display: false
Is laptop display by EDID: false
Is laptop display: false
/sys/bus/i2c/devices/i2c-17/name NVIDIA i2c adapter 5 at 1:00.0
PCI device path: /sys/devices/pci0000:00/0000:00:01.1/0000:01:00.0/i2c-17
EDID synopsis:
Mfg id: BNQ - UNK
Model: BenQ EX3210U
Product code: 32678 (0x7fa6)
Serial number: ETW5N05026SL0
Binary serial number: 16843009 (0x01010101)
Manufacture year: 2022, Week: 21
EDID version: 1.3
Extra descriptor:
Video input definition: 0x80 - Digital Input
Supported features:
DPMS active-off
Digital display type: RGB 4:4:4 + YCrCb 4:4:4
Standard sRGB color space: False
White x,y: 0.313, 0.329
Red x,y: 0.688, 0.308
Green x,y: 0.181, 0.735
Blue x,y: 0.149, 0.057
Extension blocks: 1
EDID source: I2C
EDID hex dump:
+0 +4 +8 +c 0 4 8 c
+0000 00 ff ff ff ff ff ff 00 09 d1 a6 7f 01 01 01 01 ................
+0010 15 20 01 03 80 47 28 78 2a 75 65 b0 4e 2e bc 26 . ...G(x*ue.N..&
+0020 0e 50 54 a5 6b 80 d1 c0 81 c0 81 00 81 80 a9 c0 .PT.k...........
+0030 b3 00 81 bc 61 7c 4d d0 00 a0 f0 70 3e 80 30 20 ....a|M....p>.0
+0040 35 00 c4 8f 21 00 00 1a 00 00 00 ff 00 45 54 57 5...!........ETW
+0050 35 4e 30 35 30 32 36 53 4c 30 00 00 00 fd 00 30 5N05026SL0.....0
+0060 78 1e ff 77 00 0a 20 20 20 20 20 20 00 00 00 fc x..w.. ....
+0070 00 42 65 6e 51 20 45 58 33 32 31 30 55 0a 01 11 .BenQ EX3210U...
This monitor does not support DDC/CI. (I2C slave address x37 is unresponsive.)
If the monitor's on screen display has a DDC/CI setting, check it is enabled.
Monitor Model Id: BNQ-BenQ_EX3210U-32678
Feature definition file BNQ-BenQ_EX3210U-32678.mccs not found.
```
This may or may not be related to my original issue of KDE not outputting to this monitor if it wakes up with a defined frame rate higher than 30fps, but it is something that is a little interesting to me.
For completeness, I am also attaching the output of sudo ddcutil interrogate when the monitor is freshly woken up and actually responds to ddcutil. It seems to hang on my system, so it might be incomplete.
[2024-12-10_DDCUtil_interrogate_Fresh_Powerup.txt](https://github.com/user-attachments/files/18075746/2024-12-10_DDCUtil_interrogate_Fresh_Powerup.txt)
Any help in figuring out what is going on and which direction to look would be awesome. I have been in contact with BenQ to see if I can get a firmware update for this monitor, but so far we have been unable to update this monitor.
In summary, one thing that I can see that is wrong, is that if the monitor is connected and powered up when the laptop boots, it claims not to support DDC/CI. If, on the other hand the laptop is booted and then the external monitor is powered up and connected to the laptop, it now says it does support DDC/CI.
This may or may not be related to the monitor not waking up properly when configured for higher frame rates than 30Hz.
One KDE dev hinted that this may be a driver issue, which is why I am here.
System info:
Operating System: Arch Linux
KDE Plasma Version: 6.2.4
KDE Frameworks Version: 6.8.0
Qt Version: 6.8.1
Kernel Version: 6.12.1-arch1-1.1-g14 (64-bit)
Graphics Platform: Wayland
Processors: 32 × AMD Ryzen 9 7945HX3D with Radeon Graphics
Memory: 62.0 GiB of RAM
Graphics Processor: AMD Radeon 610M
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: ROG Strix G733PYV_G733PYV
System Version: 1.0
Of course, that does not paint the full picture.
[evert@Evert ~]$ switcherooctl
Device: 0
Name: Advanced Micro Devices, Inc. [AMD®/ATI] Raphael
Default: yes
Environment: DRI_PRIME=pci-0000_09_00_0
Device: 1
Name: NVIDIA Corporation AD103M / GN21-X11 [GeForce RTX 4090 Laptop GPU]
Default: no
Environment: __GLX_VENDOR_LIBRARY_NAME=nvidia __NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only
I am running nVidia driver version 565.77, the open dkms version.
Any help in further troubleshooting this issue, and the issue of the higher frame rates messing up the ability of this monitor to wake up properly would be highly appreciated.