FreeBSD-first X11 workstation environment built around FVWM3
Find a file
2026-08-27 04:38:22 +03:00
audio audio: add compact status and routing control 2026-08-15 14:21:04 +03:00
battery audio: add compact status and routing control 2026-08-15 14:21:04 +03:00
capture capture: add native X11 screenshot and recorder 2026-08-25 10:07:59 +03:00
clock clock: add panel clock and calendar popup 2026-08-15 07:15:06 +03:00
credentials nheko: render image overlays without a compositor 2026-08-25 05:30:41 +03:00
display display: restore remembered external topology 2026-08-22 07:45:19 +03:00
fonts kde: add application fleet and Unicode fallback 2026-08-22 08:18:49 +03:00
fullscreen fullscreen: survive panel recreation 2026-08-21 02:57:58 +03:00
fvwm capture: add native X11 screenshot and recorder 2026-08-25 10:07:59 +03:00
input input: add per-device libinput policy 2026-08-21 07:49:04 +03:00
install ports: package Xenolith Terminal 2026-08-27 04:38:22 +03:00
kde-compat kde: add application fleet and Unicode fallback 2026-08-22 08:18:49 +03:00
language input: add XKB layouts and language indicator 2026-08-21 06:57:23 +03:00
lock lock: render wallpaper in secure saver 2026-08-23 07:49:24 +03:00
notifications notifications: use passive normal notification frame 2026-08-18 04:03:18 +03:00
packages installer: install packaged capture daemon 2026-08-25 10:27:14 +03:00
panel input: add XKB layouts and language indicator 2026-08-21 06:57:23 +03:00
ports ports: package Xenolith Terminal 2026-08-27 04:38:22 +03:00
qt-style session: enable Xenolith Qt style 2026-08-14 03:34:43 +03:00
session capture: add native X11 screenshot and recorder 2026-08-25 10:07:59 +03:00
switcher terminal: add Xenolith downstream QTerminal 2026-08-23 06:38:48 +03:00
terminal terminal: add Xenolith downstream QTerminal 2026-08-23 06:38:48 +03:00
tests installer: install packaged capture daemon 2026-08-25 10:27:14 +03:00
tray tray: add XEmbed and SNI panel integration 2026-08-14 09:36:58 +03:00
wallpaper lock: render wallpaper in secure saver 2026-08-23 07:49:24 +03:00
xkb session: restore resize bindings and safe XKB config 2026-08-22 05:32:42 +03:00
.gitattributes ports: establish Xenolith Poudriere overlay 2026-08-25 10:10:11 +03:00
.gitignore capture: add native X11 screenshot and recorder 2026-08-25 10:07:59 +03:00
install.sh installer: install packaged FVWM policy 2026-08-25 10:10:46 +03:00
LICENSE project: declare BSD-2-Clause license 2026-08-25 10:14:09 +03:00
README.md installer: harden first real FreeBSD deployment 2026-08-18 04:03:07 +03:00

Xenolith

Xenolith is an X11-native desktop and workstation environment for FreeBSD. It aims to provide a fast, deterministic, hard-edged desktop built from explicit, reproducible components under the user's control.

Xenolith is a FreeBSD desktop project. Linux, systemd, and Wayland-first environments are outside its scope.

Status

Xenolith is in its initial development stage. The repository does not yet provide a complete desktop environment or a supported installer.

Direction

The intended environment combines:

  • Xorg and/or XLibre as the display server;
  • FVWM3 as the initial window-management substrate;
  • KDE applications without the Plasma desktop shell;
  • focused session and compatibility glue;
  • custom panel, taskbar, desktop, and diagnostic utilities where needed; and
  • reproducible installation, migration, and rollback tooling.

The interaction model is based on multiple workspaces containing normal stacking windows. Primary windows may be maximized by default, while manually sized and floating windows remain first-class. Automatic tiling is not the primary workflow.

Design principles

  • X11 is a first-class, non-negotiable display protocol.
  • Interaction should be immediate, predictable, and low-latency.
  • Configuration belongs in source control instead of opaque mutable state.
  • Components should be small, explicit, native, and easy to diagnose.
  • KDE applications should receive only the services they actually require; plasmashell and kwin are not part of a Xenolith session.
  • Visual design should favor square edges, strong borders, clear state, and an industrial workstation character over animation and decorative effects.
  • Installation must be inspectable, safe to rerun, and explicit about system changes.

Target environment

FreeBSD is the authoritative runtime and integration-test platform. A separate development machine may be used to edit and deploy the repository, but runtime behavior must be validated on FreeBSD using FreeBSD-native facilities.

Installation

Xenolith installs onto an existing FreeBSD X11/XLibre desktop with:

./install.sh --user user

The installer intentionally does not install, replace, or configure an X server or GPU driver. It preflights the patched Xenolith (z440) FVWM/tray transaction and rejects any package plan that would introduce the Xorg/NVIDIA legacy stack or mutate protected XLibre graphics packages. The ordinary FreeBSD package set is explicitly installed from FreeBSD-ports; the same guard applies to both repositories. z440 is used only for packages that Xenolith intentionally carries as patched builds.

The VNC test-session component remains separate from a normal local desktop installation.

Project boundaries

Xenolith is a desktop/workstation environment, not a complete operating system or a general-purpose desktop distribution. It reuses FreeBSD and standalone Unix facilities where they solve a problem cleanly and adds custom code only where Xenolith requires distinct behavior.