Premiers pas avec LineXinBar : Arch, Debian, Ubuntu, Fedora, NixOS
L'essayer dans une fenêtre
Pas besoin de quitter votre bureau pour le voir. Avec Rust 1.89 ou plus récent et les dépendances de compilation installées, un seul script compile LineXinBar et l'ouvre dans une fenêtre de la session que vous avez déjà.
git clone https://github.com/Petexy/LineXinBar.git
cd LineXinBar
./scripts/run-nested.sh
Le bureau imbriqué a son propre bus de session, si bien que les applications que vous y ouvrez y restent. Fermer la fenêtre y met fin. ./scripts/run-nested.sh 3 ouvre trois écrans virtuels au lieu d'un, pour essayer le côté multi-écran.
Dépendances de compilation, pour chaque distribution :
sudo pacman -S --needed rust pkgconf clang wayland libinput seatd systemd-libs libdrm \
mesa libxkbcommon libglvnd libx11 libxcb libxcursor libxi libxkbcommon-x11 \
alsa-lib ffmpeg libpipewire
sudo apt install build-essential pkg-config cargo clang libwayland-dev libinput-dev \
libseat-dev libudev-dev libdrm-dev libgbm-dev libxkbcommon-dev \
libegl1-mesa-dev libx11-dev libxcb1-dev libxcursor-dev libxi-dev \
libxkbcommon-x11-dev libasound2-dev libavcodec-dev libavformat-dev \
libavutil-dev libswscale-dev libpipewire-0.3-dev
Sur Debian 13, prenez Rust avec rustup : celui de la distribution est plus ancien que ce que demande la compilation.
sudo dnf install cargo pkgconf-pkg-config clang wayland-devel libinput-devel \
libseat-devel systemd-devel libdrm-devel mesa-libgbm-devel \
libxkbcommon-devel mesa-libEGL-devel libX11-devel libxcb-devel \
libXcursor-devel libXi-devel libxkbcommon-x11-devel alsa-lib-devel \
ffmpeg-free-devel pipewire-devel
Installer un paquet
Des paquets prêts à l'emploi pour Arch, Debian et Ubuntu, et Fedora sont joints à chaque version publiée sur GitHub. Ou compilez-les vous-même depuis le dépôt — les recettes s'y trouvent.
./packaging/build.sh arch -- --syncdeps
Produit un PKGBUILD pour le dépôt et lance makepkg ; les paquets arrivent dans packaging/out/arch/.
sudo apt install dpkg-dev build-essential pkg-config clang rustup \
libasound2-dev libgbm-dev libavcodec-dev libavformat-dev libavutil-dev \
libswscale-dev libinput-dev libpipewire-0.3-dev libseat-dev libudev-dev \
libxkbcommon-dev
./packaging/build.sh debian
Le script vérifie tout d'abord et, s'il manque quelque chose, le nomme en une seule ligne apt install.
sudo dnf install rpm-build dnf5-plugins git-core
sudo dnf builddep packaging/fedora/lxb-desktop.spec
./packaging/build.sh fedora
Les RPM binaires et sources sont copiés dans packaging/out/fedora/. Un conteneur fedora-toolbox suffit pour compiler.
nix build path:.#linexinbar # the whole desktop, as one derivation
nix build path:.#lxb-compositor # the compositor alone
Le dépôt est un flake épinglé, et nix-build packaging/nix fonctionne sans les flakes.
Installez lxb-compositor et lxb-desktop : le compositeur, et le shell avec son portail, son coordinateur de mises à jour et l'entrée de session.
Lancer la session
Une fois les paquets installés, choisissez LineXinBar dans la liste des sessions de votre écran de connexion, comme n'importe quel autre bureau.
Depuis une console texte, lxb --shell lance le tout ; quitter le shell vous déconnecte au lieu de laisser un écran vide. L'écran de connexion Console Experience est fait pour l'accompagner, et passe la main au shell en une seule image continue.
Les réglages vivent dans ~/.config/lxb/ — écrits pour la plupart par la colonne Paramètres du shell lui-même, tous lisibles et modifiables à la main.
Paquets facultatifs
Trois intégrations sont des paquets à part, pour qu'une machine qui n'émule jamais de console n'en embarque rien. Installez-en un pendant la session et sa ligne apparaît en quelques secondes.
lxb-retroarchVos propres jeux de console grâce à RetroArch, avec les cœurs et les jaquettes récupérés pour vous.
lxb-heroicVotre bibliothèque Epic Games grâce au Flatpak de Heroic Games Launcher.
lxb-rpcs3Les jeux PlayStation 3 grâce à RPCS3, avec leurs vidéos, leur musique et leurs trophées.
Chacun est lié à la version du shell avec laquelle il a été compilé. Steam n'a besoin d'aucun paquet à lui — seulement du client Steam de Valve.
Ce qu'il lui faut
- Linux, avec un pilote graphique capable de piloter les écrans (DRM/KMS) et un pilote OpenGL ES fonctionnel ; un pilote Vulkan est utilisé s'il y en a un.
- systemd-logind ou seatd, qui confie à la session ses écrans et ses périphériques d'entrée.
- udev, pour être prévenu quand on branche des écrans et des manettes.
- En option : Xwayland pour les programmes X11, PipeWire pour le son et le partage d'écran, Flatpak pour les intégrations, ddcutil pour la luminosité des moniteurs externes.
Tout le matériel est découvert à l'exécution — chaque écran, chaque mode et chaque GPU —, donc rien n'est à configurer d'abord pour votre machine.
Matériel
LineXinBar en est à ses premiers développements. Jusqu'ici, les tests ont surtout porté sur une carte graphique AMD pilotant deux écrans, plus des sessions imbriquées.
Rien n'est lié à ce matériel — la voie multi-GPU existe —, mais les autres fabricants graphiques, les consoles portables et les machines à plusieurs GPU ont besoin de plus de monde pour les essayer. Si vous le faites tourner sur quelque chose de nouveau, un rapport de ce qui a marché et de ce qui n'a pas marché est l'une des choses les plus utiles que vous puissiez envoyer.