• Yserver: en ny X11-server i Rust visar att X11 inte är dött än

    När Wayland allt oftare pekas ut som framtiden för Linux-skrivbordet dyker det ändå upp nya projekt som visar att X11 långt ifrån är färdigt. Yserver är en ny X11-server skriven i Rust, byggd för moderna Linux-system och redan kapabel att köra skrivbordsmiljöer som MATE, Xfce och Cinnamon. Det gör projektets första stabila version till en intressant milstolpe för alla som följer utvecklingen av Linux grafikstack.

    I en tid när allt fler Linux-skrivbord går över till Wayland kan det låta märkligt att någon fortfarande utvecklar nya X11-servrar. Men det är precis vad som händer. Projektet Yserver har nu nått version 1.0 och visar att X11 fortfarande har ett tekniskt liv vid sidan av Wayland.

    Yserver är en helt ny X11-server, skriven från grunden i programmeringsspråket Rust. Målet är inte att kopiera X.Org Server in i minsta detalj, utan att bygga en modernare variant som klarar dagens skrivbordsmiljöer, fönsterhanterare och program – utan att bära med sig all historisk ballast från äldre X11-system.

    X11 har funnits i årtionden och har länge varit grunden för grafiska Linux-skrivbord. Det är den teknik som gör att fönster, muspekare, tangentbord, grafik och program kan samverka på skärmen. Men med tiden har X11 blivit både komplext och svårt att modernisera. Därför har Wayland vuxit fram som ett modernare alternativ.

    Trots detta används X11 fortfarande av många. En del föredrar klassiska fönsterhanterare, andra har program eller arbetsflöden som fungerar bättre under X11. Vissa uppskattar helt enkelt stabiliteten och flexibiliteten i det gamla systemet. Därför finns det fortfarande ett behov av X11-teknik, även om framtiden på Linux-skrivbordet i allt högre grad pekar mot Wayland.

    Det som gör Yserver intressant är att projektet försöker rensa bort sådant som i dag anses föråldrat. Bland det som inte prioriteras finns till exempel stöd för flera gamla skärmkoncept, äldre grafikformat, indirekt GLX, gamla drivrutinsgränssnitt och klienter med annan byte-ordning. Resultatet är tänkt att bli en smalare och mer modern X11-server.

    Samtidigt är Yserver inte bara ett experiment på papperet. Den kan redan köra kompletta skrivbordsmiljöer som MATE, Xfce och Cinnamon. Det är viktigt, eftersom dessa miljöer fortfarande används av många som vill ha ett traditionellt skrivbord med paneler, menyer och klassisk fönsterhantering.

    Projektet har även testats med klassiska fönsterhanterare som FVWM3, e16 och Window Maker. Det gör Yserver särskilt intressant för användare som gillar lätta, snabba och traditionella skrivbordsmiljöer – sådana som ofta fortfarande är starkt knutna till X11.

    Yserver innehåller dessutom stöd för många viktiga X11-tillägg. Bland dessa finns Composite, DAMAGE, DRI3, GLX, RANDR, RENDER, SHAPE, XInput, XKEYBOARD och flera andra. Dessa tillägg behövs för att moderna program, grafikfunktioner, inmatningsenheter och skrivbordseffekter ska fungera på ett rimligt sätt.

    På hårdvarusidan har projektet testats på flera olika plattformar. Det omfattar bland annat AMD- och Intel-grafik, NVIDIA med proprietär drivrutin, Snapdragon X1 med Adreno-grafik, Apple M1 och M2 via Asahi Linux samt virtio-gpu i virtuella miljöer. Det visar att utvecklarna inte bara fokuserar på en smal testmiljö, utan försöker få servern att fungera på flera typer av modern hårdvara.

    Men Yserver är inte färdig som ersättare för X.Org Server. Det finns fortfarande begränsningar. Ett exempel är att funktionen GLX_EXT_texture_from_pixmap fungerar på AMD, Intel, Asahi och Qualcomm, men inte med NVIDIAs proprietära drivrutin. Även byte mellan virtuella terminaler kan vara begränsat beroende på hur servern startas, särskilt när den används tillsammans med LightDM.

    Yserver kan startas direkt från en TTY eller användas med LightDM för grafisk inloggning. För att bygga och köra den krävs en modern Rust-miljö samt flera systembibliotek, bland annat libseat, libxkbcommon, libinput, fontconfig och grafikorienterade beroenden.

    Det är därför viktigt att se Yserver för vad det är: ett experimentellt men tekniskt betydelsefullt projekt. Det är inte en färdig drop-in-ersättare för X.Org Server, och vanliga användare bör inte förvänta sig att kunna byta rakt av utan problem. Men att projektet redan kan köra hela skrivbordsmiljöer som MATE, Xfce och Cinnamon gör version 1.0 till en intressant milstolpe.

    Yserver visar också något större: X11 är inte riktigt redo att försvinna i tysthet. Även om Wayland är framtiden för många Linux-skrivbord finns det fortfarande utvecklare och användare som ser värde i X11-modellen. Med projekt som XLibre och nu Yserver får X11 nytt tekniskt liv – inte nödvändigtvis som framtidens standard, men som ett fortsatt viktigt alternativ för dem som behöver eller föredrar det.

    I praktiken kan Yserver bli mest intressant för entusiaster, utvecklare, retroinriktade Linux-användare och dem som vill fortsätta använda klassiska skrivbordsmiljöer utan att vara helt beroende av X.Org Server. Det är kanske inte början på en stor X11-renässans, men det är ett tydligt tecken på att historien om X11 ännu inte är färdigskriven.

    https://github.com/joske/yserver

    Teknisk faktaruta: Yserver

    Vad är Yserver?
    Yserver är en ny X11-server skriven från grunden i programmeringsspråket Rust.

    Syfte:
    Projektet vill erbjuda en modernare X11-server för dagens Linux-system, utan att försöka kopiera hela X.Org Server och dess äldre funktioner.

    Stöd för skrivbordsmiljöer:
    Yserver kan köra kompletta sessioner med MATE, Xfce och Cinnamon.

    Testade fönsterhanterare:
    FVWM3, e16 och Window Maker har testats med projektet.

    Viktiga X11-tillägg:
    Bland annat Composite, DAMAGE, DRI3, GLX, RANDR, RENDER, SHAPE, SYNC, XFIXES, XInput, XKEYBOARD och XTEST.

    Testad hårdvara:
    AMD, Intel, NVIDIA med proprietär drivrutin, Snapdragon X1 med Adreno-grafik, Apple M1/M2 via Asahi Linux samt virtio-gpu i virtuella miljöer.

    Begränsningar:
    Yserver är fortfarande experimentell och är inte en direkt ersättare för X.Org Server. Vissa funktioner, till exempel GLX_EXT_texture_from_pixmap, fungerar inte fullt ut med NVIDIAs proprietära drivrutin.

    Krav:
    En modern Rust-miljö samt bibliotek som libseat, libxkbcommon, libinput, fontconfig och grafiska systemkomponenter.

    Sammanfattning:
    Yserver visar att X11 fortfarande utvecklas, även i en tid där Wayland blir allt vanligare på Linux-skrivbordet.

  • Phoenix – den klassiska X-servern återföds i modern tappning

    När de flesta har dödförklarat X11 och gått vidare till Wayland dyker ett oväntat projekt upp ur askan. Phoenix är en helt ny X-server, skriven från grunden i det moderna språket Zig, med ambitionen att visa att problemet aldrig var X11-protokollet – utan hur det byggdes. Med fokus på säkerhet, enkelhet och dagens faktiska behov utmanar Phoenix bilden av X som hopplöst föråldrat och väcker frågan: kan gamla idéer få nytt liv i en modern form?

    Phoenix – den klassiska X-servern återföds i modern tappning

    Under flera år har Wayland seglat upp som den självklara efterträdaren till det åldrande X11-systemet. Många stora Linuxdistributioner och skrivbordsmiljöer har redan lämnat Xorg bakom sig – eller är på god väg att göra det. Ändå fortsätter utvecklare att utforska alternativa vägar för X11. Nu har ett nytt och ovanligt ambitiöst projekt gjort entré: Phoenix.

    Ett X11-experiment som börjar från noll

    Till skillnad från de flesta andra X-relaterade projekt är Phoenix inte en vidareutveckling eller avknoppning av Xorg. Det är i stället en helt ny implementation av X11-protokollet, skriven från grunden i programmeringsspråket Zig. Utvecklarnas mål är att visa att X11 i sig inte nödvändigtvis är föråldrat – utan att problemen snarare ligger i decennier av tekniskt arv, speciallösningar och kompromisser i dagens implementationer.

    Fokus på det som faktiskt används

    Phoenix försöker inte stödja hela X11-standarden i detalj. I stället koncentrerar projektet sig på de funktioner som moderna applikationer verkligen behöver. Det innebär att många gamla och sällan använda delar av protokollet helt enkelt utelämnas. Samtidigt ska även äldre program, till exempel GTK2-baserade applikationer, fungera utan modifieringar. Resultatet är ett smalare men mer överskådligt system som är lättare att förstå, underhålla och vidareutveckla.

    Säkerhet som grundprincip

    En av de vanligaste invändningarna mot Xorg är dess svaga säkerhetsmodell. I klassisk X11-miljö kan program ofta läsa tangenttryckningar, spela in skärmen eller påverka andra program utan begränsningar. Phoenix angriper detta genom att isolera applikationer som standard. Åtkomst till känsliga funktioner, som globala kortkommandon eller skärminspelning, kräver uttryckliga tillstånd. För att inte bryta befintliga program returneras ofarlig låtsasdata vid obehöriga försök i stället för protokollfel.

    Inbyggd compositor och modern grafik

    Phoenix innehåller en egen compositor som ger flimmerfri rendering som standard. Det finns även stöd för att stänga av compositing för fullskärmsprogram, vilket kan minska latens och förbättra prestanda. Projektet är också designat med moderna skärmlösningar i åtanke, med prioritet på korrekt flerskärmsstöd, olika uppdateringsfrekvenser, variabel uppdateringsfrekvens och framtida HDR-stöd – utan att vara låst till en enda global framebuffer.

    Tidigt utvecklingsskede och tydliga begränsningar

    I dagsläget är Phoenix fortfarande experimentellt och inte redo för daglig användning. Det kan köra enklare hårdvaruaccelererade applikationer via GLX, EGL eller Vulkan, men endast i en nästlad miljö under en annan X-server. Projektet har heller inga ambitioner att ersätta Xorg rakt av. Stöd för gammal hårdvara, flera X11-skärmar, indirekt GLX och andra historiska specialfall är medvetet bortprioriterat.

    Relationen till Wayland

    Trots att Phoenix utgår från X11 finns Wayland med i framtidsplanerna. Utvecklarna undersöker möjligheter att köra Wayland-klienter direkt, använda brygglösningar mellan systemen eller till och med köra Phoenix nästlat under Wayland som ett alternativ till Xwayland. Exakt hur detta kommer att se ut är ännu oklart.

    Ett nytt liv för gamla idéer

    Phoenix är inte ett löfte om att X11 kommer tillbaka som dominerande grafiksystem på Linux. Däremot är det ett intressant experiment som ifrågasätter antagandet att gamla protokoll automatiskt är hopplösa. Genom att bygga från grunden med moderna verktyg och tydliga avgränsningar visar Phoenix att även välkända idéer kan få nytt liv – om de formas för dagens krav och verklighet.

    FAKTARUTA: PHOENIX
    TypNy X-server (X11), skriven från grunden
    SpråkZig
    KodbasInte Xorg-fork – ingen återanvändning av Xorg-kod
    MålModern, enklare och säkrare X11-implementation för nutida behov
    ProtokolfokusStöder främst funktioner moderna appar behöver (även vissa äldre, t.ex. GTK2)
    SäkerhetApp-isolering som standard; känsliga funktioner via tillstånd
    GrafikInbyggd compositor (tear-free); kan stänga av compositing för fullskärm
    SkärmarPrioriterar bra multi-monitor, olika Hz/VRR, framtida HDR-idéer
    StatusExperimentell; körs nästlat under annan X-server i nuläget
    WaylandLångsiktiga planer: möjliga bryggor/kompatibilitet, ev. alternativ till Xwayland

Etikett: grafikstack

  • Yserver: en ny X11-server i Rust visar att X11 inte är dött än

    När Wayland allt oftare pekas ut som framtiden för Linux-skrivbordet dyker det ändå upp nya projekt som visar att X11 långt ifrån är färdigt. Yserver är en ny X11-server skriven i Rust, byggd för moderna Linux-system och redan kapabel att köra skrivbordsmiljöer som MATE, Xfce och Cinnamon. Det gör projektets första stabila version till en…

  • Phoenix – den klassiska X-servern återföds i modern tappning

    När de flesta har dödförklarat X11 och gått vidare till Wayland dyker ett oväntat projekt upp ur askan. Phoenix är en helt ny X-server, skriven från grunden i det moderna språket Zig, med ambitionen att visa att problemet aldrig var X11-protokollet – utan hur det byggdes. Med fokus på säkerhet, enkelhet och dagens faktiska behov…