Add drm atomic modeset support by kdj0c · Pull Request #184 · kmscon/kmscon

Jocelyn Falempe added 8 commits

January 11, 2026 00:34
Split uterm_display_bind() in two steps.
In the atomic drm use case, all displays of a video card must be
setup together. So first enable all displays and then call the seat
and terminal callback to make use of the available displays.

The reason is that a GPU might be able to handle a 4K display on DP1
or on DP2, but not both at the same time. So the displays can't be
setup independantly.

Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
All drm drivers supports atomic modesetting.
Hopefully it won't break anything.
There is still the fbdev backend for fallback compatibility.

Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
 * use log_err() instead of log_error()
 * use ret value instead of errno.

Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
It is no more used, after the switch to atomic modesetting

Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
This makes it a bit easier to debug multi-display issue.

Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
When terminal is initialized, and font added, but no display is
attached yet, a warning is logged, but this is expected.
So remove this warning, as it is normal behavior.

Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
When switching VT, between Gnome and kmscon, the gnome cursor can
stay. Clear the CRTC_ID property of all cursor plane, to make sure
they are disabled.

Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>