Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Display brightness got stuck on a high level after booting #99

Open
major-mayer opened this issue Jan 30, 2025 · 2 comments
Open

Display brightness got stuck on a high level after booting #99

major-mayer opened this issue Jan 30, 2025 · 2 comments

Comments

@major-mayer
Copy link

Hi,
Unfortunately, I can't give a really precise description of what happened, but I still wanted to report this issue.
Maybe you can find out something from the logs.

I just booted my PC and while at first the brightness of my two displays was quite dark (probably from the settings of last evening), after a few seconds my primary display (PHL_326M6V_354) turned really bright while the second one (Acer_S222HQL_LR0080194201) didn't so much.
I tried to perform the lighting check manually, but this changed nothing, and the manual brightness slider in the main menu also didn't work.
Vdu_control reported that it was unable to change the brightness (I can't remember the original words anymore).

Then I restarted vdu_control and everything worked again.

Here are the logs for vdu_control:

30.01.25 10:35	systemd	Starting VDU Controls...
30.01.25 10:35	systemd	Started VDU Controls.
30.01.25 10:35	vdu_controls	10:35:28 INFO: VDU Controls 2.1.2 /usr/bin/vdu_controls
30.01.25 10:35	vdu_controls	10:35:28 INFO: python-locale: ('de_DE', 'UTF-8') Qt-locale: de_DE
30.01.25 10:35	vdu_controls	10:35:28 INFO: app-style: breeze (detected a dark theme)
30.01.25 10:35	vdu_controls	10:35:28 INFO: Looking for config file '/home/laurenz/.config/vdu_controls/vdu_controls.conf'
30.01.25 10:35	vdu_controls	10:35:28 INFO: Using config file '/home/laurenz/.config/vdu_controls/vdu_controls.conf'
30.01.25 10:35	vdu_controls	10:35:28 INFO: Logging to syslog
30.01.25 10:35	vdu_controls	Reading autolux file '/home/laurenz/.config/vdu_controls/AutoLux.conf'
30.01.25 10:35	vdu_controls	Screen HDMI-A-4
30.01.25 10:35	vdu_controls	Screen DP-2
30.01.25 10:35	vdu_controls	Screen HDMI-A-1
30.01.25 10:35	vdu_controls	Using monochrome app_icon: monochrome_tray=True mono_light_tray=False
30.01.25 10:35	vdu_controls	Using system tray.
30.01.25 10:35	vdu_controls	Configuring application (reconfiguring=False)...
30.01.25 10:35	[email protected]	Detected VDU-count=2 - skipping i2c-dev verification
30.01.25 10:35	vdu_controls	ddcutil version (2, 1, 4) (dynamic-sleep=True) - interface 1.0.12 (D-Bus ddcutil-service - libddcutil)
30.01.25 10:35	vdu_controls	Using monochrome app_icon: monochrome_tray=True mono_light_tray=False
30.01.25 10:35	vdu_controls	Number of detected monitors is stable at 2 (loop=2)
30.01.25 10:35	vdu_controls	Initializing controls for vdu_number='1' vdu_model_name='Acer_S222HQL' self.vdu_stable_id='Acer_S222HQL_LR0080194201'
30.01.25 10:35	vdu_controls	env VDU_CONTROLS_UI_IDLE_SECS=0.5
30.01.25 10:35	vdu_controls	Using config file '/home/laurenz/.config/vdu_controls/Acer_S222HQL_LR0080194201.conf'
30.01.25 10:35	vdu_controls	Initializing controls for vdu_number='2' vdu_model_name='PHL_326M6V' self.vdu_stable_id='PHL_326M6V_354'
30.01.25 10:35	vdu_controls	Using config file '/home/laurenz/.config/vdu_controls/PHL_326M6V_354.conf'
30.01.25 10:35	vdu_controls	native_font_height_pixels=18
30.01.25 10:35	vdu_controls	PHL_326M6V:354 get_vcp_values 10,12,0C D-Bus  status=-3020: DDCRC_INVALID_DISPLAY: Error(s) opening ddc devices
30.01.25 10:35	vdu_controls	Using monochrome app_icon: monochrome_tray=True mono_light_tray=False
30.01.25 10:35	vdu_controls	Using monochrome app_icon: monochrome_tray=True mono_light_tray=False
30.01.25 10:37	vdu_controls	Scheduling is disabled or no location (location=None)
30.01.25 10:37	vdu_controls	Lux auto-brightness settings refresh - restart monitoring.
30.01.25 10:37	vdu_controls	LuxAutoWorker: lux-meter.interval-minutes=20
30.01.25 10:37	vdu_controls	LuxAutoWorker: lux-meter.samples-per-minute=3
30.01.25 10:37	vdu_controls	LuxAutoWorker: lux-meter.smoother-n=5
30.01.25 10:37	vdu_controls	LuxAutoWorker: lux-meter.smoother-alpha=0.5
30.01.25 10:37	vdu_controls	LuxAutoWorker: lux-meter.interpolate-brightness=False
30.01.25 10:37	vdu_controls	LuxAutoWorker: lux-meter.interpolation-sensitivity-percent=10
30.01.25 10:37	vdu_controls	LuxAutoWorker: lux-meter.convergence-divisor=2
30.01.25 10:37	vdu_controls	LuxAutoWorker: lux-meter.step-pause-millis=100
30.01.25 10:37	vdu_controls	LuxAutoWorker: protect-nvram enabled, ignoring max-brightness-jump
30.01.25 10:37	vdu_controls	Completed configuring application
30.01.25 10:37	vdu_controls	LuxAutoWorker monitoring commences thread_pid()=5003
30.01.25 10:37	vdu_controls	LuxMeterSerialDevice: Initialising character device /dev/arduino
30.01.25 10:37	vdu_controls	LuxAutoWorker 5003: Start transitions vdu_sid='Acer_S222HQL_LR0080194201' current_brightness=5 to profile_brightness=63  profile_preset_name=None 5 lux
30.01.25 10:37	vdu_controls	LuxAutoWorker: Brightness error on PHL_326M6V_354, will sleep and try again: VduException: PHL_326M6V:354 op=get_vcp_values attr=10 D-Bus  status=-3020: DDCRC_INVALID_DISPLAY: Error(s) opening ddc devices -1
30.01.25 10:37	vdu_controls	Retry read of /dev/arduino, will reopen feed in 10 seconds. Cause: value that failed to parse: b'0\\r\\n'
30.01.25 10:37	vdu_controls	LuxAutoWorker: adjustments completed VCP-changes: {'Acer_S222HQL_LR0080194201': 1, 'PHL_326M6V_354': 1}, profile_preset_name=None error_count=1
30.01.25 10:37	vdu_controls	LuxMeterSerialDevice: Initialising character device /dev/arduino
30.01.25 10:37	vdu_controls	LuxAutoWorker: adjustments completed VCP-changes: None, profile_preset_name=None error_count=1
30.01.25 10:39	vdu_controls	VDU may not be available: VduException: PHL_326M6V:354 op=get_vcp_values attr=10 D-Bus  status=-3020: DDCRC_INVALID_DISPLAY: Error(s) opening ddc devices
30.01.25 10:40	vdu_controls	Wrote config to /home/laurenz/.config/vdu_controls/AutoLux.conf
30.01.25 10:40	vdu_controls	Wrote config to /home/laurenz/.config/vdu_controls/AutoLux.conf
30.01.25 10:40	vdu_controls	LuxAutoWorker: adjustments completed VCP-changes: None, profile_preset_name=None error_count=1

And here for ddcutil_service:

30.01.25 10:35	[email protected]	Running /usr/bin/ddcutil-service (ddcutil-service)
30.01.25 10:35	[email protected]	ddcutil-service 1.0.12, libddcutil 2.1.4
30.01.25 10:35	ddcutil-service	Initializing libddcutil.  ddcutil version: 2.1.4, shared library: /usr/lib/libddcutil.so.5.1.2
30.01.25 10:35	ddcutil-service	Options passed from client:
30.01.25 10:35	ddcutil-service	Using options from /home/laurenz/.config/ddcutil/ddcutilrc: --trcfunc ddc_redetect_displays --trcfunc ddc_detect_all_displays  --trcfunc ddca_get_display_info_list2
30.01.25 10:35	ddcutil-service	Applying combined options: --trcfunc ddc_redetect_displays --trcfunc ddc_detect_all_displays --trcfunc ddca_get_display_info_list2
30.01.25 10:35	[email protected]	Verifying libddcutil and i2c-dev dependencies (i2c-dev kernel module and device permissions)...
30.01.25 10:35	ddcutil-service	Library initialization complete.
30.01.25 10:35	ddcutil-service	Display redetection starting.
30.01.25 10:35	ddcutil-service	Display redetection finished.
30.01.25 10:35	[email protected]	Registered /com/ddcutil/DdcutilObject
30.01.25 10:35	[email protected]	Name acquired com.ddcutil.DdcutilService
30.01.25 10:35	[email protected]	ServiceEmitConnectivitySignals ddcutil-service polling every 30 seconds
30.01.25 10:35	ddcutil-service	Display redetection starting.
30.01.25 10:35	ddcutil-service	busno=9, sleep-multiplier =  0.05. Testing for supported feature 0x10 returned Error_Info[EIO in ddc_write_read_with_retry, causes: EIO]
30.01.25 10:35	ddcutil-service	Display redetection finished.
30.01.25 10:35	ddcutil-service	Display redetection starting.
30.01.25 10:35	ddcutil-service	Display redetection finished.
30.01.25 10:37	ddcutil-service	dh=Display_Handle[i2c-10: fd=9], Replacing adjusted sleep multiplier 0.00 with 1.00 for SE_POST_WRITE or SE_POST_SAVE_SETTINGS

If you want to take a look at the full logs, I uploaded them to a Pastebin, because I had debug logging enabled: https://pastebin.mozilla.org/k43EuigX
Maybe you can spot something there.

@major-mayer
Copy link
Author

Just happened again, this time after resuming from sleep.
This time I am able to manually lower the display brightness using the slider.
But performing the lighting check results in the following warning:

Image

@digitaltrails
Copy link
Owner

Pastebin link didn't work - but what you've posted seems adequate:

PHL_326M6V:354 get_vcp_values 10,12,0C D-Bus  status=-3020: DDCRC_INVALID_DISPLAY: Error(s) opening ddc devices

It looks like libddcutil, used by ddcutil-service, is having trouble communicating with the monitor, it's returning input/output error:

30.01.25 10:35	ddcutil-service	busno=9, sleep-multiplier =  0.05. Testing for supported feature 0x10 returned Error_Info[EIO in ddc_write_read_with_retry, causes: EIO]

It seems the PHL_326M6V is not responding, or not responding properly/immediately.

I take it everything had been working fine for some period before this. Has something changed:

  • New monitor?
  • VDU Controls 2.1.2
  • ddcutil-service 1.0.12
  • libddcutil 2.1.4
  • GPU driver
  • Kernel
  • Other hardware changes
  • Cables/Connectors (become loose over time?)
  • KDE version
  • Something slowing down or bogging down boot/resume

Having considered/checked the above...

Does command line ddcutil work with it this monitor (for all of detect, getvcp, and setvcp)?

Ddcutil and libddcutil tries to optimise the sleep multiplier related parameters over time. It caches rolling figures in ~/.cache/ddcutil/. Maybe remove or move the cache and force it to start over. For example:

mv ~/.cache/ddcutil ~/.cache/ddcutil-old   # preserve old cache in case you want to put it back
killall ddcutil-service   # this should cause a new service to start when next accessed.

You can try using the vdu_controls settings tab for the Philips monitor to alter the sleep multiplier of that monitor to 1.0 or a bit higher. That should stop libddcutil from trying automatically minimise the sleep multiplier when being used by vdu_controls.

You might also experimentally change vdu_controls back to using the ddcutil command and see how that goes for a while.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants