Can you use Unix without X11 forward?

Do you need X(wayland) with X forward?

  • yes

    Votes: 10 58.8%
  • No

    Votes: 7 41.2%

  • Total voters
    17
Spartrekus, you should free yourself from the assumption that “X11 forwarding” is the only (or best) way to use graphical applications remotely. It is not the only way, and it is not the best way, technically speaking. It may be, however, currently the way that is used the most among UNIX and BSD users, but that doesn't mean it's the best and has to stay forever.

The X11 protocol was invented more than 30 years ago, when programs needed commands to draw lines, rectangles, triangles, circles, and text. There was no such thing as 3D or video or audio or most other things that modern applications use. That's why modern Xorg servers need to have 30 extensions on top of X11. Today, most applications don't draw lines and circles. Instead, they render their own bitmaps and transfer them to the X server. This works ok for local servers where the display can be accessed directly, but it works rather pathetic for remote connections. Modern protocols such as advanced versions of VNC (e.g. TightVNC) are much better at it. Also, Wayland is optimized for that kind of use.

Don't worry, nobody will take X11 (or X11 forwarding) away from you anytime soon. But please try to think a little bit out of the box. Maybe X11 is more than enough for you, but it's becoming more and more painful for a growing number of people. Time doesn't stand still, demands and requirements are changing, software and hardware is changing. The world is changing. Sometimes we have to adopt new technologies to keep up.
 
The X11 protocol was invented more than 30 years ago, when programs needed commands to draw lines, rectangles, triangles, circles, and text

It would be nice if the aplications limit themselves to use that and do not need extensions to send binary data. Or do you thing modern programming will draw by sending binary data better than drawing with commands?
 
It would be nice if the aplications limit themselves to use that and do not need extensions to send binary data. Or do you thing modern programming will draw by sending binary data better than drawing with commands?

Well, it depends. You are right when we talk about simple applications, i.e. things like terminal emulators (xterm, rxvt), xclock (*), xeyes, xmixer and so on. Of course, these use simple drawing functions (lines, circles, text, …), and that's perfectly fine.

However, it's a lot different when we talk about complex applications like Gimp, InkScape, Scribus, Blender, graphical web browsers (Chrome, Firefox, Opera), and so on. For example, you cannot use the X11 protocol to render SVG graphics. The application has to do that itself (or via a specialized library), and then use the X11 protocol to send the resulting bitmap to the display server – either via X11's native PutImage request, or via an extension such as DRI.

By the way, if you're interested how the actual X11 protocol looks like, here is the specification:
https://www.x.org/releases/X11R7.7/doc/xproto/x11protocol.html

(*) Note that even an app as simple as xclock uses an extension (the “render” extension) in order to be able to draw antialiased and overlapping semi-transparent clock hands. This wouldn't be possible with the core X11 protocol alone.
 
The application has to do that itself (or via a specialized library), and then use the X11 protocol to send the resulting bitmap to the display server – either via X11's native PutImage request, or via an extension such as DRI.

If that is so important for the application, then it must be divided in client and sever, and have a protocol for not sending binary, but to build the bitmap at the client.
 
If that is so important for the application, then it must be divided in client and sever, and have a protocol for not sending binary, but to build the bitmap at the client.
I'm sorry, I don't understand. Can you word that differently, please?
The X11 protocol is a binary protocol. And it is a client-server protocol. And clients already build bitmaps (well, not all of them – video players do not, for example, but that's a different story). So what do you suggest to change?
 
Not to send bitmap, but vector description. It does not need to be X11 protocol, X11 server, X11 client.
Ok, if I understand you correctly, you mean introducing another level of abstraction inside the application. That could be done, of course (and there already are libraries that do exactly that), but it's an implementation detail of the application and has nothing to do with the communication with the display server.
 
Implementation detail of the application, but there are libraries independent of a specific application? One needs perhaps a standard.
 
@Ollie:
The poll clearly shows that users do care about X11, i.e. X11 forward.

It seems that FreeBSD will or could go for Wayland:

1. Acceleration/GL at which cost?
I don't need OpenGL for opening a terminal xterm !

2. Caring about our planet?
Wayland will bring the end of low cost, low power hardwares (eg. Pi Raspberry). Wayland is against principle of worldwide concern of energy savings.

3. Computer science for the poors?
Wayland: Just get a better hardware (like Microsoft advises.)...

4. Why imposing instead of coexist?
[Few ideas...
  1. Don't touch what works ; keep improving it and make code simplifications.
  2. Programming : simplify and clean the source code (not the opposite).
  3. Early a new project is better before starting to make a greater complex software bloatware (e.g. Wayland). The first original smaller project should be readily compilable, being available and always there, stable, reliable as ever.
By the end, a smaller project will have always highest performances and it will be the most stable and reliable.

Wayland should be a new project without interfering with X11.
Both X11 and Wayland hack should coexist.
This is the above rule (#3).
Wayland for young developers, heavy desktops like KDE, Linux gamers ; X11 for Desktop Unix retros.

5. Old but it still works today - sometimes more than 40 years.
Best example - the most simple C compiler will power all Unix operating systems. Old means working like solid.

Very old but still there because they are simple - being reliable :
=> asm , C , vi , ee , ed , vim , emacs , awk , osh , sh , pascal/fortran , blackbox , icewm , dwm , feh , .... scrot ....
it is visible : the smaller the code, the better.

Very old but code explosion due to complexity and no possible fix :
GTK , KDE , Java , HTML/CSS , Freevo , ...


Finally, enjoy this quote:
The only people who take Wayland seriously are the people who just read "it's a new replacement for X11" and don't know what it does; it's not a replacement at all. It turns Unix into Android where you have no control over your own system any more; it's a goddamn walled garden.
 
The poll clearly shows that users do care about X11, i.e. X11 forward.
What if you had worded the poll differently? For example:
“Do you need to be able to use graphical applications remotely? ▫ yes ▫ no”
I believe you would have gotten the same result, because for most people it means the same. But your poll depends on a certain technology, while my suggestion would be technology-agnostic.

Regarding your other points:
  • I'm not sure why you bring OpenGL into the game. If you don't need it, don't use it.
  • Wayland doesn't have more hardware requirements than X11. In fact, Wayland strives to remove some of the useless complexity that X11 has. X11 is a big, fat dinosaur.
  • As already mentioned, nobody is taking X11 away from you. Don't worry. Let me write it in big, friendly letters: Don't panic.
I suggest you read a little bit about Wayland, because it seems you don't know much about it. And I don't mean reading those blogs from people who hate Wayland and spread FUD, I mean the actual documents about Wayland's architecture and specification.
 
I think my worry about Wayland is it will become quite naive like Android or Windows.

For example, VNC on Windows, you can only have 1 session. VNC on Linux/X11 you can have multiple? Why is that? The answer is actually X11.
Sure, X11 itself isn't great for streaming modern GUI software but it opens up VNC and alternatives to a multi-user design.
As it stands VNC servers on Linux can create a new X11 server and even use the old XDMCP query system to get a decent enterprise multi-desktop system going with VNC and RDP.

I can almost guarantee we will lose that with Wayland. Why? Because all the Wayland kids don't even know what remote desking is and don't give a shite, they just want Steam games to work 1% faster :/
 
I think my worry about Wayland is it will become quite naive like Android or Windows.

For example, VNC on Windows, you can only have 1 session. VNC on Linux/X11 you can have multiple? Why is that? The answer is actually X11.
Sure, X11 itself isn't great for streaming modern GUI software but it opens up VNC and alternatives to a multi-user design.
As it stands VNC servers on Linux can create a new X11 server and even use the old XDMCP query system to get a decent enterprise multi-desktop system going with VNC and RDP.

I can almost guarantee we will lose that with Wayland. Why? Because all the Wayland kids don't even know what remote desking is and don't give a shite, they just want Steam games to work 1% faster :/

+ to replace X11 is the very most important.
It doesn't matter actually if it is wayland or not, the point is to replace X11. Maybe there are Google or Gnome plots behind...
 
VNC on Windows, you can only have 1 session. VNC on Linux/X11 you can have multiple? Why is that?
That's not a good argument. Regular Windows license doesn't allow multisession, it's not a technical issue. However, you can buy a special license to do so.
 
That's not a good argument. Regular Windows license doesn't allow multisession, it's not a technical issue. However, you can buy a special license to do so.

Why did you immediately jump to the conclusion I was talking about a home edition of Windows? For example Windows Server and Enterprise allows multi-users and VNC cannot do it on that platform. You have to use RDP. This has nothing to do with licensing.

The reason why VNC cannot do it is because the Windows display system (like Wayland) is not multi-user. It is a technical issue. especially if you look at older versions (i.e pre NT4 TSE). The design of Wayland is basically Windows 98 ;).

Basically check out the first line of text here: https://archive.realvnc.com/products/vnc/documentation/4.5/unix/vncserver.html. It explains quite succinctly why UNIX can have multiple virtual display servers and Windows can't. Basically X11 is the answer and this will not be possible with Wayland.

Yes, you might know that due to RDP (Citrix Winframe technology) it supports multiple users but this is actually a very different technology to the standard limited Wayland-like naive desktop system that Linux users will have in a few years.

Come to think of it, since virtual desktops is now possible on macOS. Linux will be the only OS that cannot support multiple desktops for logged in users! Haha, thats kinda sad.
 
;) Windows 98 graphics would definitely make a big revolution for Unix - like operating systems. ;)

I actually like Windows 9x (and DOS technology) because it is light.

The Wayland kids will not only make a display system which is as limited as Windows 98, but they will also still manage to make it slow and shite XD.

Look at Windows 95 vs Gnome 3. The accessibility control panel alone has a much more vast set of customation tools compared to the entirety of Gnome 3 and yet it uses less RAM than a single Gnome 3 button! Haha.
 
Windows Server and Enterprise allows multi-users and VNC cannot do it on that platform. You have to use RDP. This has nothing to do with licensing.
VNC on Windows, you can only have 1 session. VNC on Linux/X11 you can have multiple
Sorry, I still don't understand your point. Each user logged in Windows can run his own VNC server (of course, using different TCP ports). They perfectly work simultaneously.
If the same Windows user runs 2 VNC servers, of course, they will show the same desktop. In contrast, you can run multiple X servers as the same user, that's why multiple VNC servers will show the corresponding (different) environments.
The question now: is it possible to run two or more Wayland servers simultaneously? I don't now.
 
The question now: is it possible to run two or more Wayland servers simultaneously? I don't now.
It's not different from X11. Both Wayland and X11 servers require a physical display (not counting unusual things like xnest that are not very useful in practice). You can, at most, run one display server per physical display.

However, you can – for example – run one (or more) xvnc servers on one (or more) machines, and connect them to a VNC client running on Wayland on another machine. This is perfectly possible.

By the way, I'm afraid that this thread reaches a state where it is in violation of forum rules (e.g. Thread 66591). Some people continuously spread FUD about Wayland and its future in FreeBSD (and the putative non-future of X11 in FreeBSD); I don't think that's appropriate for this forum.
 
Back
Top