Lightweight Linux for gamers.
Installs, looks and plays like Windows. No systemd. Tools written in Rust.
Download the ISO · Build it yourself
SegLinux is a lightweight Linux distribution for gaming, without systemd: a desktop that looks, installs and behaves like Windows, runs Windows games and programs, and is tuned for low latency. Its own tools are written in Rust.
Screenshots of the Lite live session; the full edition adds Dolphin, Brave, Steam, Lutris and the other pinned applications to the dock.
ISO images are on the releases page and the website's download page:
| Edition | Size | What it is |
|---|---|---|
| Lite | 736 MB | the desktop, Setup and drivers; Setup downloads the rest (Steam, Wine, ...) while it installs, so it needs an internet connection |
| Full | 2.8 GB, in two parts | everything on the image, for installing offline |
Write the ISO to a USB stick (sudo dd if=seglinux-....iso of=/dev/sdX bs=4M status=progress oflag=sync,
or Ventoy, or Rufus in DD mode), disable Secure Boot and boot from it. Join a
full edition's parts first: cat seglinux-*.iso.part* > seglinux.iso.
Installed once, SegLinux stays current without a new ISO. In a terminal:
sudo seglinux-updateThis updates the system's packages, Brave, and SegLinux's own desktop and
tools (every change to SegLinux is published as a signed update), and offers
new default applications. On a system installed from an ISO older than the
command (seglinux-update: command not found), get it once with this one
line; it stays installed, so sudo seglinux-update works from then on:
curl -fsSL https://raw.githubusercontent.com/SegMind25/SegLinux/main/data/system/seglinux-update -o /tmp/seglinux-update && sudo bash /tmp/seglinux-updateSee docs/updating.md, which also explains how updates are published.
- Installs like Windows. The ISO is built the way a Windows ISO is (see
how a Windows ISO works): a live image
plays the role of WinPE, a squashfs system image plays
install.wim, andseglinux-setupplayssetup.exe. It runs the same configuration passes (windowsPE, offlineServicing, specialize, oobeSystem, SetupComplete) and readsautounattend.toml, the counterpart ofautounattend.xml. In the live session Install SegLinux opens a graphical GTK 4 Setup wizard (a text-mode one is in the menu too). - Lightweight, Plasma-like desktop in Rust. Wallpaper and desktop icons, a floating dock with Start menu, one icon per application, tray and clock, written in Rust (GTK 4) on the labwc Wayland compositor, and the default session; KDE Plasma remains available as a fallback. Like Plasma it shows notifications (pop-ups, history, Do Not Disturb), other applications' tray icons and menus (Steam, Discord...) and a volume and brightness display. The sign-in screen is SegLinux's own too (Rust, on greetd, in place of SDDM). Its Settings app (Super+I) customizes the theme and accent, wallpaper, dock, clock, windows, workspaces, keyboard, mouse, touchpad and games, applied instantly. Familiar applications by default: Dolphin for files, Brave for the web, kitty as the terminal (File Explorer → Dolphin, Store → Discover, ...). The terminal opens with system information under the SegLinux logo (fastfetch).
- Built for gaming. linux-zen kernel, Steam with Proton, Lutris, GameMode, MangoHud and gamescope; a Steam "Gaming Mode" session; variable refresh rate and tearing for fullscreen games; zram swap, NTSYNC, I/O scheduler and sysctl tuning; NVIDIA's driver installed automatically on GeForce GTX 16/RTX cards. See docs/gaming.md.
- Runs Windows programs. Double-click an
.exe,.msi,.lnkor.bat, or type./setup.exe:segruninspects the program, prepares a Wine prefix (with DXVK/VKD3D-Proton when the program uses Direct3D) and starts it, under GameMode when it is a game. - Fast, systemd-free base. OpenRC by default (parallel boot), or runit or dinit; rolling release.
site/ is the project's website: features, screenshots and the download
page, which lists every ISO image of the releases. It is deployed on
Vercel: vercel.json runs site/build.py, which
assembles the pages, the screenshots and the list of releases into site/_site
on Vercel. The explicit website service serves all public paths under /.
The Rust crates are Linux applications, not web backends, and are not deployed
as services. No internal services or service bindings are needed.
To deploy it:
- On Vercel, Add New → Project, import this repository and keep the
root directory
./. Use the service configuration invercel.json: it declares onlywebsite, rooted atsite/, with framework "Other". Do not add the auto-detected Rust applications. Commit and push this configuration to the branch you import before deploying. - While the repository is private, add the environment variable
GH_TOKEN: a GitHub token that can read this repository's contents (a fine-grained token with Contents: read-only). Without it the download page cannot list the releases. - So that each new ISO appears without waiting for the next commit:
in the Vercel project, Settings → Git → Deploy Hooks, create a hook
for
main, and add its URL to this repository as the Actions secretVERCEL_DEPLOY_HOOK. The ISO workflow calls it after publishing.
The /download page provides direct ISO, split-part and checksum links; visitors
do not need to open the GitHub releases page. The files are hosted by GitHub.
For split Full images, site/download-full.py downloads the pieces into one ISO
and verifies its checksum. The website also renders docs/*.md at /docs/.
The page also refreshes the list from GitHub in the visitor's browser, which works once the repository is public. Release files of a private repository cannot be downloaded by other people: make the repository public before sharing the site.
To preview it locally:
python3 -m pip install -r site/build-requirements.txt
python3 site/build.py --out _site # GH_TOKEN=... lists the releases of a private repository
python3 -m http.server -d _site 8000crates/
seglinux-shell/ Rust/GTK4 desktop, launcher, taskbar, settings and Wayland integration
seglinux-pe/ Windows file identification: PE headers, imports, .NET,
installer frameworks, MSI, shortcuts (no dependencies)
seglinux-core/ commands, XDG paths, offline service management (OpenRC/dinit/runit/s6)
segrun/ the Windows program launcher
seglinux-setup/ the installer: answer files, planning, execution, text-mode wizard
seglinux-installer/ the graphical Setup wizard (GTK 4), which runs seglinux-setup
site/ the website (deployed on Vercel)
data/ defaults installed by the seglinux package (Plasma layout,
file associations, binfmt, NTSYNC, sysctl, branding)
packaging/seglinux/ PKGBUILD for the seglinux package
iso/
build.sh builds the ISO (container or native Artix)
Containerfile Artix build environment
iso-profiles/ artools profiles: common.yaml, seglinux/ (full) and
seglinux-lite/ (small image), with their overlays
pacman.conf.d/ pacman configuration used by buildiso
scripts/ build and package-check scripts
docs/ design notes and guides
./iso/build.sh # OpenRC + linux-zen (recommended)
./iso/build.sh -i runit # or runit / dinit; -k linux for the stock kernel
./iso/build.sh --lite # Lite edition: smaller image, Setup downloads the appsRuns in a privileged Artix container (docker or podman) on any Linux host
and writes iso/out/seglinux-*.iso. The Lite edition boots the same Rust
desktop from a much smaller image and installs the same system, downloading
Wine, Steam, Brave and the drivers during Setup (so it needs internet to
install). See docs/building.md
for step-by-step instructions for your PC, native builds, customisation and
testing in QEMU. Ready-made ISOs are built by the ISO workflow and
published under Releases.
With GTK4 and gtk4-layer-shell development libraries installed:
cargo run -p seglinux-shell -- --preview --wallpaper "$PWD/data/artwork/seglinux-dark.jpg"The preview opens a regular window and follows changes made in Settings
(cargo run -p seglinux-shell -- --settings). The packaged SegLinux (Rust) session
uses labwc and a real Wayland panel with running-window buttons. See
the desktop guide for shortcuts, configuration and limitations.
cargo build --release
# What is this file, and how would SegLinux run it?
target/release/segrun info setup.exe
target/release/segrun run --dry-run setup.exe
# Install SegLinux (in the live session)
seglinux-installer # graphical wizard
target/release/seglinux-installer --demo # try the wizard anywhere; installs nothing
sudo seglinux-setup # text-mode wizard
seglinux-setup install --unattend # find autounattend.toml and install
seglinux-setup plan --unattend answer.toml # dry run: every command and file
seglinux-setup validate answer.toml- Updating SegLinux
- Running Windows programs
- Unattended installation
- How a Windows ISO works and how SegLinux maps it
cargo fmt --all --check
cargo clippy --all-targets -- -D warnings
cargo test
shellcheck iso/build.sh iso/scripts/*.sh
iso/scripts/check-packages.sh -i openrc # on Artix / in the build containerThe Rust installer, Windows launcher and desktop have 163 unit tests; CI also runs the Settings window under Xvfb (it applies, rejects invalid input and keeps hand-edited files), the Start menu (favorites, categories, search, new applications) and pinning, the website's downloader tests and a browser regression test of the website. The Rust desktop is young, not a feature-complete KDE replacement; its idle footprint (compositor, desktop and D-Bus) is about 56 to 59 MB of proportional memory (see the desktop guide). The installer's plan is tested end to end in dry-run form, and its file and service actions are tested against temporary directories; the disk-writing steps need a real or virtual machine. The ISO profile follows artools 0.39+'s format. CI checks every package name against the Artix repositories, and the ISO workflow builds the image. Before installing on real hardware, try a build in a VM (see docs/building.md).
SegLinux does not include any Microsoft software. Windows programs run with Wine and Proton, so programs that need Windows kernel drivers (for example most anti-cheat systems) do not work.
SegLinux is built from the packages of Artix Linux and Arch Linux, with Artix's ISO tools (artools). It is an independent project with its own name and artwork, not affiliated with or endorsed by either. The boot menu font is made from Inter (SIL Open Font License 1.1).
No license has been chosen for this repository yet.




