What is the future of X / X11?

Status
Not open for further replies.
Agreed. I really don't get why people are refusing to upgrade and sticking with the old versions. I have to admit I hated the squared off tabs when I first upgraded, but within a few days I was used to it and now the curved tabs just look weird if I see old screenshots. Other than that I have no problems and it works perfectly well.
 
IMHO the future of X/X11 is not connected with Firefox exemple (as Firefox create new stuff to assure the future).

To really see where is the problem with X11, I just open the project and I start to read the source code (I'm not a C coder, but I have knowledge to understand).
And I have to admit that it seems like a haystack.

In the protocol the first request is CreateWindow.
I can find two function CreateWindow in the code (in composite and dix).
But a lot of *CreateWindow functions.

The main CreateWindow in 'dix' handle 9? different cases.

If I have to assure quality for this code, that is probably with a lot of efforts.
Clear the code is probablly a mess to.
 
Why would anyone say that? I find Quantum amazing, it made Firefox a credible alternative to Google Chrome again. I switched back to Firefox thanks to Quantum.

The change broke every one of my extensions, the main reason I only use Mozilla based browsers to begin with.
 
The change broke every one of my extensions, the main reason I only use Mozilla based browsers to begin with.

Oh I remember the community discussions about the move to web extensions. I do not use any extension apart from ublock so I didn't feel the pain that much but it looks like a fair number of people are heavy users of extensions.

What I can say is that Quantum is a massive win from a performance perspective. Pages are rendered so fast and so smoothly, ram usage is so low, it is day and night with what Firefox had become. I am privacy-aware so I tried to go back to Firefox times and times again, but it had become a ridiculous religious choice compared to Chrome. But Quantum changed everything. IMHO the performance is even better than Chrome's, they have done a great engineering job, their blog posts describing the new architecture are interesting.

You should really give it a try if you haven't done so yet. Use it for one week. You may forgive them by experiencing the result. Also some extensions have been updated to use the web extension API since then but to be honest I think that a good number never will.
 
Why would anyone say that? I find Quantum amazing, it made Firefox a credible alternative to Google Chrome again. I switched back to Firefox thanks to Quantum.

Both are slow and all web is slow. Better to stick to "Links", no user graphical interface and speed of light.
 
...all web is slow. Better to stick to "Links", no user graphical interface and speed of light.
It's a self-contradiction: if "all web is slow" hence all browsers perform badly (-;
Anyway, everything depends on the purpose: I like and do use www/w3m and www/links, but in everyday life I have to use Firefox.
The same is with X: any remote use outside of LAN is simply nonsense, I have to use VNC or RDP.
 
It's a self-contradiction: if "all web is slow" hence all browsers perform badly (-;
Anyway, everything depends on the purpose: I like and do use www/w3m and www/links, but in everyday life I have to use Firefox.
The same is with X: any remote use outside of LAN is simply nonsense, I have to use VNC or RDP.

There are many advantages to use "SSH -X -C" inside the LAN but as well outside.
VNC makes little senses, compared to SSH. For important things, ssh brings a lot : compatiblity, reliability,... security.

Linux will make this, - with (x)wayland, what works disappear forever or almost on BSD Unix. BSD follows usually Linux in many points (except SysD).
 
There are many advantages to use "SSH -X -C" inside the LAN but as well outside.
It works in theory, but in real life is not usable when goes long path outside of LAN. It's just damn slow.
And again, as was mentioned above: if the connection gets interrupted you lose your session, with VNC you can simply reconnect. Depends on your purpose.
 
It works in theory, but in real life is not usable when goes long path outside of LAN. It's just damn slow.
And again, as was mentioned above: if the connection gets interrupted you lose your session, with VNC you can simply reconnect. Depends on your purpose.

If you use heavy lot of bloat, it won't work.

One has to be clever to avoid many heavy library requirements to make something work.

Kde, gtk,... are just bloat for the Windows user (using Linux like windows).
X11 applications run just smoothly that you are in antartica or kenya over your net cable.

This is why Unix should move to FreeUNIX. Leave newbies, windows user habits, to Linux and FreeBSD (becoming Linux like a windows like).

The real Unix lies on command line and terminal.
 
This is why Unix should move to FreeUNIX. Leave newbies, windows user habits, to Linux and FreeBSD (becoming Linux like a windows like).

You sound like those stallman zealots who foam at the mouth when someone mentions using proprietary or non-GPLd software. Please be a little more open minded.
 
1) Ok. Thanks. Let's try. (Beastie)

2)
Agreed. I really don't get why people are refusing to upgrade and sticking with the old versions. I have to admit I hated the squared off tabs when I first upgraded, but within a few days I was used to it and now the curved tabs just look weird if I see old screenshots. Other than that I have no problems and it works perfectly well.
Maybe core programmers are bored, attracted by shining applications? Matter of mind settings, what is nice and fancy.

3) Heavy library dependencies are okay. However, it should be left some "older" softwares (library). X11 avoids loads of code and allows fast x11 forward. GTK versus x11, why not using x11 for simplicity.
Let's compare the simplicity of "older" X11 with modern GTK on wayland.

You can compile the above program with gcc using: gcc base.c -o base `gtk-config --cflags --libs`
Code:
/* example-start base base.c */

#include <gtk/gtk.h>

int main( int   argc,
          char *argv[] )
{
    GtkWidget *window;

    gtk_init (&argc, &argv);

    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    gtk_widget_show  (window);

    gtk_main ();

    return(0);
}

versus

Code:
// cc xhello.c -lX11
#include <X11/Xlib.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void) {
   Display *d;
   Window w;
   XEvent e;
   const char *msg = "Hello, World!";
   int s;

   d = XOpenDisplay(NULL);
   if (d == NULL) {
      fprintf(stderr, "Cannot open display\n");
      exit(1);
   }

   s = DefaultScreen(d);
   w = XCreateSimpleWindow(d, RootWindow(d, s), 10, 10, 100, 100, 1,
                           BlackPixel(d, s), WhitePixel(d, s));
   XSelectInput(d, w, ExposureMask | KeyPressMask);
   XMapWindow(d, w);

   while (1) {
      XNextEvent(d, &e);
      if (e.type == Expose) {
         XFillRectangle(d, w, DefaultGC(d, s), 20, 20, 10, 10);
         XDrawString(d, w, DefaultGC(d, s), 10, 50, msg, strlen(msg));
      }
      if (e.type == KeyPress)
         break;
   }

   XCloseDisplay(d);
   return 0;
}
 
For X11, since there is no alternative to XOrg and XOrg decide to add wayland support inside X11 (I guess with lost of performance, security and so on), we know that supporting X11 is not a good idea today for new project.
In the computer history, the winner protocol is often the simplest one.

So the best alternative answer for the future of X11 is an alternative implementation of the protocol, but again, that is vaporware...
 
For X11, since there is no alternative to XOrg and XOrg decide to add wayland support inside X11 (I guess with lost of performance, security and so on), we know that supporting X11 is not a good idea today for new project.
In the computer history, the winner protocol is often the simplest one.

So the best alternative answer for the future of X11 is an alternative implementation of the protocol, but again, that is vaporware...

What could be possible alternative? Xvesa ?
 
Guys? As long as nobody can bring a working crystal ball to the table, only time will tell.

Therefore, last round of comments, please.

OK, lets make this thread a sticky, lock it and come back to it in around 50 years. Perhaps we can get this set up in a poll :)

I will start...

I predict the last person to write some X11 related code professionally will be 23 years from now (2041).

I predict the last person to write some Wayland related code professionally will be 11 years from now (2029).

Now you guys. The closest prediction wins a round of beers!

See you in 50 years! :beer:
 
Given some social currents, I doubt we have 20 years left, not to mention 50...
 
When I updated Xorg with Wayland components, I think my desktop ran a bit smoother. FreeBSD already had the smoothest running desktop that I've used. Wayland should be incorporated in to Xorg when it is efficient.

Kde, gtk,... are just bloat for the Windows user (using Linux like windows).
X11 applications run just smoothly that you are in antartica or kenya over your net cable.

This is why Unix should move to FreeUNIX. Leave newbies, windows user habits, to Linux and FreeBSD (becoming Linux like a windows like).

The real Unix lies on command line and terminal.
I like the idea of GNU and FreeBSD coexisting, but for something under BSD to be able to continue without too much worry of being absorbed, then not being able to add back to that code. When BSD has its own programs, I would rather go with that as in Clang or its shells. As for Desktops, there are only so many general ways to have a desktop: taskbars, windows, tabs. I want to use a desktop, and the command line on a terminal. When it comes to sound or certain libraries, I'd rather see more programs drop down directly to something more efficient (drop-in replacements to sidestep bloat), which is common in the BSDs.
 
IMHO only a new project can change the situation.
XWayland is a way to launch X11 program in Wayland system (assuming X11 is not installed in this system).
There is no way to launch Wayland program in X11 system.
So, even is X11 is a better protocol (I don't know if it is true), future system has more gain to have a Wayland native support than X11.
But the question is about the future of X11.
And again, why an OS can't support two efficient windowing system ?
That sound strange, but I see no reason to sacrifice X11 because the only implementation team decide to migrate to Wayland.
X11 is not the XOrg propriety, so X11 can have a future. The problem is who can assure this future and is it possible to imagine a future in the same system (or computer) ?
I mean, if you use KOffice and FreeOffice in the same computer, that ok, but if you want to install Wayland and X11, the OS doesn't handle this case (correct me if I'm wrong) ?
 
What do you think will happen when more than one driver tries to use the same hardware? DRM in this case?

I would not hold my breath for this.
 
OK, lets make this thread a sticky, lock it and come back to it in around 50 years. Perhaps we can get this set up in a poll :)

I will start...

I predict the last person to write some X11 related code professionally will be 23 years from now (2041).

I predict the last person to write some Wayland related code professionally will be 11 years from now (2029).

Now you guys. The closest prediction wins a round of beers!

See you in 50 years! :beer:

Maybe 50 years ... or maybe not.

I wish that it could be true. There is this rule of simplicity. The simpler is a software, the longer it will be used.
Many examples such as vim, abook, ed, calcurse,... from terminal world,
But still : xfontsel, xpenguins, xcalendar, xedit, xeyes, xlogo, x.... from X world,
But also exists: gtk (gcalc, g... ),... since years and years.

So, any software (including X11 and Wayland) may still exist, or die.

Likely both will die, because Graphical Softwares are just reinventing wheels all over again.
About every year, it will be a new remake of something.

DOS: This is a no end: https://www.abandonwaredos.com/abandonware-list.php?tp=7&gen=application
DOS: Because it could not support different compilers + librairies.
All these marvellous code for DOS died, unfortunately. So much great softwares and source codes :(
 
And now we should all cuddle the xteddy and maybe smack some xroaches.
 
DOS: Because it could not support different compilers + librairies.
All these marvellous code for DOS died, unfortunately. So much great softwares and source codes :(

Actually DOS is one of the best examples of software from that era to survive.

There are many emulators that can run DOS (DosBox, Qemu, bochs), even emulators written in 25k of C (https://github.com/adriancable/8086tiny)

Looking for an emulator that can run IRIX, Solaris 2.x and others is extremely hard. Again, like you mentioned; the simplicity of DOS is what has allowed it to survive.

Not to mention, DOS has loads of compilers; DJGPP, (including Virtual Memory); watcom, borland C. You can even run X servers on it using some of Desqview's software.
 
Status
Not open for further replies.
Back
Top