Enrico Weigelt, project leader of XLibre, prepared a pull request after discussions with the community, integrating the main drivers for X11 into the master branch of the X-server. The reason given is the desynchronization of the X-server and drivers due to the changing ABI that the drivers interact with, as well as the desire to provide all necessary drivers together with the X-server without the need for a manual search for compatible versions.
Part of the community criticizes this decision, fearing it complicates the development of new drivers for XLibre, but Enrico insists on the necessity of such an approach. Arguments include a similar development model to the Linux kernel, which essentially has no stable ABI, as well as the 'raw' state of the XLibre codebase, which is still undergoing a full-scale refactoring. However, in the future, as the project matures, developers do not rule out the stabilization of the ABI. The development of new drivers for X11 outside the XLibre tree is possible, but synchronization of the ABI remains the developer's responsibility. For those who do not wish to install all drivers together with server they promise to implement build flags.
It is also noteworthy that a port of XLibre for FreeBSD has appeared, and there is discussion about translating XLibre to Rust. Developers have expressed opposition to rewriting parts of XLibre in Rust, citing the lengthy process, performance degradation, lack of advantages, and the extreme complexity of maintaining a bilingual codebase.
Bron: opennet.ru
