Proiectul Phoenix dezvoltă un server modern X, scris în Zig

În cadrul proiectului Phoenix, a fost făcută o încercare de a crea de la zero un nou server X, care să nu folosească resursele X.org Server și să vizeze crearea unei alternative moderne, care extinde protocolul X11 și oferă posibilități de compatibilitate cu Wayland. În prezent, Phoenix nu este încă pregătit pentru utilizare zilnică, dar permite organizarea lucrului cu aplicații simple care folosesc GLX, EGL sau Vulkan pentru redarea graficii, funcționând deasupra unui server X existent. Codul este scris în limbajul Zig și este distribuit sub licența GPLv3.

În Phoenix nu se intenționează implementarea tuturor funcționalităților protocolului X11 disponibile în X.org Server și nici susținerea hardware-ului învechit. De exemplu, în loc de suport complet pentru elementele protocolului X11 în ceea ce privește fonturile, se preconizează adăugarea doar a operațiunilor de bază cerute în aplicațiile reale. În loc de a sprijini driverele video clasice X.Org, pentru redarea graficii se utilizează Linux DRM (Direct Rendering Manager) și Mesa GBM (Generic Buffer Management).

Se consideră că reducerea funcționalității nu va afecta capacitatea de a lansa aplicații curente, chiar și pe cele care utilizează GTK2. Această abordare va simplifica semnificativ implementarea, păstrând compatibilitatea cu programele lansate în ultimii 20 de ani, precum și asigurând funcționarea pe hardware de cel mult 15-20 de ani.

În același timp, protocolul X11 va fi extins cu noi extensii care țin cont de tendințele moderne, cum ar fi suportul HDR, suportul corect pentru configurații cu mai multe monitoare (framebuffer separate pentru fiecare monitor), posibilitatea de a specifica DPI legat de monitoare, schimbarea adaptivă a frecvenței de actualizare a monitorului (VRR), protecția împotriva apariției ruperea imaginii (tearing). În Phoenix a fost, de asemenea, modificat comportamentul în procesarea șirurilor — prin defect, se utilizează UTF-8, iar ISO Latin-1 se aplică doar la cererea explicită a acestei codificări.

Pentru a spori securitatea aplicației în Phoenix, feronati sunt izolate una de alta prin default și pot interacționa și accesa feronati sau evenimente de intrare ale altora doar după o confirmare explicită a permisiunilor printr-un dialog special sau prin acordarea de drepturi la pornire. Pentru a păstra compatibilitatea cu clienții X11 mai vechi, în loc să fie generate erori în cazul lipsei permisiunilor adecvate, vor fi transmise date goale. Combinările globale de taste vor funcționa doar prin menținerea tastei de modificare sau prin oferirea de drepturi de acces separate.

Pentru a rula aplicații care susțin doar Wayland, se plănuiește implementarea suportului încorporat pentru acest protocol sau activarea unor straturi externe, cum ar fi 12to11.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster