Skip to content

Comments

Fix DPMS timer not resetting when display activates#233

Merged
kdj0c merged 1 commit intokmscon:mainfrom
jtollet:main
Jan 18, 2026
Merged

Fix DPMS timer not resetting when display activates#233
kdj0c merged 1 commit intokmscon:mainfrom
jtollet:main

Conversation

@jtollet
Copy link
Contributor

@jtollet jtollet commented Jan 18, 2026

When kmscon starts with the display off/disconnected, the DPMS timer starts counting immediately. When the display later becomes active (via activate_display()), the screen is turned on but the timer is never reset.

This causes the timer to expire based on time since kmscon startup rather than time since display activation, leading to unexpected screen blanking shortly after the display becomes active.

This PR fixes the issue by calling seat_dpms_reset_timer() in activate_display() after setting DPMS to ON, ensuring the timer starts fresh when a display becomes active.

Changes:

  • Added forward declaration for seat_dpms_reset_timer()
  • Added call to seat_dpms_reset_timer() in activate_display() after DPMS ON

Testing:
Tested on Intel Alder Lake-N with i915 driver. The fix ensures the DPMS timeout is correctly reset when the display becomes active, regardless of whether the display was on or off when kmscon started.

When kmscon starts with the display off/disconnected, the DPMS timer
starts counting immediately. When the display later becomes active
(via activate_display()), the screen is turned on but the timer is
never reset.

This causes the timer to expire based on time since kmscon startup
rather than time since display activation, leading to unexpected
screen blanking shortly after the display becomes active.

Fix by calling seat_dpms_reset_timer() in activate_display() after
setting DPMS to ON, ensuring the timer starts fresh when a display
becomes active.

Signed-off-by: Jerome Tollet <[email protected]>
@kdj0c kdj0c merged commit 847efcc into kmscon:main Jan 18, 2026
2 checks passed
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

Successfully merging this pull request may close these issues.

2 participants