Package Details: kmscon 9.2.1-1

Git Clone URL: https://aur.archlinux.org/kmscon.git (read-only, click to copy)
Package Base: kmscon
Description: Kernel Mode Setting (KMS) and DRM based virtual Console Emulator
Upstream URL: https://github.com/kmscon/kmscon
Keywords: console drm emulator kms kmscon terminal virtual
Licenses: MIT
Submitter: arojas
Maintainer: GreyXor
Last Packager: GreyXor
Votes: 13
Popularity: 2.87
First Submitted: 2023-04-01 08:32 (UTC)
Last Updated: 2025-12-03 11:12 (UTC)

Latest Comments

1 2 Next › Last »

thx1138 commented on 2026-01-22 23:14 (UTC) (edited on 2026-01-23 08:04 (UTC) by thx1138)

Please note, lots of important bug fixes appearing regularly, perhaps daily, including for the below XDG_RUNTIME_DIR setting problem, in anticipation of Fedora44. For instance, as of kmscon-git 2:v9.2.1.r89.g5154b11-1, this works now,

sudo setsid -w /usr/bin/kmscon --seats=seat1 &

or a simple,

ExecStart= /usr/bin/kmscon --seats=%i

This also solves the leaking input problem, where any active fbcon vt will grab and execute input from a secondary seat. With kmscon not associated with a vt, there is no vt subsystem input for an active fbcon vt to grab. And a GPU handoff even works from inside seat1 kmscon:

printf '\033]setBackground\a';xinit -- :1;printf '\033]setForeground\a'

At the moment, a key press is needed to "wake-up" kmscon after returning from the handoff.

It's also possible to execute, for instance, Xorg directly, in kmscon context, with no virtual terminal involved, by hacking the kmscon $TERM environment variable and using .bash_profile, with:

ExecStart= /usr/bin/kmscon -v --seats=%i --term=XORG --login -- /usr/bin/login -f %j

.bash_profile
------------
# kmscon $TERM hack
if [ ${TERM} = XORG ]
then    TERM=xterm-256color
        sleep 1
        printf '\033]setBackground\a';startx -- :1;printf '\033]setForeground\a'
fi

Testing and reporting upstream should be very worthwhile now.

TrialnError commented on 2026-01-19 18:59 (UTC) (edited on 2026-01-19 19:00 (UTC) by TrialnError)

It went under the radar, but kmscon was added back to the repos (why having git, when the history gets discarded?).
It seems the respective deletion requests were forgotten, so you should issue them GreyXor.
https://archlinux.org/packages/extra/x86_64/kmscon/

thx1138 commented on 2026-01-19 01:38 (UTC)

BTW, be aware - https://discussion.fedoraproject.org/t/f44-change-proposal-usekmsconvtconsole-systemwide/172602
F44 Change Proposal: UseKmsconVTConsole [SystemWide]

thx1138 commented on 2026-01-19 01:33 (UTC) (edited on 2026-01-19 19:12 (UTC) by thx1138)

linux 6.18.5.arch1-1
systemd 259-2
kmscon-git 2:v9.2.1.r75.g0aaa927-1

Possibly some Varlink schema mismatch - on login, pam_systemd throws an error and session initiation fails, even though kmscon is left running otherwise:

pam_systemd(login:session): Varlink call io.systemd.Login.CreateSession failed: org.varlink.service.InvalidParameter

In particular XDG_RUNTIME_DIR will not be set.

Recompiling pam_systemd.so with

meson setup build -Dbuildtype=debug -Dpam=true
ninja -C build src/login/pam_systemd.so

Edit: still not proper session initialization, but different error,

login[490552]: pam_systemd(login:session): Failed to create session: VT number out of range

systemd 259-2 itself, which includes /usr/lib/security/pam_systemd.so, was built 2026 Jan 06. After rebuilding pam_systemd.so with asp checkout systemd, using "systemd-stable", ./build/version.h says #define GIT_VERSION "253.4^". So, there may be a problem with systemd 259-2.

Comparing the logs running getty@tty5.service and kmsconvt@tty5.service - working, getty has:

login[435588]: pam_systemd(login:session): Asking logind to create session: uid=1000 pid=435588 service=login type=tty class=user desktop= seat= vtnr=0 tty=tty5 display= remote=no remote_user= remote_host=
...
systemd-logind[844]: New session '13' of user 'james' with class 'user' and type 'tty'.
systemd[1]: Started Session 13 of User james.
login[435588]: pam_systemd(login:session): Reply from logind: id=13 object_path=/org/freedesktop/login1/session/_313 runtime_path=/run/user/1000 session_fd=4 seat=seat0 vtnr=5 original_uid=1000
login[435588]: gkr-pam: unlocked login keyring
login[435588]: LOGIN ON tty5 BY james

and not working, kmsconvt has:

 login[493120]: pam_systemd(login:session): Asking logind to create session: uid=1000 pid=493120 service=login type=tty class=user desktop= seat=seat0 vtnr=0 tty=pts/14 display= remote=no remote_user= remote_host=
login[493120]: pam_systemd(login:session): Failed to create session: VT number out of range
...
login[493120]: LOGIN ON pts/14 BY james

In comparison also, with ssh,

sshd-session[568328]: pam_systemd(sshd:session): Asking logind to create session: uid=1000 pid=568328 service=sshd type=tty class=user desktop= seat= vtnr=0 tty= display= remote=yes remote_user= remote_host=...
...
sshd-session[568328]: pam_systemd(sshd:session): Reply from logind: id=25 object_path=/org/freedesktop/login1/session/_325 runtime_path=/run/user/1000 session_fd=10 seat= vtnr=0 original_uid=1000

Note that, with ssh, "tty=" is not set.

GreyXor commented on 2025-12-03 08:20 (UTC) (edited on 2025-12-07 10:44 (UTC) by GreyXor)

Thanks! Let me know if I can improve anything else

BrainDamage commented on 2025-12-02 10:36 (UTC)

as of 9.2.0-1 /etc/kmscon/kmscon.conf should be added to the backup array or the user config will get overwritten every update with the default (previously it didn't ship one)

TrialnError commented on 2025-11-30 19:13 (UTC)

Interesting and great it could be resolved that fast. Thanks for addressing this with upstream.
Now GreyXor just needs to update to both PKGBUILDS.

oech3 commented on 2025-11-27 17:55 (UTC)

https://github.com/Aetf/kmscon/issues/167#issuecomment-3585913633

TrialnError commented on 2025-11-24 18:52 (UTC)

As it sometimes happened for repo packages that they switched to a more maintained (soft-)fork I don't see a reason why it should be impossible. Especially since the original author is clearly not working on this anymore.
But who knows. Maybe that is the reason why this went no further.

oech3 commented on 2025-11-24 14:49 (UTC)

But this is not coming from original author. Is it able to import to [Extra] with the name kmscon?