Packages

624 packages, searchable and sortable. Every one of these already exists as a real, built LinuxDoors package.

PackageVersionCategorySizeDownloads
wlrootsNot in ISO
2026-09-28: new package, the real Wayland compositor library labwc (and therefore Budgie 10.10's own Wayland session) is built on.
2026-09-28: new package, the real Wayland compositor library labwc (and therefore Budgie 10.10's own Wayland session) is built on. Version pinned to the exact 0.20.x series labwc's own real meson.build requires (wlroots-0.20, >=0.20.1 <0.21.0 -- verified directly against labwc's source, not guessed). Downloaded via the real release archive endpoint on gitlab.freedesktop.org (the plain /-/raw/ file viewer is behind an Anubis anti-bot JS challenge and returns an HTML challenge page instead of file content -- the /-/archive/ tarball endpoint is NOT behind it and returns the real file directly; worth remembering for any future freedesktop.org gitlab source fetch in this project). Real, genuinely good news found via a full dependency audit before writing this build.sh: every single one of wlroots' own dependency() calls across its whole source tree (wayland-server/client/egl, wayland-protocols, xkbcommon, pixman-1, libdrm, egl, glesv2, gbm, cairo, lcms2, libudev, libinput >=1.19, vulkan, and the full xcb/xcb-composite/xcb-ewmh/xcb-icccm/xcb-render/xcb-res/xcb-xfixes/xcb-errors/xwayland set) was ALREADY present on .101 before this package existed -- confirmed via a real .pc-file sweep, not assumed. `-Drenderers=gles2` (skip the vulkan renderer -- keeps this build on the same GLES2/EGL path every other Mesa-backed compositor in this project already uses, e.g. kwin_wayland/mutter's own DRM backends), `-Dbackends=drm,libinput,x11` (drm+libinput for real hardware, x11 kept for a nested/windowed test backend, matching this project's other Wayland compositors' own testing patterns), `-Dallocators=gbm` (udmabuf not needed), `-Dexamples=false` (skip wlroots' own demo apps), `-Dlibliftoff=disabled` (direct-scanout optimization, not built in this project, and genuinely optional).
0.20.2 Libraries 701.2 KB 13 Download PackageSource Download .tar.gz
wmctrl
wmctrl 1.07 -- a real, standard, well-known EWMH/NetWM command-line tool (list/activate/close/move windows, set window state incl.
wmctrl 1.07 -- a real, standard, well-known EWMH/NetWM command-line tool (list/activate/close/move windows, set window state incl. _NET_WM_STATE_ABOVE) via a real X client (main.c), targeting glib2's own AM_PATH_GLIB_2_0 pkg-config-based detection (not the old glib-1.x AM_PATH_GLIB macro, despite the superficially similar name -- confirmed via configure.in and main.c's real function usage, e.g. g_locale_to_utf8/g_ascii_strup, both glib2 APIs). Upstream (tomas.styblo.name) is long dead; sourced from Debian's own mirrored orig tarball, real sha256 computed directly. Added as a dependency of the LinuxDoors PowerToys 'Always on Top' module -- rather than hand-roll fragile raw ctypes/Xlib EWMH ClientMessage code, this small, real, 20-year-stable tool does exactly that job reliably. ship_in_iso:false -- a PowerToys dependency, not part of the base image.
1.07 Libraries 46.7 KB 19 Download PackageSource Download .tar.gz
x264Not in ISO
BLFS multimedia/x264.html -- H.264 encoder, needed by ffmpeg (--enable-libx264) for the Shotcut/Kdenlive video stack.
BLFS multimedia/x264.html -- H.264 encoder, needed by ffmpeg (--enable-libx264) for the Shotcut/Kdenlive video stack. ship_in_iso=false: this whole video-editing feature is installable-as-packages only, kept out of linuxdoors.iso per user direction. x264 upstream ships no numbered release tarballs; the 'stable' branch snapshot is what BLFS itself uses. Plain ./configure --enable-shared --disable-cli.
stable Multimedia 1.0 MB 36 Download PackageSource Download .tar.gz
x265Not in ISO
BLFS multimedia/x265.html -- H.265/HEVC encoder, needed by ffmpeg (--enable-libx265).
BLFS multimedia/x265.html -- H.265/HEVC encoder, needed by ffmpeg (--enable-libx265). ship_in_iso=false (video-editing feature = packages only). CMake build from the source/ subdir; --libdir=lib for LinuxDoors' non-multiarch layout.
4.3 Multimedia 1.6 MB 36 Download PackageSource Download .tar.gz
x2goclientNot in ISO
X2Go Client GUI -- the desktop app that connects TO an x2goserver (this is the client side of packages/x2goserver).
X2Go Client GUI -- the desktop app that connects TO an x2goserver (this is the client side of packages/x2goserver). Upstream x2goclient 4.1.2.3 is a Qt5 app with NO Qt6 port; this package carries a ~3900-line LinuxDoors Qt6 port patch (source_packages_versions/x2goclient-qt6/x2goclient-qt6.patch) built against the existing packages/qt6-full. The port: a new src/qt6compat.{h,cpp} shim for the two Qt6-removed subsystems x2goclient leaned on -- QX11Info::display() (x11extras is gone -> QNativeInterface::QX11Application) and QDesktopWidget / QApplication::desktop() (removed -> a QScreen-wrapping X2GoDesktopCompat class) -- plus ~30 mechanical API renames across ~50 files (QString::null->QString(), Qt::WindowFlags f=0 -> ={}, QFontMetrics::width->horizontalAdvance, qSort->std::sort, qrand->QRandomGenerator, toTime_t->toSecsSinceEpoch, QLayout::setMargin->setContentsMargins, QFont::setWeight(int)->enum, QLabel::pixmap() by-value, QString::sprintf->asprintf, QTime::elapsed/restart->QElapsedTimer, QSslSocket::addDefaultCaCertificates->QSslConfiguration, setTabStopWidth->setTabStopDistance). QRegExp is kept via the Qt6Core5Compat module (one QString::remove(QRegExp) -> .trimmed()). LDAP support is disabled (USELDAP off) -- it needs openldap, which LinuxDoors does not have, and it is only used for the niche LDAP-session-broker feature. Translations are disabled in this first cut (English only). New dependency packages built for this: libssh 0.11.5 (its own SSH transport; NOT libssh2), brotli 1.1.0 (Qt6Network links libbrotlidec). ship_in_iso=false. **Build note**: like packages/qtwebengine and packages/pyside6, this needs qt6-full's captured destdir manually rsync'd onto the build VM's live $LFS (/opt/qt6-full) before `engine.cli build x2goclient`, then removed after -- qt6-full is itself ship_in_iso=false so the engine never stages it automatically. Compile+link+GUI verified against Qt 6.11.2: on the LinuxDoors test domain the Session-preferences dialog and main window render natively (screenshot). /usr/bin/x2goclient is a wrapper (sets LD_LIBRARY_PATH=/opt/qt6-full/lib) around /usr/lib/x2goclient/x2goclient, with a qt.conf ([Paths] Prefix=/opt/qt6-full) beside the real binary for the plugin/platform paths -- so it runs with no env setup. Remaining: real translations (English-only now); a GUI click-through of an actual server connection.
4.1.2.3 Networking 1.2 MB 131 Download PackageSource Download .tar.gz
x2goclient-gnome51vncNot in ISO
X2Go Client, GNOME 51 (VNC) variant -- a SEPARATE package from packages/x2goclient (installs to /usr/lib/x2goclient-gnome51vnc/ + /usr/bin/x2goclient-gnome51vnc, doesn't touch or replace the already-verified-working p...
X2Go Client, GNOME 51 (VNC) variant -- a SEPARATE package from packages/x2goclient (installs to /usr/lib/x2goclient-gnome51vnc/ + /usr/bin/x2goclient-gnome51vnc, doesn't touch or replace the already-verified-working plain x2goclient), built for the LinuxDoors GNOME 51 push. Same upstream 4.1.2.3 source + the same LinuxDoors Qt5->Qt6 port patch as packages/x2goclient, plus a second, LinuxDoors-authored patch (source_packages_versions/x2goclient-gnome51vnc/x2goclient-gnome51vnc.patch, generated by diffing a hand-edited copy of the ALREADY-qt6-patched tree, not the pristine one -- so it must be applied second, after x2goclient-qt6.patch, exactly as build.sh does). || The real problem this solves: GNOME 51 removed its X11 backend entirely (confirmed directly from Mutter's own source -- no src/backends/x11/ at all in 50.5/51.0), so x2go's own nxagent (an X11-based remote-display proxy) can never show it, unlike every other session type (KDE/GNOME-48/XFCE/MATE/...) this client already supports. The patch adds a 'GNOME 51 (VNC)' entry to the Session-type combo in both the load and save paths of sessionwidget.cpp/.h (inserted right after ICEWM in the shared enum -- every existing RDP/XDMCP/SHADOW/OTHER/APPLICATION/PUBLISHED comparison elsewhere in that file uses named enum constants, never raw indices, confirmed by grep, so they all shift down automatically). || REAL, HAND-WON DESIGN, after three rounds of live debugging against a real connection attempt (2026-09-19), not guessed: the FIRST implementation intercepted late (inside ONMainWindow::SlotRunCommand, after nxagent/the tunnel/nxproxy had already run) -- this was WRONG, because a real connect attempt got stuck forever at 'Status: connecting' for EVERY session type, GNOME51VNC included, since x2goclient's own pre-existing nxproxy QProcess::start() call (used by ALL session types, not something this patch touches) fails outright in a portable AppImage runtime with 'Child process set up failed: execve: No such file or directory' for ANY target whatsoever -- confirmed via standalone test binaries built the identical way that a plain fork()+execve() and a plain posix_spawn() both work fine for the identical target in the identical environment, narrowing the fault specifically to Qt6's own internal QProcess launch path (likely its vfork/clone fast path), not anything reachable from application code, and not fixable without either a full non-QProcess rewrite of nxagent's own deeply-integrated proxy-management code or a Qt rebuild without vfork support -- both out of scope here. The CORRECT, final design instead intercepts MUCH earlier, in ONMainWindow::startNewSession() right after 'command'/'host' are read from settings, BEFORE nxagent/the tunnel/nxproxy ever start at all -- so GNOME51VNC sessions never touch that broken pipeline in the first place. From there it: (1) runs /opt/gnome51/bin/linuxdoors-gnome51-vnc on the remote host via the ALREADY-open sshConnection (SshMasterConnection::executeCommand -- the exact same primitive x2golistsessions/x2gogetservers/etc. already use), (2) opens a local TCP tunnel to the remote 127.0.0.1:5900 via SshMasterConnection::startTunnel(...) -- the exact same primitive x2goclient's own NX-proxy-port and sound tunnels already use, and (3) spawns packages/linuxdoors-vncviewer via plain posix_spawn() -- deliberately NOT QProcess, for the same broken-QProcess reason above; this is genuinely new code, not shared with nxagent's, so it was free to just avoid the whole bug outright. A SECOND real bug was found and fixed getting the remote command to actually take effect: SshMasterConnection::executeCommand()'s default overridePath=true wraps every command in a hardcoded 'export PATH="/usr/local/bin:/usr/bin:/bin";' (see SshProcess::startNormal()) -- the remote script itself still ran fine (invoked by absolute path, so PATH-independent), but every command IT calls internally (systemctl/grdctl/gsettings/gnome-keyring-daemon) is a bare name relying on PATH, n
4.1.2.3 Libraries 1.1 MB 73 Download PackageSource Download .tar.gz
x2goserverNot in ISO
X2Go Server -- remote-desktop server (an SSH-tunnelled, NX-compressed X11 remote desktop; connect with x2goclient / PyHoca).
X2Go Server -- remote-desktop server (an SSH-tunnelled, NX-compressed X11 remote desktop; connect with x2goclient / PyHoca). Built from the real upstream tarball (code.x2go.org), version-matched to what was hand-installed and debugged on 70.20.232.101. ship_in_iso=false: optional install only (via linuxdoors.com / linuxdoors-pkg-manager / `pkg install x2goserver`), NOT in the base image -- it also needs sshd, which conflicts with LinuxDoors' SSH-off-by-default posture (see the shipped /usr/share/doc/x2goserver/CLIENT-TUNING.md). BUILDS from source: x2goserver-common, x2goserver, libx2go-server-db-perl (compiles the setgid sqlite3 privsep wrapper), x2goserver-x2goagent (the nxagent wrapper/symlinks -- expects packages/nx-libs to have placed nxagent under /usr/lib/x86_64-linux-gnu/nx/), x2goserver-xsession, x2goserver-extensions. Deliberately SKIPS x2goserver-x2gokdrive / -printing / -fmbindings / -desktopsharing (optional subprojects with their own dep chains, not needed for a basic XFCE session). nx-libs (nxagent) is a separate package, captured from Debian (user's hybrid choice -- nx-libs is a mini-Xorg-scale C build). The Perl runtime deps LinuxDoors' base perl lacks are 5.44-site/vendor packages: File::BaseDir/DesktopEntry/MimeInfo/Which/ReadBackwards + DBI + DBD::SQLite (all their own packages/perl-* entries). The small pure-Perl leaves (Capture::Tiny, Config::Simple, Switch, Try::Tiny, URI, Encode::Locale, MIME::Base32) are cpanm'd straight into this package's destdir -- single-consumer boilerplate, promote to their own packages if anything else ever needs them. FIX-UPS baked in (each found debugging the real .101 install, 2026-08-27): 1. /etc/x2go/Xsession upstream only knows Debian/RedHat/SUSE/Gentoo/Slackware -- on anything else it aborts 'Unknown operating system'. build.sh sed's the RedHat elif to also fire on any /etc/os-release, so LinuxDoors takes the RedHat-style `exec -l $SHELL -c $STARTUP` path (needs no /etc/x2go/Xsession.d). Original symptom before the x2goserver-xsession piece existed at all: connect succeeds, session reaches 'Session started', then 'Terminating session' ~1s later before the desktop runs. 2. Ships /etc/xdg/xfce4/xfconf/.../xfwm4.xml with use_compositing=false -- xfwm4's software compositor's window drop-shadows are pure lag over a remote link (and the guest has no GPU driver, so it's llvmpipe). 3. Ships /etc/systemd/user/xfce4-notifyd.service -> /dev/null -- that stray user unit auto-starts without a DISPLAY and lands in `systemctl --user --failed`; xfce4-session launches notifyd itself and dbus-activation still works via the .service Exec= fallback. 4. sysusers.d + tmpfiles.d files create the x2gouser group and /var/lib/x2go (2770 root:x2gouser) at first boot -- the systemd-native replacement for the Debian maintainer scripts, which engine/debian_fetch.py-style installs never run. 5. Enables x2goserver.service (the x2gocleansessions reaper daemon) via a multi-user.target.wants symlink in the payload. The Perl-module gap on .101 first surfaced as 'Connection failed. Can't locate File/BaseDir.pm in @INC ... at /usr/bin/x2goumount-session line 25' and, from the same root cause, an nxagent 'PANIC! Failure negotiating the session in stage 11'. See memory x2goserver-linuxdoors-setup for the full debugging record.
4.1.0.6 Networking 188.8 KB 115 Download PackageSource Download .tar.gz
x7app
BLFS 'x7app' page -- 33 small Xorg client utilities (xauth, xrandr, xset, xhost, xkbcomp, xcursorgen, etc.) bundled into one LinuxDoors package, same pattern as x7lib.
BLFS 'x7app' page -- 33 small Xorg client utilities (xauth, xrandr, xset, xhost, xkbcomp, xcursorgen, etc.) bundled into one LinuxDoors package, same pattern as x7lib. Added because xcursor-themes hard-requires xcursorgen at configure time (BLFS lists 'Xorg Applications' as its required dependency) -- while planning originally treated X11 core as just libs+server, a real minimal desktop also needs at least xauth (session auth) and xrandr (display config), so the whole small/fast meta-page is built rather than cherry-picking.
bundle Libraries 1.8 MB 36 Download PackageSource Download .tar.gz
x7driver
BLFS x7driver page (minimal input-driver subset: libevdev+xf86-input-evdev, libinput+xf86-input-libinput -- video driver is the built-in mesa 'modesetting'/'virgl' path, no separate xf86-video-* package needed for QEM...
BLFS x7driver page (minimal input-driver subset: libevdev+xf86-input-evdev, libinput+xf86-input-libinput -- video driver is the built-in mesa 'modesetting'/'virgl' path, no separate xf86-video-* package needed for QEMU virtio-gpu/std VGA). Bundled the same way x7lib bundles its libraries: meson packages (libevdev, libinput) build first and apply live, autotools driver packages (xf86-input-evdev, xf86-input-libinput) build against them via $XORG_CONFIG.
bundle Libraries 1.2 MB 37 Download PackageSource Download .tar.gz
x7font
BLFS 'x7font' page -- font-util plus 8 core bitmap/Type1 font packages, bundled into one LinuxDoors package the same way x7lib bundles its libraries.
BLFS 'x7font' page -- font-util plus 8 core bitmap/Type1 font packages, bundled into one LinuxDoors package the same way x7lib bundles its libraries. font-util is built and applied to the live chroot first since the remaining packages' ./configure needs its macros/mkfontscale. Provides font-util-1.4.2 which xorg-server itself requires.
bundle Libraries 2.4 MB 35 Download PackageSource Download .tar.gz
x7lib
BLFS 'x7lib' page -- 31 small X11 libraries bundled into one LinuxDoors package (BLFS itself presents them as one build-loop unit, not separate pages).
BLFS 'x7lib' page -- 31 small X11 libraries bundled into one LinuxDoors package (BLFS itself presents them as one build-loop unit, not separate pages). build.sh adapts BLFS's own documented loop script (with its 3 configure-flag exceptions for libXfont2/libXt/libXpm and its 2 meson-based exceptions for libpciaccess/libxkbfile) to install into $PKG_DESTDIR instead of live root, dropping the sudo/interactive md5-check parts our own source_fetch.py already handles.
bundle Libraries 12.3 MB 36 Download PackageSource Download .tar.gz
xappNot in ISO
Linux Mint cross-DE library (XApp*).
Linux Mint cross-DE library (XApp*). Base dep of cinnamon / nemo / cinnamon-screensaver / cinnamon-settings-daemon. Linux Mint upstream, branch 3.2-maintenance @ commit 58ffe8e1e383 (GitHub branch snapshot -- Mint doesn't publish release tarballs; SHA recorded for reproducibility). Cinnamon 6.4 line pairs with this project's mozjs 128 via cjs 128.1. ship_in_iso=false (Packages page / Package Manager only, like KDE Plasma & LXQt). Built on .101, meson --libdir=lib for the non-multiarch layout.
3.2.3 Libraries 243.1 KB 29 Download PackageSource Download .tar.gz
xbitmaps
BLFS.
BLFS. Header-only bitmap data, no programs/libraries -- only creates $XORG_PREFIX/include/X11/bitmaps.
1.1.4 Libraries 25.0 KB 35 Download PackageSource Download .tar.gz
xcb-proto
BLFS.
BLFS. XML-XCB protocol descriptions used by libxcb's code generator. Skips the optional make check.
1.17.0 Libraries 213.9 KB 37 Download PackageSource Download .tar.gz
xcb-util
BLFS.
0.4.1 Libraries 23.6 KB 36 Download PackageSource Download .tar.gz
xcb-util-cursorNot in ISO
xcb-util-cursor -- xcb helper library.
xcb-util-cursor -- xcb helper library. KWin_x11 / kwindowsystem X11 backend need these. ship_in_iso=false -- KDE Plasma is a Packages-page / Package Manager install, deliberately kept off linuxdoors.iso (XFCE + MATE are the shipped desktops). Built on .101 against the existing KF6 6.29 + Qt6 (/opt/qt6-full) stack from the Kdenlive work.
0.1.6 Libraries 66.0 KB 34 Download PackageSource Download .tar.gz
xcb-util-imageNot in ISO
xcb-util-image -- xcb helper library.
xcb-util-image -- xcb helper library. KWin_x11 / kwindowsystem X11 backend need these. ship_in_iso=false -- KDE Plasma is a Packages-page / Package Manager install, deliberately kept off linuxdoors.iso (XFCE + MATE are the shipped desktops). Built on .101 against the existing KF6 6.29 + Qt6 (/opt/qt6-full) stack from the Kdenlive work.
0.4.1 Libraries 64.4 KB 44 Download PackageSource Download .tar.gz
xcb-utilities
BLFS 'xcb-utilities' page bundle -- 6 small xcb-util-* extension libraries, same one-page/one-loop pattern as x7lib.
BLFS 'xcb-utilities' page bundle -- 6 small xcb-util-* extension libraries, same one-page/one-loop pattern as x7lib. Applies each to the live chroot filesystem immediately after its own install (same reason as x7lib: later packages in the loop may need earlier ones visible right away).
bundle Libraries 199.8 KB 36 Download PackageSource Download .tar.gz
xcb-util-keysymsNot in ISO
xcb-util-keysyms -- xcb helper library.
xcb-util-keysyms -- xcb helper library. KWin_x11 / kwindowsystem X11 backend need these. ship_in_iso=false -- KDE Plasma is a Packages-page / Package Manager install, deliberately kept off linuxdoors.iso (XFCE + MATE are the shipped desktops). Built on .101 against the existing KF6 6.29 + Qt6 (/opt/qt6-full) stack from the Kdenlive work.
0.4.1 Libraries 24.8 KB 36 Download PackageSource Download .tar.gz
xcb-util-renderutilNot in ISO
xcb-util-renderutil -- xcb helper library.
xcb-util-renderutil -- xcb helper library. KWin_x11 / kwindowsystem X11 backend need these. ship_in_iso=false -- KDE Plasma is a Packages-page / Package Manager install, deliberately kept off linuxdoors.iso (XFCE + MATE are the shipped desktops). Built on .101 against the existing KF6 6.29 + Qt6 (/opt/qt6-full) stack from the Kdenlive work.
0.3.10 Libraries 42.1 KB 28 Download PackageSource Download .tar.gz
xcb-util-wmNot in ISO
xcb-util-wm -- xcb helper library.
xcb-util-wm -- xcb helper library. KWin_x11 / kwindowsystem X11 backend need these. ship_in_iso=false -- KDE Plasma is a Packages-page / Package Manager install, deliberately kept off linuxdoors.iso (XFCE + MATE are the shipped desktops). Built on .101 against the existing KF6 6.29 + Qt6 (/opt/qt6-full) stack from the Kdenlive work.
0.4.2 Libraries 168.5 KB 33 Download PackageSource Download .tar.gz
xcursor-themes
BLFS.
BLFS. Provides the redglass/whiteglass animated cursor themes, installed to /usr/share/icons. Configure hard-requires xcursorgen (from x7app) to regenerate the cursors -- depends on x7app, not just x7lib.
1.0.7 Libraries 490.2 KB 36 Download PackageSource Download .tar.gz
xdg-user-dirsNot in ISO
freedesktop.org xdg-user-dirs -- manages the well-known ~/Desktop, ~/Downloads, ~/Documents etc.
freedesktop.org xdg-user-dirs -- manages the well-known ~/Desktop, ~/Downloads, ~/Documents etc. paths (xdg-user-dirs-update / xdg-user-dir). lxqt-session's CMake hard-requires the xdg-user-dirs-update executable (lxqt2-build-tools FindXdgUserDirs.cmake). Tiny C autotools package, no deps. LXQt 2.4 desktop, ship_in_iso=false.
0.20 Libraries 47.4 KB 30 Download PackageSource Download .tar.gz
xdotoolNot in ISO
X11 automation tool + libxdo.
X11 automation tool + libxdo. cinnamon-screensaver hard-requires libxdo (meson C library check). Plain Makefile (no configure); PREFIX=/usr. Cinnamon 6.4 desktop, ship_in_iso=false.
3.20211022.1 Libraries 216.6 KB 30 Download PackageSource Download .tar.gz