1. 5
  1. 2

    I’ve just tried it out and I was amazed by how nice it works (in comparison to the built-in kernel VT).

    The few features I found compelling to me were:

    • support for custom XOrg-compatible keyboard layouts; (I use dvorak;)
    • support for custom font (via Pango); (I use JetBrains Mono NL everywhere;)

    I found only two problems:

    • there isn’t a mode in which when the delegated process exits, kmscon to exit itself; (it just restarts that process in a loop;)
    • there isn’t a way to specify only a monitor / resolution, thus switching between it and XOrg takes quite a while; (see https://github.com/dvdhrm/kmscon/issues/120;)

    If one wants to quickly try it, here is how I did it (it requires root I’m afraid, else you could chown the TTY to the intended user):

    sudo -u root -- \
    kmscon \
            --vt 9 \
            --drm --hwaccel \
            --font-engine pango --font-name 'JetBrains Mono NL 20px' \
            --xkb-repeat-delay 250 --xkb-repeat-rate 75 \
            --sb-size 16384 \
            --login \
            --reset-env \
            -- \
            /bin/bash -i \
    #
    
    1. 1

      Too bad it hasn’t been updated in 8 years. I had a lot of high hopes for this back in the day. Are there any active forks?

      1. 2

        This fork, https://github.com/Aetf/kmscon, seems fairly active, also chromeos forked it for its own use, https://chromium.googlesource.com/chromiumos/platform/frecon/

      2. 1

        What is kernel mode setting and DRM?

        1. 2

          By the way of Wikipedia leading paragraphs

          DRM is Direct Rendering Manager:

          The Direct Rendering Manager (DRM) is a subsystem of the Linux kernel responsible for interfacing with GPUs of modern video cards. DRM exposes an API that user-space programs can use to send commands and data to the GPU and perform operations such as configuring the mode setting of the display. DRM was first developed as the kernel-space component of the X Server Direct Rendering Infrastructure, but since then it has been used by other graphic stack alternatives such as Wayland.

          User-space programs can use the DRM API to command the GPU to do hardware-accelerated 3D rendering and video decoding, as well as GPGPU computing.

          https://en.wikipedia.org/wiki/Direct_Rendering_Manager

          KMS is Kernel Mode Setting:

          Mode setting is a software operation that activates a display mode (screen resolution, color depth, and refresh rate) for a computer’s display controller by using VESA BIOS Extensions or UEFI Graphics extensions (on more modern computers).

          The display mode is set by the kernel. In user-space mode-setting (UMS), the display mode is set by a user-space process.

          Kernel mode-setting is more flexible and allows displaying of an error in the case of a fatal system error in the kernel, even when using a user-space display server.

          User-space mode setting would require superuser privileges for direct hardware access, so kernel-based mode setting shuns such requirement for the user-space graphics server.

          https://en.wikipedia.org/wiki/Mode_setting