Proiectul NetBSD despre schimbarea managerului de feronier oferit implicit în sesiunea X11 de la pe . CTWM este un fork al twm, care s-a desprins în 1992 și a evoluat spre crearea unui manager de feronier ușor și complet personalizabil, permițând modificarea aspectului și comportamentului conform preferințelor utilizatorului.
Managerul de feronier twm a fost oferit în NetBSD timp de 20 de ani, iar în condițiile moderne părea arhaic. Reacția negativă a utilizatorilor față de twm, oferit implicit, a determinat dezvoltatorii să revizuiască interfața de utilizare implicită și să adopte un manager de feronier mai funcțional, CTWM, pentru a crea un mediu prietenos pentru utilizatorii cu experiență în alte sisteme de operare.
CTWM suportă birouri virtuale, se dezvoltă activ și este disponibil sub o licență compatibilă cu NetBSD. Dintre noile funcționalități implementate pe baza CTWM, se remarcă meniul aplicațiilor generat automat, combinațiile utile de taste pentru gestionarea completă fără mouse, adaptarea pentru lucrul cu diverse rezoluții de ecran (inclusiv HiDPI după adăugarea fonturilor mari), și posibilitatea de a suporta atât sisteme foarte lente, cât și foarte rapide prin intermediul unui singur fișier de configurare.
A fost:
A devenit:
În plus notă despre starea proiectului pentru asigurarea funcționării serverului compozit în NetBSD bazat pe protocolul Wayland. Portul nu este încă pregătit pentru utilizarea zilnică, dar este deja funcțional pentru experimente și pentru rularea aplicațiilor care folosesc Qt5, GTK3 sau SDL2. Problemele semnalate includ incompatibilitatea cu anumite aplicații, inclusiv Firefox, lipsa suportului pentru rularea aplicațiilor X11, și posibilitatea de a funcționa doar cu GPU Intel, pentru care există un driver pentru comutarea modurilor video la nivel de kernel.
Dintre caracteristicile Wayland care complică portarea în NetBSD se menționează volumul mare de cod specific sistemului operativ în managerii de compozitare care se ocupă de gestionarea ecranului, intrărilor și feronierelor. Wayland nu oferă protocoale gata pregătite pentru funcționalități precum crearea de capturi de ecran, blocarea ecranului și gestionarea feronierelor, și deocamdată este în urma serverului X în domenii precum portabilitate, modularitate și standardizare.
Funcționalitățile suplimentare sunt realizate prin intermediul managerului compozit sau prin definirea extensiilor pentru protocoale. Serverul compozit de referință Weston este puternic legat de API-ul nucleului Linux. De exemplu, legătura cu mecanismul de multiplexare a intrărilor și ieșirilor epoll necesită reproiectare pentru a suporta kqueue. Patch-urile pentru utilizarea kqueue au fost deja pregătite de dezvoltatorii sistemelor BSD, dar nu au fost acceptate încă în integrarea principală.
Codul serverului compozit de referință a fost scris inițial având în vedere doar Linux și nu ia în considerare particularitățile altor sisteme (de exemplu, codul utilizează „#include ” și dependența de libinput). În FreeBSD este implementat un clone al API-ului de intrare Linux, dar în NetBSD este aplicat un API fundamental diferit pentru gestionarea intrării — wscons. În prezent, suportul pentru wscons este deja adăugat în swc și este planificat să fie transferat în alte manageri de compozit.
Reprezentanții NetBSD intenționează să convingă dezvoltatorii Wayland să nu folosească o legătură rigidă cu epoll, ci să treacă la un strat universal, cum ar fi libevent. Printre lucrările planificate se numără și actualizarea stivei DRM/KMS din nucleul NetBSD și a driverelor grafice, inclusiv prin portarea codului din nucleul Linux, precum și adăugarea suportului pentru schimbarea atomică a modurilor video, noi versiuni DRM și API-ul Glamor (pentru rularea aplicațiilor X11 sub Xwayland). Suportul pentru framebuffers va fi adăugat serverului compozit bazat pe Wayland.
Sursa: opennet.ro
