What Is Ly? The Beginner's Guide to the TUI Display Manager for Linux and BSD

CodexFuse Team · 2026-11-04T16:48:39.888Z · 12 min read min read

What Is Ly? The Beginner's Guide to the TUI Display Manager for Linux and BSD

If you have been wondering what is Ly, here is the short answer: Ly is a keyboard-driven TUI display manager for Linux and BSD that replaces the graphical login screen with a fast text-console interface, authenticating you through PAM and then launching your desktop session. Where GDM and SDDM load a full graphical environment just to show a login box, Ly stays in the TTY — the same text terminal you see before anything graphical starts — and renders a simple, animated login interface there. This Ly display manager guide walks through what Ly is, how it differs from GDM and SDDM, how to install and enable it, and the config basics you need for a working setup.

If you are still getting your feet under you with a Linux machine to experiment on, start with our VPS hosting guide — a cheap always-on server is the perfect sandbox for swapping out your login manager without risking your daily driver.

What Is Ly, Exactly?

Ly is a display manager that operates in a text terminal (TTY) rather than a graphical environment. DeepWiki's source-mirrored documentation of the project puts it plainly: Ly "uses terminal drawing capabilities to create a simple but functional login interface with visual effects, while maintaining minimal resource usage compared to graphical display managers like GDM, SDDM, or LightDM." (DeepWiki, mirrored from the project's README) One thing to say first, because it trips people up: Ly is a TUI display manager, not a window manager or a compositor — it does the login-screen job only, then hands control to your desktop environment or window manager.

Under the hood, the current generation of Ly is written in Zig and renders through termbox2, a terminal drawing library — so the login screen itself needs no X11 or Wayland at all. The official release notes confirm the Zig line is the only current one: v1.4.0's notes state "Ly was ported to use Zig 0.16.0." (Codeberg, fairyglade/ly releases) Authentication goes through PAM, the same pluggable authentication framework most Linux login tools use, and sessions can be X11, Wayland, a plain shell, your ~/.xinitrc, or a custom script entry.

The project lineage is worth one sentence: the original was written in C by cylgom in 2017, rewritten in Zig by nullgemm, and is now maintained under the fairyglade organization at codeberg.org/fairyglade/ly — the FreeBSD port's Makefile traces that chain through its successive repository URLs. (FreshPorts x11/ly) The current release is v1.4.0, published May 1, 2026, with a 1.4.1 tag tracked by the FreeBSD port two weeks later. It is licensed under the WTFPL, per the FreeBSD ports Makefile.

How Is Ly Different From GDM and SDDM?

The difference is what has to be running before you can type your password. GDM (GNOME Display Manager) and SDDM (Simple Desktop Display Manager) are graphical display managers: they boot a graphical session — their own window system surface — just to paint the login screen. Ly never launches a graphical environment at all; as one hands-on reviewer wrote, it "does not even launch a graphical environment, but stays in the framebuffer console as an interactive TUI program" — a very simple, functional text interface at boot. (voxelmanip.se, February 2025)

In practice the differences that matter for a beginner are:

FeatureLyGDM / SDDM
Login screen renderingText console (TTY), terminal-drawnFull graphical session
Dependencies for the login screen itselfNone — no X11 or Wayland neededGraphical stack must be up
Input styleKeyboard-driven (arrow keys, Enter, optional vi mode)Mouse-driven greeter
Resource useMinimal compared to GDM/SDDM/LightDM (per project docs)Heavier — a whole desktop component runs
Init systemssystemd, OpenRC, runit, s6, dinit, sysvinit, FreeBSDMostly systemd-oriented
Login-screen extrasMatrix/DOOM-fire/Game-of-Life animations, brightness keys, shutdown/restart keysTheming and accessibility widgets

The ly vs SDDM comparison is the one most people actually make, because SDDM is the default display manager on many KDE and tiling-window-manager installs. Choose SDDM if you want a polished graphical greeter with themes; choose Ly if you want the fastest possible path from power button to password prompt, a keyboard-only flow, and a login screen that cannot break because your GPU driver misbehaved. The ly vs GDM question answers itself the same way: GDM is GNOME's tightly integrated display manager, and you would only ever replace it with Ly on a machine where you have abandoned GNOME's graphical session entirely — for example a minimal Sway or labwc build.

One related line to draw: a display manager is not the same as a session manager. Our UWSM session-manager guide covers the tool that manages the session itself around your compositor — Ly and UWSM can even pair up: Ly handles the login screen, and your session entry launches through UWSM for systemd-managed environment handling.

How Do You Install Ly and Enable It on Linux?

A Ly install takes five steps: install the package, enable the per-TTY systemd unit, disable the conflicting console login, reboot, and pick your session. That per-TTY detail is the one beginners get wrong, because older guides used a plain systemctl enable ly — the current form is a template unit, one instance per TTY. A current Arch + Hyprland install guide states it exactly: "Ly needs to be enabled on a per-TTY basis. The default TTY for graphical logins is TTY1 so we'll enable it for that," with the command sudo systemctl enable [email protected]. (johnling.me, Hyprland Guide, 2024)

The standard Ly Linux arc for getting Ly installed and enabled:

  1. Install the package. On Arch, Ly is available in the AUR under the established community package name (install with your AUR helper, e.g. yay -S ly or paru -S ly) — the AUR listing itself could not be verified live this run, so treat that step as community-sourced. On FreeBSD the package is official: pkg install x11/ly (currently version 1.4.1 per FreshPorts, 2026-05-16). On Gentoo it ships as x11-misc/ly::guru (Gentoo wiki). There is no official Fedora package found, so Fedora users build from source — which needs the Zig toolchain, since v1.4.0 is built against Zig 0.16.0 (Codeberg releases).
  2. Enable the systemd unit for TTY1. Run sudo systemctl enable [email protected]. The [email protected] template ships with the project for systemd, so you can also attach it to a different TTY by changing the number.
  3. Make sure no other display manager owns the boot target. If GDM or SDDM is installed and enabled, disable it (sudo systemctl disable sddm or gdm) — two display managers fighting over TTY1 will leave you with neither working.
  4. Reboot. You should land on Ly's terminal-drawn login interface instead of your old graphical greeter.
  5. Pick a session and log in. Arrow keys move between fields, Enter confirms. F1 powers off and F2 restarts from the login screen; F5/F6 adjust brightness. (Arch Linux forums announcement thread, 2017; still accurate per the feature docs)

The safest place to try all of this is not your laptop. Do the install-and-enable arc first on a throwaway VPS sandbox where a misconfigured login screen costs you a rebuild, not your work machine.

How Does Ly Launch Your Desktop Sessions?

Ly discovers your available sessions the same way graphical display managers do, then launches whichever you pick after authenticating you through PAM. DeepWiki's feature documentation describes the mechanism: Ly "discovers sessions by crawling /usr/share/xsessions and /usr/share/wayland-sessions for .desktop files, plus a custom directory for Ly-only sessions," and on successful authentication it forks — the child launches the session while the parent monitors it. (DeepWiki, fairyglade/ly feature docs)

What it can launch covers the whole landscape: X11 sessions (launched via the configurable x_cmd and xauth_cmd commands), Wayland compositors directly, a plain shell session, your ~/.xinitrc, or a custom script entry you define yourself. Two beginner gotchas live here. First, the xinitrc path requires the file to be executable — a FreeBSD forum thread documents a user hitting exec: /home/<user>/.xinitrc: Permission denied and fixing it with chmod 744 ~/.xinitrc. (FreeBSD forums, 2022) Second, Ly remembers your last username and session between boots, so your second login is mostly just typing a password.

Session output goes to a ly-session.log, which is where you look when a desktop entry launches and immediately dies — nine times out of ten it is the session's own startup command, not Ly.

A nice pairing worth knowing: once Ly launches a standalone Wayland compositor like labwc or Sway, you can dress that minimal desktop with a proper shell — our Noctalia shell guide covers the toolkit-free Wayland shell that provides the bar, dock, launcher, and control center Ly deliberately does not include.

How Do You Configure Ly? The config.ini Basics

Ly's configuration lives in one heavily commented INI file: /etc/ly/config.ini (or /usr/local/etc/ly/config.ini on FreeBSD). As the same hands-on reviewer put it: "You can find it in /etc/ly/config.ini and you should be able to read it through and configure things to your liking based on the comments in it." (voxelmanip.se, February 2025) The options a beginner actually touches are:

OptionWhat it does
animationBackground animation: doom, matrix, colormix, gameoflife, dur, or lua scripts; v1.4.0's default is a Fairy Glade logo .dur animation
ttyWhich virtual console Ly binds to
langInterface language
fg / bg / border_fg24-bit colors in 0xSSRRGGBB format
asteriskCharacter shown for password masking
auto_login_user / auto_login_sessionSkip the login screen on trusted machines
allow_empty_passwordPermit passwordless login (dangerous — know why before enabling)
service_namePAM service name Ly authenticates against
xsessions / waylandsessionsWhere Ly looks for .desktop session files
shellToggle the built-in shell session entry (v1.4.0+)
shutdown_key / restart_keyRebind the F1/F2 login-screen keys
show_ttyDisplay the TTY number in the interface (v1.4.0+)

The project also supports Lua-scripted configuration (res/config.lua in the repo) for advanced setups, but the INI file is the documented beginner path and covers everything above.

When Should You Not Use Ly?

Skip Ly on shared family computers and anywhere you need remote graphical logins — it is built for single-user, keyboard-driven machines. On a shared machine, people expect a graphical login with user icons and accessibility options, so keep GDM or SDDM there. Ly is keyboard-first and terminal-drawn by design, and it does not try to replicate decades of multi-seat and remote-login machinery.

Ly shines for the specific machine where a display manager is pure overhead: a tiling-window-manager workstation, a labwc or Sway build, a low-spec box where every megabyte counts, or any setup where you live in the keyboard and the prettiest login screen in the world still means mousing at 6am. If that is your machine, this Ly tutorial's five-step arc above is a fifteen-minute job with a reboot in the middle.

Sources

  • DeepWiki source-mirrored docs for fairyglade/ly (README + feature docs) — what Ly is, termbox2 rendering, PAM auth, session discovery, fork-and-wait launch
  • Codeberg fairyglade/ly releases page — v1.4.0 release notes (2026-05-01): Zig 0.16.0, ly-core/ly-ui split, KMSCON support, Fairy Glade .dur default animation, config.shell, config.show_tty
  • FreshPorts x11/ly — repo lineage (cylgom → nullgemm → fairyglade/Codeberg), version history, WTFPL license via FreeBSD ports Makefile
  • johnling.me Hyprland Guide (2024) — sudo systemctl enable [email protected] per-TTY enablement
  • voxelmanip.se "Display Managers, and Ly" (February 2025) — TUI behavior, /etc/ly/config.ini location
  • Arch Linux forums announcement thread (2017, last edited 2017-05-24) — keyboard navigation, F1/F2/F5/F6 keys, AUR availability (superseded install form)
  • FreeBSD forums (2022) — ~/.xinitrc executable-bit fix for session launch
  • Gentoo wiki display manager page — x11-misc/ly::guru package listing
  • thelinuxcode.com install guide (2022) — background and lightweight positioning (stale install commands not used)

Frequently Asked Questions

What is Ly in Linux?

Ly is a lightweight TUI display manager for Linux and BSD. It shows your login screen in a text terminal (TTY) using terminal-drawn graphics instead of a full graphical environment, then launches your chosen X11 or Wayland session after authenticating you via PAM. It is keyboard-driven, with animations like Matrix and DOOM fire behind the login box.

Is Ly better than SDDM?

Neither is universally better — they optimize for different machines. SDDM gives you a polished, themeable graphical greeter and deep KDE integration. Ly starts faster, uses far fewer resources, and works entirely in the console, which makes it the better pick for minimal tiling-window-manager setups or low-spec machines where a graphical login screen is pure overhead.

How do I enable Ly on Arch Linux?

Install the AUR package with your helper (yay -S ly or paru -S ly), then run sudo systemctl enable [email protected] — Ly's systemd unit is a per-TTY template, so the @tty1 part is required. Disable any other display manager first, then reboot.

Where is Ly's config file?

/etc/ly/config.ini on Linux (/usr/local/etc/ly/config.ini on FreeBSD). It is heavily commented; the key options are animation, tty, lang, color settings (fg/bg/border_fg), auto_login_user/auto_login_session, and the xsessions/waylandsessions directories.

Does Ly work on BSD?

Yes — FreeBSD support is first-class. The official FreeBSD port (x11/ly, installed with pkg install x11/ly) currently tracks version 1.4.1, and the port history documents the project's full lineage from the original C version through the Zig rewrite. Ly supports Linux and BSD plus multiple init systems beyond systemd (OpenRC, runit, s6, dinit, sysvinit).

Featured on Twelve Tools Hunt for Tools Featured on LaunchBuff Launch Llama Tools Launch your MCP Top Web Development Companies in the US - OnToplist.com Designer Listings Listed on SeeWhatNewAI