Just ran across mention on Youtube about the X11libre project: GitHub - X11Libre/xserver It looked promising. Has anyone heard anything further about it or does anyone know any more details?
Apparently Redhat dont like it and are being aggressive about it
That makes me more determined to investigate and promote it.
Censorship is not part of FOSS
I was trying to read more on it and I hear good and bad on both sides. I donāt feel like I have the full story. Some of the posts seem to say the developer got banned for extreme political views and many of the patches he sent in were breaking more than they were fixing. Some of them are pitching it like itās one person against the corporate system. Some people are saying they arenāt interested in a project thatās only run by one maintainer because who knows what happens to the project when that person no longer maintains it. I do think it would be great to have an alternative to X.org if theyāre no longer interested in maintaining an X server or X11 libraries and want to put all their efforts into Wayland. There are other groups attempting to maintain an X server including BSDās xenocara project and GitHub - openbsd/xenocara: Read-only git conversion of OpenBSD's official cvs xenocara repository. and TinyCore Linuxās tinyx project. These projects tend to focus on a specific target and if your hardware or OS doesnāt match that target they may or may not be as useful as a full implementation of X Windows. It would be nice to see a project take over maintaining X11 that sees a future in using it and wants to continue to maintain and improve it though.
I agree.
I wonder whether it would be possible to dissect X11 into several modules that might be maintainable by smaller teams. The whole of X11 would be the next biggest thing after the kernel. There are reasons for keeping the kernel monolithic, but there is no reason I can see why a window system has to be. Things like browsers are getting too big to manage too.
This current controversy will peter out. If the X11libre fork is well done it may evolve into something like what you would like to see. Its quality will determine its fate, not the politics. I would not erite it off⦠this contentious individual is just the sort of person who may do something innovative.
I have tried OpenBSD with xenocara. It seems to work for me.
Iām assuming when you say you tried it that you tried it on a Linux system and not just a BSD system. If they are continuing to support systems other than BSD that makes it a promising alternative.
Iām only seeing the xserver and the various drivers in the github repository. I donāt see any of the supporting X11 libraries needed to build software that works on xserver. With all the drivers, itās still quite a lot of code. However, itās a lot less packages than if theyād included the proto files, libx11, fonts and other libraries used to build X11 applications.
No, I only used it in OpenBSD.
Moving BSD code to Linux and v/v is difficult⦠system calls differ. You know that.
I suppose what the client server model does is avoid having to compile all the X libraries into every app. The server manages the screen for all apps. So it needs a degree of generality. In that sense it is like a driver⦠with a very complicated API.
That was one of my biggest concerns. Some of the BSD projects like libressl port decently to other platforms. The xserver works on a large number of platforms including Linux and Windows. If the BSD developers try to clean up the code for just their platform of choice, the code wonāt be very useful to people using other platforms anymore. It would be nice to have a project thatās willing to fork X and still maintain all the various platforms it supports or be willing accept patches for the various platforms.
Thereās a mailing list for the project at https://www.freelists.org/list/xlibrev I wrote and asked what platforms theyāre planning on supporting. They seem open to supporting whatever platforms people want to use and help maintain. The lead developer even mentioned that heād like to integrate code from some of the BSD forks. From what Iāve read so far on the mailing list and looking over some of the older bug fixes in xserver by the lead developer, it sounds like a very promising project. I hope it keeps X11 going as an alternative for niche Linux distributions. There are so many wonderful older FLOSS X11 programs and it would be nice to see them continue to have a platform to work on. There is XWayland, but it would be helpful to have a platform with X11 development as a priority not a concession as they switch to different APIs and newer GUI library development.
Soon there may very well not be that many applications anymore, as GTK+ and Qt drop X11 support.
Hey! Everything in the name of blind, inconsiderate āadvancementā.
I think if thereās a viable alternative to Wayland, there will be GUIs that support it. I also use a lot of not as well known GUI/TUI and screen libraries. Some of my favorites are FLTK, SDL, Raylib, OTK and PDCurses with a SDL backend. All of them work with X. Libraries like nuklear support a wide variety of backends and will likely continue to be useful with X. Plus, there are so many wonderful legacy FLOSS programs that work with X. Iād like to see some of them have new development in the future to continue their usefulness.
There needs to be something like Posix for Window Systems, or more generally for the GUI. That would provide a focus so developers could have some confidence in what may be supported in the future.
The amount off effort needed to write code that has GUI I/O is an order of magnitude greater than that needed to write code that has text I/O.
Most languages have text I/O built in. I can not think of any language that has GUI I/O built in .
We have not coped at all well with going from 1D I/O to 2D I/O.
We need to start again and define what 2D I/O is, so that languages and low level tools have something consistent to support.
For example 1D I/O is based on the way we write text. ⦠it deals with characters and words and lines. What is the basic unit of 2D I/O?.. some sort of graphic object?.. I dont think we know⦠a Window is a much higher level thing⦠what is the basic unit of drawing, in contrast to writing?
That is where the effort should be. Get the basics right first.
Then we might see a language that can draw as well as write⦠putting a block of text in a window and calling it a gui is a crummy idea that copies what we do with bits of paper on a desktop. We need to break out of the desktop and deal with the real world.
X11 has been a standard for years. I have a few of the X11 books like this one: Xlib Programming Manual by Adrian Nye | Open Library Also, this site looks useful as a reference: https://tronche.com/gui/x/xlib/ There are Software Engineering courses on the area of graphics. A lot of what GUI libraries do is basically graphics. I think thatās well enough understood and covered in Software Engineering courses. The issue comes when you start dealing with what a GUI looks like rather than how it works and then you tend to get into something thatās related more to design and aesthetics than it is to science. Thereās plenty of research on what the most accessible designs are. These are often disregarded. Corporations tend to come up with their own design standards for look and feel and expect everyone to follow along until they decide to change the standards without warning. Itās more like fashion and whatās in style this year rather than actual science. I wish more languages had GUI support built in and there are a few that do. (Some later versions of Basic and TCL/Tk come to mind.) However, people donāt typically agree on what they want their interfaces to look like and typically prefer to choose a GUI library that theyāre most comfortable with.
Because there us no standard for graphic design. With languages we at least have something like āstandard Englishā that defines how to write in 1D⦠there is nothing that defines how to display in 2D⦠because there is no āstandard for art.ā.
As you say, there is some maths behind graphics, but that is not enough. The way X11 uses widgets, for example, is its own choice and alternatives may not do it the same.
There is also the contentious but useful networking side of X11 that Wayland neglects. Maybe something could be done there. X11libre should at least preserve networking.
What you report on X11libre is encouraging. We should support it.
That was the part of X11 that impressed me the most. You can do things like X forwarding or use separate client and server machines. For old technology, it is very fast and efficient at communicating drawing commands. It worked on older hardware that had to make the most of efficiency. Iāve experimented with nano-x and sixel via the console for drawing programs over a network. Neither seems as fast at communicating commands and drawing screens as X. I think the large GUI toolkits are headed toward incorporating rdp or other protocols on their end. However, thatās moving the complexity from the window server to the GUI library. It could potentially limit choices in useful GUI libraries since itāll be more complex to build one. It also means each GUI toolkit needs to be responsible for incorporating code if they want to provide that feature, so there will be several implementations to maintain. I can see why a desktop system would move away from the networking capabilities in order to better compete with Windows and Mac. However, being able to run programs on one machine and view them on another is certainly a benefit when working with servers that may not be directly connected to screens or when working with IOT devices like a Raspberry pi. Linux has been trying to conquer the desktop for years. Itās done far better in the server market, as a base for Internet services and in the mobile market. I think it would be better to concentrate on continuing to provide functionality for those markets rather than attempting to create desktop software that competes with commercial desktops. I donāt think theyāre going to be able to come up with a more innovative desktop implementation using Wayland that will draw a lot of people who use closed source systems. Plus, desktop development in Linux is so fractured into so many different options (such as Gnome, KDE, Xfce, Cinnamon, Mate etc.), itāll be hard for any one project to have the manpower and resources to compete with a Windows or Mac interface/desktop.
Yes, and that is the part Wayland has removed. I think it has to restore it, at least as an addon option, maybe even expand it to include deal with remote desktops securely.
No because the desktop is not the problem. If that was the reason for developing Wayland it is a misguided adventure.
I agree with you, Linux needs to concentrate on its strengths in the server world.
I pulled together some resources and links I have on X11 related topics:
If anyone has suggestions for additions, that would be appreciated.
Thank you, I did not know about codeberg.
There is quite an amount of scientific software that uses X11 and has not yet been rewritten to use Wayland directly, so it requires Xwayland to run under Wayland. Xwayland is not always a good performer.
Examples are
- Scribus
- Gimp
- Octave
- R and Rstudio
- Xv and imageJ
- Sagemath
There should , therefore be some interest in X11Libre project from the scientific world.
I also noticed you had a category on codeberg for interesting C programs⦠I would like to nominate āaaā ( astronomical almanac)⦠it calculates positions of sun, moon, planets, and astronomical objects.
Its output is for humans⦠it needs a lot of processing to be computer readable. That is common with old software.
I tend to look at software by what GUI they need to run. For instance, Scribus uses Qt and Gimp uses GTK+. Both GUIs have backends for Wayland and are dropping X support. Xv looks like it would definitely need an X compatible API. imagej looks Java based and wouldnāt necessarily need to rely on X. Sagemath appears to be written in Python and Iām not noticing any strong X dependencies there either. Octave uses Qt, so again, that can be used with Wayland. Interestingly enough, it also uses FLTK which is pretty cool. FLTK is still working on their Wayland back end so youād need an X like API for that.
It would be nice if there was some interest from the BSD community since Wayland isnāt supported well on BSD systems. However, they have their own project so they may not want to get involved with another project. There may also be some interest from Linux distros that are trying to avoid systemd because an X server can be built to avoid systemd dependencies. However, there are smaller distributions without systemd that are using dummy libraries and shims and have already switched to Wayland. From what I can tell, a majority of the Linux community just uses whateverās installed. So when the large distributions switch to Wayland, people will be using that. As long as they donāt have unusual graphics hardware that isnāt well supported or some specialty application such as a resource intensive game that doesnāt play nice with Wayland or XWayland, I think the majority of people arenāt going to care. Iām also wondering how well Wayland would work on devices like a Raspberry Pi. Theyāre working on forwarding graphics via ssh or vnc with Wayland, but the support is in no way as mature as X forwarding.
Thanks for the suggestion for aa. There are a some good lightweight astrology programs out there. I havenāt kept track of them all or built any in a while. Have not run across aa before, so thank you for the suggestion. I should try to add a few more lightweight astronomy programs to my list of C programs.