X11Libre Project, Thoughts?

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?

3 Likes

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

4 Likes

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.

1 Like

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.

1 Like

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.

1 Like

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.

1 Like

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.

1 Like

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.

2 Likes

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.

2 Likes

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”.

2 Likes

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.

2 Likes

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.

1 Like

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.

1 Like

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.

1 Like

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.

1 Like

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.

1 Like