Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

kmscon

From Wikipedia, the free encyclopedia
Userspace virtual console for Linux operating system

kmscon
DeveloperDavid Herrmann
Initial release27 March 2012 (2012-03-27)[1]
Stable release
9.3.0[2] Edit this on Wikidata / 22 January 2026
Written inC
Operating systemLinux
TypeSystem console
LicenseISC license
Websitewww.freedesktop.org/wiki/Software/kmscon
Repositorygithub.com/kmscon/kmscon

Kmscon is avirtual console that runs inuserspace which David Hermann created to replace theLinux console, a terminal built into theLinux kernel. Kmscon uses theKMS driver for its output, it ismultiseat-capable, and supports internationalized keyboard input andUTF-8 terminal output. The input support is implemented usingX keyboard extension (XKB). Development of Kmscon was halted in March 2015. The project officially resumed in 2025, adopting the codebase from a fork maintained by Aetf since 2011.[3] There was a successor project calledsystemd-consoled but that project was later dropped in July 2015.[4]

Features

[edit]

Kmscon supports printing the full set ofUnicodeglyphs and is not limited by console encoding as the Linux console.[5] While the only hard dependency isudev, kmscon can optionally be compiled to useMesa forhardware acceleration of the console, and thepango library for improved font rendering.[6]

The adoption ofXKB for input allows kmscon to accept the full range of availablekeyboard layouts for theX.Org Server andWayland compositors for input and makes it possible to use the same layout both in graphical environment and in terminal.[7]

Multiseat support

[edit]
Main article:Multiseat configuration

The VT system in the Linux kernel dates to 1993, and does not implement out-of-the-box multiseat support. It supports up to 63 VTs, but only one VT can be active at any given time. This necessitates additional steps to configure multiseat support. kmscon will[clarification needed] enable multiseatout-of-the-box.

If one seat's display server is running on VT 7 and another seat's display server is running on VT 8, then only one of these two seats can be used at a time. To use the other seat, a VT switch must be initiated.

To make all seats usable at the same time, there are a few options:

  • Associate all display servers with the same VT: any user can switch VTs and in that case all users switch to the new VT. This makes VT switching (and thus fast user switching) impractical.X.Org Server command-line option-sharevts
  • Don't associate any display server with a VT: fast user switching is impossible in this case. Text-based console logins are only possible if an input and display device are reserved for this purpose.
  • Associate only one of the display servers with a VT: the other display servers can't do VT switching, but the display server associated with a VT can. VT switching on that one seat won't affect the other seats. This is the approach favored and assumed by systemd. command-line optionvt7 for user 1 and-novtswitch for all other users.

Development

[edit]

In 2011, Jesse Barnes wrote in his blog about the possible userspaceDRM-based implementation of the virtual terminal, that would dissolve the need for theLinux framebuffer andvirtual terminal (VT) subsystems in the Linux kernel. Motivated by this blog post, David Herrmann implemented the basic functionality of virtual terminal.[5]

In October 2013, terminal emulator state machine (libtsm) library, a state machine forDEC VT100VT520 compatible terminal emulators, was split out of kmscon and made available separately.[8] It was amended withwlterm, an exampleWayland terminal emulator.[9]

See also

[edit]

References

[edit]
  1. ^Herrmann, David (27 March 2012)."[ANNOUNCE] kmscon: Lazy-web's DRM based terminal emulator".dri-devel (Mailing list).freedesktop.org. Retrieved2 April 2012.
  2. ^"v9.3.0". 22 January 2026. Retrieved24 January 2026.
  3. ^kmscon/kmscon, kmscon, 4 December 2025, retrieved4 December 2025,This project was maintained in Aetf's fork for 11 years, before coming back here in 2025
  4. ^Herrmann, David (29 July 2015)."terminal: drop unfinished code".GitHub. Retrieved22 September 2016.
  5. ^abLarabel, Michael (28 March 2012),"KMSCON: A DRM-Based Terminal Emulator",Phoronix, retrieved2 April 2012
  6. ^Larabel, Michael (18 August 2012),"KMSCON Is Getting Ready To Kick The Kernel Console",Phoronix, retrieved5 July 2012
  7. ^Herrmann, David (10 December 2012)."KMSCON Introduction".dvdhrm.wordpress.com. Retrieved8 May 2013.
  8. ^Herrmann, David (29 October 2013)."[ANNOUNCE] libtsm-3 release".kmscon-devel (Mailing list).freedesktop.org. Retrieved5 July 2012.
  9. ^libtsm,freedesktop.org, retrieved5 July 2012
Organization
Kernel
Support
People
Technical
Debugging
Startup
ABIs
APIs
Kernel
System Call
Interface
In-kernel
Userspace
Daemons,
File systems
Wrapper
libraries
Components
Variants
Virtualization
Adoption
Range
of use
Adopters
OS components
Sound
Graphics
Other
Libraries
Frameworks
Meetings
Retrieved from "https://en.wikipedia.org/w/index.php?title=Kmscon&oldid=1335041204"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp