Open digitaltrails opened 6 months ago
Try passing option --trcapi ddca_get_non_table_vcp_value to libddcutil by putting it config file ddcutilrc. This should give more detail as to what the internal error is.
The return code is coming from ddc_validate_display_ref called from ddca_open_display3 via ddca_open_display2. Still investigating... it's because drm_connector is NULL.
If I disable drm by adding --f12 to ~/.config/ddcutil/ddcutilrc, then the problem goes away.
Maybe this nvidia 550 driver's DRM is not quite all there.
What's the output of ddcutil det -v --f2?
What's the output of ddcutil det -v --f2?
The log I attached might not contain anything useful. This is beginning to look like some driver weirdness. Yesterday I connected the monitor while the system was up. This morning I cold booted this morning and the issue no longer occurs.
I'll see if I can cause the problem to reoccur.
BTW, the beng is connected by DVI-DP, the previous Nvidia driver had issues with DVI-DP, so maybe that's a factor.
I did a cold boot and then a hot-plug of the Beng, and the fault reoccurred. Log attached. Diff'ing the two logs shows that DRM doesn't appear to be properly initialized for the hotplugged monitor.
Exact process.
It's the driver. I powered down an disconnected my HP DP-DP connected monitor. Same story on hotplugging.
Display 1
I2C bus: /dev/i2c-0
EDID synopsis:
Mfg id: HWP - Hewlett Packard
Model: HP ZR24w
Product code: 10345 (0x2869)
Serial number: CNT00811J6
Binary serial number: 16843009 (0x01010101)
Manufacture year: 2010, Week: 8
VCP version: 2.2
Display 2
I2C bus: /dev/i2c-3
DRM connector: card0-DP-3
EDID synopsis:
Mfg id: GSM - Goldstar Company Ltd (LG)
Model: LG HDR 4K
Product code: 30471 (0x7707)
Serial number:
Binary serial number: 86395 (0x0001517b)
Manufacture year: 2019, Week: 4
VCP version: 2.1
This is not a big issue for me, but it might be for anyone with a laptop that might routinely hotplug a monitor.
Posted a query to forums.developer.nvidia.com: Driver 550.54 - no update to /sys/class/drm/… on hotplug of monitor
Sometimes these kinds of post get no official response - but often things eventually get fixed. I figure it can't hurt to make some noise.
I've seen this behaviour. On my deskstop system, I've found that if a monitor is removed the edid can still be there, and if a different monitor is connected the edid value is unchanged. I backed off on using the sysfs edid value instead of reading the edid directly - I may need to back off even more.
A couple days ago I tried creating some test cases to demonstrate the behaviour for an intended amdgpu drm bug report, but I was unable to reproduce the problem.
I've seen this behaviour. On my deskstop system, I've found that if a monitor is removed the edid can still be there, and if a different monitor is connected the edid value is unchanged. I backed off on using the sysfs edid value instead of reading the edid directly - I may need to back off even more.
It appears that DRM is not all there yet. Perhaps it's not yet essential to desktop environment, so the imperfections are not making enough waves.
A couple days ago I tried creating some test cases to demonstrate the behaviour for an intended amdgpu drm bug report, but I was unable to reproduce the problem.
Generally ddcutil/libddcutil has been pretty solid. Having dodgy drivers undermine that experience is a shame. I'd prefer to back off to the point where users aren't bothered by these problems.
Possibly some advanced options should default to off. Documentation could explain that an option may require specific GPUs and GPU-drivers. Perhaps even mentioning which GPUs and drivers are currently known to work well.
As a first step, I've added some asserts, which along with valgrind should indicate where the g_path_get_basename() calls are failing and suggest where to look further. As you can see from the branch 2.1.5 git log I've also improved tracing which should help with the next step.
So I should test with the latest code? Or is this something you are pursuing yourself?
Yes, please test with the latest code. Until I can reliably recreate the problem here, all I can do is stare at the code. Thanks.
Only the 2.1.5-dev branch has any recent commits, but they're not recent as in today. Am I not seeing things right?
Doing too many things today .. I just pushed the changes.
I'm not seeing anything interesting. ddc_validate_display_ref()
is still erroring due to a NULL drm_connector
. I presume this may be because /sys/class/drm/card0-DP-1/device/card0-DP-2/edid
is empty for the hotplugged monitor, whereas for all monitors present at boot, that file does contain an edid.
So I'm seeing no assertions firing on a getvcp. And --trcapi ddca_get_non_table_vcp_value didn't log anything extra.
So if you run the exact same steps that produced ddcutil-det-f2-problem.log, you get the same output as before with the GLib-CRITICAL msgs re g_path_get_basename, but no asserts in libddcutil. Is that correct?
So if you run the exact same steps that produced ddcutil-det-f2-problem.log, you get the same output as before with the GLib-CRITICAL msgs re g_path_get_basename, but no asserts in libddcutil. Is that correct?
Accessing libddcutil
from busctl
, I get no asserts, but it occured to me that you were really asking for the result of ./src/ddcutil detect -v --f2
, and that does have an assert failure:
% ./src/ddcutil detect -v --f2
*** Sys_Drm_Connector report: Detailed /sys/class/drm report: ***
Display connectors reported by DRM:
Connector: card0-DP-1
i2c_busno: -1
name: (null)
dev: (null)
enabled: disabled
status: connected
edid:
+0 +4 +8 +c 0 4 8 c
+0000 00 ff ff ff ff ff ff 00 22 f0 69 28 01 01 01 01 ........".i(....
+0010 08 14 01 04 a5 36 23 78 2e fc 81 a4 55 4d 9d 25 .....6#x....UM.%
+0020 12 50 54 21 08 00 81 40 81 80 95 00 a9 40 b3 00 .PT!...@.....@..
+0030 d1 c0 01 01 01 01 28 3c 80 a0 70 b0 23 40 30 20 ......(<..p.#@0
+0040 36 00 22 60 21 00 00 1a 00 00 00 fd 00 3b 3d 18 6."`!........;=.
+0050 50 11 00 0a 20 20 20 20 20 20 00 00 00 fc 00 48 P... .....H
+0060 50 20 5a 52 32 34 77 0a 20 20 20 20 00 00 00 ff P ZR24w. ....
+0070 00 43 4e 54 30 30 38 31 31 4a 36 0a 20 20 00 3d .CNT00811J6. .=
Connector: card0-DP-2
i2c_busno: -1
name: (null)
dev: (null)
enabled: disabled
status: disconnected
edid: None
Connector: card0-DP-3
i2c_busno: -1
name: (null)
dev: (null)
enabled: disabled
status: connected
edid:
+0 +4 +8 +c 0 4 8 c
+0000 00 ff ff ff ff ff ff 00 1e 6d 07 77 7b 51 01 00 .........m.w{Q..
+0010 04 1d 01 04 b5 3c 22 78 9e 3e 31 ae 50 47 ac 27 .....<"x.>1.PG.'
+0020 0c 50 54 21 08 00 71 40 81 80 81 c0 a9 c0 d1 c0 .PT!..q@........
+0030 81 00 01 01 01 01 4d d0 00 a0 f0 70 3e 80 30 20 ......M....p>.0
+0040 65 0c 58 54 21 00 00 1a 28 68 00 a0 f0 70 3e 80 e.XT!...(h...p>.
+0050 08 90 65 0c 58 54 21 00 00 1a 00 00 00 fd 00 38 ..e.XT!........8
+0060 3d 1e 87 38 00 0a 20 20 20 20 20 20 00 00 00 fc =..8.. ....
+0070 00 4c 47 20 48 44 52 20 34 4b 0a 20 20 20 01 9e .LG HDR 4K. ..
+0080 02 03 19 71 44 90 04 03 01 23 09 07 07 83 01 00 ...qD....#......
+0090 00 e3 05 c0 00 e3 06 05 01 02 3a 80 18 71 38 2d ..........:..q8-
+00a0 40 58 2c 45 00 58 54 21 00 00 1e 56 5e 00 a0 a0 @X,E.XT!...V^...
+00b0 a0 29 50 30 20 35 00 58 54 21 00 00 1a 00 00 00 .)P0 5.XT!......
+00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 29 ...............)
Connector: card0-HDMI-A-1
i2c_busno: -1
name: (null)
dev: (null)
enabled: disabled
status: disconnected
edid: None
*** Sysfs_I2C_Info report ***
All Sysfs_I2C_Info records
Sysfs_I2C_Info at: 0x556eda44e820
busno: 0
name: NVIDIA i2c adapter 3 at 8:00.0
adapter_path: (null)
adapter_class: (null)
driver: (null)
driver_version: (null)
conflicting_driver_names:
ddcutil: drm_common.c:87: adapter_supports_drm_using_drm_api: Assertion `adapter_path' failed.
[1] 8852 IOT instruction (core dumped) ./src/ddcutil detect -v --f2``
The assert failure in drm_common.c has been fixed.
I came across a clue this afternoon as to why a test case for for the missing DRM information is elusive. See https://super-unix.com/unixlinux/linux-how-to-make-linux-detect-re-probe-monitors-with-intel-i915-driver/ and section "Force-probing a connector" in https://dri.freedesktop.org/docs/drm/gpu/drm-uapi.html
Works here too. But I still get -3021 "DDCRC_INTERNAL_ERROR" if I do:
busctl --user call com.ddcutil.DdcutilService /com/ddcutil/DdcutilObject com.ddcutil.DdcutilInterface GetVcp isyu 2 "" "0x10" "0"
It's a proof of concept hack, but try the following in your failure scenario:
If the above works, then ensure that ddcutil-service calls ddca_redetect_displays() at least once.
Yes, that works. The echo needs to be done as root, so another udev rule is probably required.
After writing the status, as well as libddcutil
now working, the command-line ddcutil detect
now correctly reports the DRM connector for the monitor.
[Edited to correct - misread the output]
With the latest code detect is still not correctly reporting the EDID for card-0-dp2, although --f2 causes a segmentation fault.
./src/ddcutil detect -v --f2
*** Sys_Drm_Connector report: Detailed /sys/class/drm report: ***
Display connectors reported by DRM:
Connector: card0-DP-1
i2c_busno: -1
connector_number: -1
name: (null)
dev: (null)
enabled: disabled
status: connected
edid:
+0 +4 +8 +c 0 4 8 c
+0000 00 ff ff ff ff ff ff 00 22 f0 69 28 01 01 01 01 ........".i(....
+0010 08 14 01 04 a5 36 23 78 2e fc 81 a4 55 4d 9d 25 .....6#x....UM.%
+0020 12 50 54 21 08 00 81 40 81 80 95 00 a9 40 b3 00 .PT!...@.....@..
+0030 d1 c0 01 01 01 01 28 3c 80 a0 70 b0 23 40 30 20 ......(<..p.#@0
+0040 36 00 22 60 21 00 00 1a 00 00 00 fd 00 3b 3d 18 6."`!........;=.
+0050 50 11 00 0a 20 20 20 20 20 20 00 00 00 fc 00 48 P... .....H
+0060 50 20 5a 52 32 34 77 0a 20 20 20 20 00 00 00 ff P ZR24w. ....
+0070 00 43 4e 54 30 30 38 31 31 4a 36 0a 20 20 00 3d .CNT00811J6. .=
Connector: card0-DP-2
i2c_busno: -1
connector_number: -1
name: (null)
dev: (null)
enabled: disabled
status: disconnected
edid: None
Connector: card0-DP-3
i2c_busno: -1
connector_number: -1
name: (null)
dev: (null)
enabled: disabled
status: connected
edid:
+0 +4 +8 +c 0 4 8 c
+0000 00 ff ff ff ff ff ff 00 1e 6d 07 77 7b 51 01 00 .........m.w{Q..
+0010 04 1d 01 04 b5 3c 22 78 9e 3e 31 ae 50 47 ac 27 .....<"x.>1.PG.'
+0020 0c 50 54 21 08 00 71 40 81 80 81 c0 a9 c0 d1 c0 .PT!..q@........
+0030 81 00 01 01 01 01 4d d0 00 a0 f0 70 3e 80 30 20 ......M....p>.0
+0040 65 0c 58 54 21 00 00 1a 28 68 00 a0 f0 70 3e 80 e.XT!...(h...p>.
+0050 08 90 65 0c 58 54 21 00 00 1a 00 00 00 fd 00 38 ..e.XT!........8
+0060 3d 1e 87 38 00 0a 20 20 20 20 20 20 00 00 00 fc =..8.. ....
+0070 00 4c 47 20 48 44 52 20 34 4b 0a 20 20 20 01 9e .LG HDR 4K. ..
+0080 02 03 19 71 44 90 04 03 01 23 09 07 07 83 01 00 ...qD....#......
+0090 00 e3 05 c0 00 e3 06 05 01 02 3a 80 18 71 38 2d ..........:..q8-
+00a0 40 58 2c 45 00 58 54 21 00 00 1e 56 5e 00 a0 a0 @X,E.XT!...V^...
+00b0 a0 29 50 30 20 35 00 58 54 21 00 00 1a 00 00 00 .)P0 5.XT!......
+00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
+00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 29 ...............)
Connector: card0-HDMI-A-1
i2c_busno: -1
connector_number: -1
name: (null)
dev: (null)
enabled: disabled
status: disconnected
edid: None
*** Sysfs_I2C_Info report ***
All Sysfs_I2C_Info records
Sysfs_I2C_Info at: 0x5602339f3d10
busno: 0
name: NVIDIA i2c adapter 3 at 8:00.0
adapter_path: (null)
adapter_class: (null)
driver: (null)
driver_version: (null)
conflicting_driver_names:
Sysfs_I2C_Info at: 0x5602339f3be0
busno: 1
name: NVIDIA i2c adapter 4 at 8:00.0
adapter_path: (null)
adapter_class: (null)
driver: (null)
driver_version: (null)
conflicting_driver_names:
Sysfs_I2C_Info at: 0x5602339f3b80
busno: 2
name: NVIDIA i2c adapter 5 at 8:00.0
adapter_path: (null)
adapter_class: (null)
driver: (null)
driver_version: (null)
conflicting_driver_names:
Sysfs_I2C_Info at: 0x5602339e9c90
busno: 3
name: NVIDIA i2c adapter 6 at 8:00.0
adapter_path: (null)
adapter_class: (null)
driver: (null)
driver_version: (null)
conflicting_driver_names:
Sysfs_I2C_Info at: 0x5602339f3c60
busno: 4
name: SMBus PIIX4 adapter port 0 at 0b00
adapter_path: (null)
adapter_class: (null)
driver: (null)
driver_version: (null)
conflicting_driver_names:
Sysfs_I2C_Info at: 0x5602339eb560
busno: 5
name: SMBus PIIX4 adapter port 2 at 0b00
adapter_path: (null)
adapter_class: (null)
driver: (null)
driver_version: (null)
conflicting_driver_names:
Sysfs_I2C_Info at: 0x5602339eb5a0
busno: 6
name: SMBus PIIX4 adapter port 1 at 0b20
adapter_path: (null)
adapter_class: (null)
driver: (null)
driver_version: (null)
conflicting_driver_names:
*** Sysfs I2C devices possibly associated with displays ***
I2C buses to check: x00 x01 x02 x03
*** Sys_Conflicting_Driver report: Check for Conflicting Device Drivers ***
No conflicting drivers found
*** Sysfs Reports Done ***
Drm_Connector_State at: 0x5602339f5050
cardno: 0
connector_id: 88
connector_type: 10 - DRM_MODE_CONNECTOR_DisplayPort
connector_type_id: 1
connection: 1 - DRM_MODE_CONNECTED
Properties:
dpms: 0 - On
link_status: 0 - Good
[1] 1476 segmentation fault (core dumped) ./src/ddcutil detect -v --f2
Running with gdb and using where results in:
#0 get_enum_value_name (meta=0x0, value=0) at drm_connector_state.c:97
#1 0x00005555555f0e10 in dbgrpt_connector_state (state=0x555555689050, depth=depth@entry=0)
at drm_connector_state.c:345
#2 0x00005555555f1222 in report_drm_connector_states (depth=depth@entry=0) at drm_connector_state.c:544
#3 0x0000555555596235 in main (argc=<optimized out>, argv=<optimized out>) at main.c:905
The previous test of of a service GetVCP that failed in the first comment of this issue, now works:
busctl --user call com.ddcutil.DdcutilService /com/ddcutil/DdcutilObject com.ddcutil.DdcutilInterface GetVcp isyu "2" "" "16" "0"
qqsis 92 100 "current value = 92, max value = 100" 0 "OK"
In doing these recent tests, I did as before. I plugged in and connected the Beng after the system was already up.
One thing though, the status of the Beng is still disconnected:
cat /sys/class/drm/card0-DP-[123]/status
connected
disconnected
connected
But if I have root do echo detect > /sys/class/drm/card0-DP-2/status
, the status does refresh.
Note that ./src/ddcutil detect -v
is working and produces an EDID. The service Detect method is working too.
A fix for the segfault in get_enum_value_name() has been pushed to branch 2.1.5-dev
What happens now if you run through your test sequence with ddcutil detect -v --enable-try-get-edid-from-sysfs --f15
What is the output of cat /sys/class/drm/card0-DP-2/edid | parse-edid before and after the above command?
Powered up PC, connected Beng, used nvidia-settings to enable the added Beng. Found that /sys/class/drm/card0-DP-2/edid is always empty. The service change detection is is using libddcutil for change detection, but gets no change event on hotplug.
cat /sys/class/drm/card0-DP-2/edid | parse-edid
Partial Read... Try again
% cat /sys/class/drm/card0-DP-2/edid
%./src/ddcutil detect -v --enable-try-get-edid-from-sysfs --f15
Display 1
I2C bus: /dev/i2c-0
DRM connector: card0-DP-1
/sys/class/drm/card0-DP-1/dpms On
/sys/class/drm/card0-DP-1/enabled disabled
/sys/class/drm/card0-DP-1/status connected
Driver: Unknown
I2C address 0x50 (EDID) responsive: 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-0/name NVIDIA i2c adapter 3 at 8:00.0
PCI device path: /sys/devices/pci0000:00/0000:00:03.1/0000:08:00.0/i2c-0
EDID synopsis:
Mfg id: HWP - Hewlett Packard
Model: HP ZR24w
Product code: 10345 (0x2869)
Serial number: CNT00811J6
Binary serial number: 16843009 (0x01010101)
Manufacture year: 2010, Week: 8
EDID version: 1.4
Extra descriptor:
Video input definition: 0xa5 - Digital Input (DisplayPort), Bit depth: 8
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.312, 0.329
Red x,y: 0.644, 0.335
Green x,y: 0.304, 0.613
Blue x,y: 0.146, 0.070
Extension blocks: 0
EDID source: I2C
EDID hex dump:
+0 +4 +8 +c 0 4 8 c
+0000 00 ff ff ff ff ff ff 00 22 f0 69 28 01 01 01 01 ........".i(....
+0010 08 14 01 04 a5 36 23 78 2e fc 81 a4 55 4d 9d 25 .....6#x....UM.%
+0020 12 50 54 21 08 00 81 40 81 80 95 00 a9 40 b3 00 .PT!...@.....@..
+0030 d1 c0 01 01 01 01 28 3c 80 a0 70 b0 23 40 30 20 ......(<..p.#@0
+0040 36 00 22 60 21 00 00 1a 00 00 00 fd 00 3b 3d 18 6."`!........;=.
+0050 50 11 00 0a 20 20 20 20 20 20 00 00 00 fc 00 48 P... .....H
+0060 50 20 5a 52 32 34 77 0a 20 20 20 20 00 00 00 ff P ZR24w. ....
+0070 00 43 4e 54 30 30 38 31 31 4a 36 0a 20 20 00 3d .CNT00811J6. .=
VCP version: 2.2
Controller mfg: Mstar
Firmware version: 2.0
Monitor uses invalid feature flag in DDC reply packet to indicate unsupported feature.
Current dynamic sleep adjustment multiplier: 0.00
Display 2
I2C bus: /dev/i2c-1
Driver: Unknown
I2C address 0x50 (EDID) responsive: 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-1/name NVIDIA i2c adapter 4 at 8:00.0
PCI device path: /sys/devices/pci0000:00/0000:00:03.1/0000:08:00.0/i2c-1
EDID synopsis:
Mfg id: BNQ - UNK
Model: BenQ T2200HD
Product code: 30502 (0x7726)
Serial number: 2C803527SL0
Binary serial number: 21573 (0x00005445)
Manufacture year: 2008, Week: 51
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.312, 0.329
Red x,y: 0.648, 0.339
Green x,y: 0.282, 0.603
Blue x,y: 0.143, 0.070
Extension blocks: 0
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 26 77 45 54 00 00 ..........&wET..
+0010 33 12 01 03 80 30 1b 78 2e 35 81 a6 56 48 9a 24 3....0.x.5..VH.$
+0020 12 50 54 a5 4b 00 71 4f 81 80 d1 c0 01 01 01 01 .PT.K.qO........
+0030 01 01 01 01 01 01 02 3a 80 18 71 38 2d 40 58 2c .......:..q8-@X,
+0040 45 00 dd 0c 11 00 00 1e 00 00 00 ff 00 32 43 38 E............2C8
+0050 30 33 35 32 37 53 4c 30 0a 0a 00 00 00 fd 00 38 03527SL0.......8
+0060 4c 1e 53 11 00 0a 20 20 20 20 20 20 00 00 00 fc L.S... ....
+0070 00 42 65 6e 51 20 54 32 32 30 30 48 44 0a 00 2a .BenQ T2200HD..*
VCP version: 2.0
Controller mfg: RealTek
Firmware version: 2.0
Monitor uses DDC Null Message to indicate unsupported feature.
Current dynamic sleep adjustment multiplier: 1.00
Display 3
I2C bus: /dev/i2c-3
DRM connector: card0-DP-3
/sys/class/drm/card0-DP-3/dpms On
/sys/class/drm/card0-DP-3/enabled disabled
/sys/class/drm/card0-DP-3/status connected
Driver: Unknown
I2C address 0x50 (EDID) responsive: 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-3/name NVIDIA i2c adapter 6 at 8:00.0
PCI device path: /sys/devices/pci0000:00/0000:00:03.1/0000:08:00.0/i2c-3
EDID synopsis:
Mfg id: GSM - Goldstar Company Ltd (LG)
Model: LG HDR 4K
Product code: 30471 (0x7707)
Serial number:
Binary serial number: 86395 (0x0001517b)
Manufacture year: 2019, Week: 4
EDID version: 1.4
Extra descriptor:
Video input definition: 0xb5 - Digital Input (DisplayPort), Bit depth: 10
Supported features:
DPMS standby
Digital display type: RGB 4:4:4 + YCrCb 4:4:4 + YCrCb 4:2:2
Standard sRGB color space: True
White x,y: 0.312, 0.329
Red x,y: 0.680, 0.315
Green x,y: 0.280, 0.674
Blue x,y: 0.152, 0.050
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 1e 6d 07 77 7b 51 01 00 .........m.w{Q..
+0010 04 1d 01 04 b5 3c 22 78 9e 3e 31 ae 50 47 ac 27 .....<"x.>1.PG.'
+0020 0c 50 54 21 08 00 71 40 81 80 81 c0 a9 c0 d1 c0 .PT!..q@........
+0030 81 00 01 01 01 01 4d d0 00 a0 f0 70 3e 80 30 20 ......M....p>.0
+0040 65 0c 58 54 21 00 00 1a 28 68 00 a0 f0 70 3e 80 e.XT!...(h...p>.
+0050 08 90 65 0c 58 54 21 00 00 1a 00 00 00 fd 00 38 ..e.XT!........8
+0060 3d 1e 87 38 00 0a 20 20 20 20 20 20 00 00 00 fc =..8.. ....
+0070 00 4c 47 20 48 44 52 20 34 4b 0a 20 20 20 01 9e .LG HDR 4K. ..
VCP version: 2.1
Controller mfg: Mstar
Firmware version: 3.3
Monitor uses invalid feature flag in DDC reply packet to indicate unsupported feature.
Current dynamic sleep adjustment multiplier: 0.00
% cat /sys/class/drm/card0-DP-2/edid | parse-edid
Partial Read... Try again
% cat /sys/class/drm/card0-DP-2/edid
I plugged in my old beng monitor, it works fine with ddcutil-service+libddcutil-1.4 and with with ddcutil 2.1.5-dev command. But errors when I use ddcutil-service with libddcutil-2.1.5-dev it errors:
Detect is working fine:
I'll look into this more later, but I thought I let you know ASAP. It may have been happening with earlier version too, but I had Nvidia issues so I hadn't plugged in this monitor.