====== XLibre X11 Server - Instalare ====== {{tag>xlibre x11 xorg linux server fedora ubuntu debian arch rhel almalinux tutorial}} **XLibre** este un fork independent al serverului X.Org, dezvoltat de comunitate, cu scopul de a moderniza protocolul X11. Dacă ești pe Fedora, Ubuntu, Debian, Arch Linux sau familia Red Hat și vrei să treci de la X.Org la XLibre, acest tutorial acoperă fiecare distribuție pas cu pas, cu comenzile exacte. ===== Ce este XLibre? ===== Proiectul XLibre a luat naștere pe **5 iunie 2025**, când un grup de contribuitori au bifurcat codul X.Org Server. Motivul principal: X.Org devenise din ce în ce mai neglijat pe măsură ce industria se îndrepta spre Wayland, lăsând în urmă bug-uri nerezolvate, patch-uri de securitate neaplicate și funcționalități blocate în stadiu de dezvoltare. Până în prezent, proiectul numără peste **30 de contribuitori activi**. Obiectivele declarate ale proiectului sunt: * **Curățarea și consolidarea codului** existent, pentru o bază mai stabilă pe termen lung * **Backportarea patch-urilor de securitate** care stăteau neaplicate în X.Org (inclusiv CVE-urile din iunie 2025) * **Integrarea funcționalităților blocate** - în special cele disponibile doar pentru Xwayland * **Menținerea compatibilității inverse**, astfel încât aplicațiile mai vechi să funcționeze în continuare Principalele îmbunătățiri tehnice incluse în XLibre: * **TearFree activat implicit** - elimină efectul de „rupere" a imaginii la redarea video, fără configurare manuală (funcționalitate existentă în X.Org dar niciodată lansată oficial) * **Atomic modesetting** - permite schimbarea modului de afișare fără flickering * **Extensia Xnamespace** - separă clienții X între ei, un pas important spre securizarea mediului X11 * **Port Xnest la xcb** și directoare per-ABI pentru drivere * **Suport Nvidia îmbunătățit** - începând cu versiunea 25.0.0.16, driverul proprietar este detectat și gestionat automat Distribuții cu suport **oficial** inclus: **Artix Linux**, **Devuan**, **GhostBSD**. Pentru celelalte, pachetele sunt disponibile prin repository-uri de comunitate, documentate mai jos. ===== Cerințe preliminare ===== Înainte de a începe, asigură-te că: * Ai acces **root** sau **sudo** pe sistem * Sistemul tău rulează o sesiune **X11** (nu Wayland) - XLibre înlocuiește serverul X, nu Wayland * Conexiunea la internet funcționează * Pe Ubuntu/Debian: ''ca-certificates'' și ''curl'' sunt instalate * Pe Arch: ''pacman-key'' funcționează (standard pe orice instalare Arch) XLibre nu este încă pachet oficial în majoritatea distribuțiilor. Folosești repository-uri de comunitate, care nu trec prin același proces de testare ca pachetele oficiale. Testează mai întâi pe un sistem secundar sau într-o mașină virtuală dacă ai dubii. ===== Instalare ===== **Versiuni compatibile: Fedora 42, 43, 44** Pe Fedora, instalarea se face prin repository-ul **Copr** oficial al grupului XLibre. Copr este echivalentul Fedora al unui PPA Ubuntu - un sistem de build și distribuție de pachete comunitare. **Pasul 1: Activează repository-ul Copr** sudo dnf copr enable @xlibre/xlibre-xserver Caracterul ''@'' indică un grup Copr (nu un utilizator individual). Când rulezi comanda, DNF îți va cere confirmarea - tastează ''y'' și apasă Enter. **Pasul 2: Instalează pachetele XLibre** sudo dnf install xlibre-xserver xlibre-xf86-input-libinput --allowerasing --refresh Explicația flag-urilor: * ''xlibre-xserver'' - serverul X propriu-zis * ''xlibre-xf86-input-libinput'' - driverul de input (tastatură, mouse) compatibil cu XLibre * ''%%--allowerasing%%'' - permite eliminarea pachetelor X.Org conflictuale și înlocuirea lor cu XLibre; **fără acest flag instalarea eșuează** din cauza conflictelor de versiune * ''%%--refresh%%'' - forțează actualizarea metadatelor repository-ului înainte de instalare Pachetele XLibre au configurat ''Obsoletes/Provides'' astfel încât să înlocuiască automat pachetele X.Org corespunzătoare. **Pasul 3: Caz special pe Fedora 44 + GNOME** Fedora 44 a eliminat sesiunea GNOME pe X11 din instalarea implicită. Chiar dacă XLibre este instalat, la ecranul de autentificare vei vedea doar sesiunea Wayland. Instalează pachetul de sesiune GNOME pentru X11: sudo dnf install gnome-session-xsession După aceasta, la ecranul GDM apare opțiunea **„GNOME on Xorg"**, care va rula pe XLibre. KDE Plasma nu are această problemă - opțiunea **„Plasma (X11)"** este disponibilă implicit la SDDM și rulează pe stiva XLibre fără pași suplimentari. **Pasul 4: Repornește sistemul** sudo reboot **Versiuni compatibile:** * **EL9**: RHEL 9, CentOS Stream 9, Rocky Linux 9 * **EL10**: RHEL 10, CentOS Stream 10, Rocky Linux 10 ---- **Pe EL9 (RHEL 9 / CentOS Stream 9 / Rocky Linux 9)** Procedura este identică cu Fedora - același repository Copr funcționează și pe EL9. **Activează repository-ul:** sudo dnf copr enable @xlibre/xlibre-xserver **Instalează pachetele:** sudo dnf install xlibre-xserver xlibre-xf86-input-libinput --allowerasing --refresh **Repornește:** sudo reboot ---- **Pe EL10 (RHEL 10 / CentOS Stream 10 / Rocky Linux 10)** Pe EL10, comanda ''dnf copr enable'' poate provoca **conflicte de versiune** cu alte pachete din sistem. Din acest motiv, descarcă manual fișierul ''.repo'' cu ''wget'': sudo wget https://copr.fedorainfracloud.org/coprs/g/xlibre/xlibre-xserver/repo/rhel+epel-10/group_xlibre-xlibre-xserver-rhel+epel-10.repo \ -O /etc/yum.repos.d/xlibre-xserver-rhel+epel-10.repo **Instalează pachetele:** sudo dnf install xlibre-xserver xlibre-xf86-input-libinput **Repornește:** sudo reboot **Versiuni compatibile:** * **AlmaLinux 9** - prin Copr (identic cu Fedora/EL9) * **AlmaLinux 10** - prin fișier ''.repo'' descărcat manual ---- **Pe AlmaLinux 9** sudo dnf copr enable @xlibre/xlibre-xserver sudo dnf install xlibre-xserver xlibre-xf86-input-libinput --allowerasing --refresh sudo reboot ---- **Pe AlmaLinux 10** AlmaLinux 10 are un fișier ''.repo'' dedicat, diferit față de RHEL/CentOS 10: sudo wget https://copr.fedorainfracloud.org/coprs/g/xlibre/xlibre-xserver/repo/alma+epel-10/group_xlibre-xlibre-xserver-alma+epel-10.repo \ -O /etc/yum.repos.d/xlibre-xserver-alma+epel-10.repo **Instalează pachetele:** sudo dnf install xlibre-xserver xlibre-xf86-input-libinput **Repornește:** sudo reboot **Versiuni compatibile: Ubuntu 24.04 LTS, 24.10, 25.04** Nu există un PPA oficial pentru Ubuntu. Repository-ul de mai jos este menținut de comunitate, neafiliat oficial cu proiectul XLibre. Verifică sursele înainte de a-l activa. **Pasul 1: Adaugă cheia GPG și repository-ul** sudo apt-get update sudo apt-get install -y ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://xlibre-deb.github.io/key.asc | \ sudo tee /etc/apt/keyrings/xlibre-deb.asc sudo chmod a+r /etc/apt/keyrings/xlibre-deb.asc **Pasul 2: Adaugă repository-ul în lista de surse** cat < Comanda detectează automat versiunea Ubuntu curentă (''noble'' pentru 24.04, ''oracular'' pentru 24.10, etc.) și arhitectura sistemului. **Pasul 3: Actualizează și instalează** sudo apt-get update sudo apt-get install xlibre **Pasul 4: Repornește sistemul** sudo reboot ---- **Revenire la X.Org pe Ubuntu** sudo apt-get remove xlibre xserver-xlibre* sudo apt-get install xorg sudo rm -f /etc/apt/sources.list.d/xlibre-deb.sources sudo apt-get update **Versiuni compatibile: Debian 12 (Bookworm), Debian Testing (Forky)** Nu există un pachet oficial Debian pentru XLibre. Repository-ul de mai jos este menținut de comunitate. Pe Debian Bookworm, este posibil să ai nevoie de pachete ''libdrm*'' din ''bookworm-backports''. **Pasul 1: Adaugă cheia GPG și repository-ul** sudo apt-get update sudo apt-get install -y ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://xlibre-deb.github.io/key.asc | \ sudo tee /etc/apt/keyrings/xlibre-deb.asc sudo chmod a+r /etc/apt/keyrings/xlibre-deb.asc **Pasul 2: Adaugă repository-ul** cat < Dacă folosești Debian Testing (Forky), schimbă ''Components: main'' în ''Components: testing'' în fișierul creat mai sus. **Pasul 3: Pe Debian 12 - activează backports pentru libdrm (dacă e necesar)** echo "deb http://deb.debian.org/debian bookworm-backports main" | \ sudo tee /etc/apt/sources.list.d/bookworm-backports.list **Pasul 4: Actualizează și instalează** sudo apt-get update sudo apt-get install xlibre **Pasul 5: Repornește sistemul** sudo reboot **Versiuni compatibile: Arch Linux, EndeavourOS, Garuda Linux, Manjaro, CachyOS** Există două metode de instalare pe Arch. **Metoda 1 (repository binar oficial)** este recomandată deoarece oferă actualizări automate prin ''pacman'', fără să fie nevoie să compilezi de fiecare dată. ---- **Metoda 1: Repository binar oficial XLibre (recomandat)** **Pasul 1: Adaugă cheia de semnare** sudo pacman-key --recv-keys 73580DE2EDDFA6D6 sudo pacman-key --finger 73580DE2EDDFA6D6 sudo pacman-key --lsign-key 73580DE2EDDFA6D6 Dacă comenzile ''pacman-key'' eșuează (probleme de conexiune cu serverele de chei), folosește alternativa cu ''curl'': sudo sh -c 'curl -sS https://x11libre.net/repo/arch_based/x86_64/0x73580DE2EDDFA6D6.gpg | gpg --import -' **Pasul 2: Adaugă repository-ul în ''pacman.conf''** Editează ''/etc/pacman.conf'' și adaugă această secțiune **înaintea** secțiunii ''[core]'': [xlibre] Server = https://x11libre.net/repo/arch_based/x86_64 **Pasul 3: Actualizează baza de date** sudo pacman -Sy **Pasul 4: Identifică driverele X.Org instalate** Înainte de a instala XLibre, notează ce drivere xf86 ai instalate, pentru a le înlocui cu echivalentele XLibre: pacman -Q | grep 'xorg-server\|xf86-' **Pasul 5: Instalează XLibre și înlocuiește driverele** Dacă migrezi de la X.Org existent, această comandă găsește automat toate driverele xf86 și le înlocuiește cu echivalentele xlibre: pacman -Q | grep '^xorg-server-\|^xf86' | cut -d' ' -f1 | \ sed 's/^xorg-server-/xlibre-xserver-/' | \ sed 's/^xf86-/xlibre-/' | xargs -ro sudo pacman -Syy Dacă sistemul nu are X.Org instalat (instalare fresh), instalează direct: sudo pacman -S xlibre-server xlibre-server-common xlibre-input-libinput Dacă ''pacman'' raportează conflicte cu ''lightdm'' sau ''sddm'', dezinstalează temporar managerul de afișare, finalizează instalarea XLibre, apoi reinstalează-l. sudo pacman -R lightdm # ... instalare XLibre ... sudo pacman -S lightdm **Pasul 6: Repornește sistemul** sudo reboot ---- **Metoda 2: AUR (alternativă, necesită compilare)** Dacă preferi AUR și folosești un helper precum ''yay'' sau ''paru'': yay -S xlibre-xserver xlibre-input-libinput Această metodă compilează pachetele din sursă, ceea ce durează mai mult dar nu necesită adăugarea unui repository extern cu chei GPG. ===== Verificare după instalare ===== Indiferent de distribuție, după repornire confirmi că XLibre rulează efectiv pe sistemul tău. **Verifică versiunea serverului X:** Xorg -version Output așteptat (exemplu real de pe Fedora 44): XLibre X Server 1.25.1.5 X Protocol Version 11, Revision 0 Current Operating System: Linux fedora 7.0.8-200.fc44.x86_64 #1 SMP PREEMPT_DYNAMIC ... Dacă apare **''XLibre X Server''**, instalarea a reușit. Dacă mai apare ''X.Org X Server'', înlocuirea pachetelor nu a funcționat corect. **Verifică tipul de sesiune curentă:** echo $XDG_SESSION_TYPE Dacă returnează ''x11'', rulezi o sesiune X11 cu XLibre activ. Dacă returnează ''wayland'', ești pe Wayland și XLibre nu este activ în sesiunea curentă. **Verifică log-ul serverului X (Linux în general):** grep -i "xlibre" /var/log/Xorg.0.log **Pe Arch (log-ul se poate afla în altă locație):** grep -i "xlibre" ~/.local/share/xorg/Xorg.0.log ===== Configurare pentru driverul proprietar Nvidia ===== XLibre folosește o structură internă mai nouă față de X.Org clasic, pe care driverul proprietar Nvidia mai vechi s-ar putea să nu o recunoască. **Pentru XLibre < 25.0.0.16** adaugă manual configurația de compatibilitate ABI. Creează (sau editează) fișierul ''/etc/X11/xorg.conf.d/xlibre.conf'': Section "ServerFlags" Option "IgnoreABI" "true" EndSection Această setare îi spune serverului X să ignore verificarea de versiune ABI și să încarce driverul indiferent de versiune. **Pentru XLibre ≥ 25.0.0.16** driverul Nvidia proprietar este detectat și gestionat **automat**, fără nicio configurare manuală. ===== Compatibilitate cu mediile desktop ===== XLibre este proiectat să funcționeze cu mediile desktop care suportă X11: * **Compatibile** (testate și funcționale): Cinnamon, XFCE, MATE, LXQt, KDE Plasma X11 * **Parțial compatibile** (necesită pași suplimentari): GNOME pe Fedora 44+ - instalează ''gnome-session-xsession'' * **Incompatibilitate viitoare anunțată**: GNOME 50+ și KDE Plasma 7+ plănuiesc să elimine suportul X11 complet ===== Revenire la X.Org ===== sudo dnf copr disable @xlibre/xlibre-xserver sudo dnf distro-sync --allowerasing sudo reboot Pe EL10/AlmaLinux 10 (unde ai folosit fișierul ''.repo'' manual): sudo rm /etc/yum.repos.d/xlibre-xserver-*.repo sudo dnf distro-sync --allowerasing sudo reboot sudo apt-get remove xlibre xserver-xlibre* sudo apt-get install xorg sudo rm -f /etc/apt/sources.list.d/xlibre-deb.sources sudo apt-get update sudo reboot # Elimină secțiunea [xlibre] din /etc/pacman.conf sudo pacman -S xorg-server xf86-input-libinput sudo reboot ===== Resurse suplimentare ===== * [[https://github.com/X11Libre/xserver|XLibre pe GitHub]] - codul sursă și documentație tehnică * [[https://copr.fedorainfracloud.org/coprs/g/xlibre/xlibre-xserver/|Repository Copr oficial XLibre]] - pentru Fedora și familia Red Hat * [[https://xlibre-deb.github.io/ubuntu/|Repository Ubuntu]] și [[https://xlibre-deb.github.io/debian/|Repository Debian]] - pachete de comunitate * [[https://x11libre.net/repo/arch_based/x86_64/README.html|Repository binar Arch]] - documentație completă pentru Arch * [[https://github.com/X11Libre/xserver/wiki|Wiki XLibre]] - pagina „Are We XLibre Yet?" cu statusul suportului per distribuție