What is the future of X / X11?

shkhln

Well-Known Member

Thanks: 94
Messages: 295

#51
The way I see it, there is no reason to touch Wayland at least for another couple of years unless you want to debug issues. You should wait until it is widely adopted by mainstream Linux distributions. Eventually it will be forced upon us regardless of our opinion.
 

sidetone

Aspiring Daemon

Thanks: 347
Messages: 978

#52
The way I see it, there is no reason to touch Wayland at least for another couple of years unless you want to debug issues. You should wait until it is widely adopted by mainstream Linux distributions. Eventually it would be forced upon us regardless of our opinion.
By then, most applications and toolkits that use it will be absorbed by a GPL. Little reason to wait to be influenced heavily by another community.
 

sidetone

Aspiring Daemon

Thanks: 347
Messages: 978

#54
FreeBSD should decide whether they want to use or abandon Wayland. Waiting for GNU to adopt and integrate it into every application, will put too much influence on Wayland and bloat surrounding toolkits and applications. I know that Xorg manages its own software independent of other licenses, and I have the same expectation from Wayland. Applications and toolkits surrounding Wayland to integrate it into Linuxisms will still become much more bloated: then if we want to use an application, we'll have to download and compile useless unused code, instead of the FreeBSD community stripping that down to directly access the X server. If a Linux community forked Wayland, then Wayland (with the exception of parts already integrated into Xorg implementations by then) becomes obsolete, it can't be used with much.

Making the decision on whether GTK, KDE or Gnome work with Wayland is also a no-go in my opinion. When small desktops and toolkits work with it, then that would be a reason.

If you want to wait for something like that, you may as well abandon it now, or let them control influence to where it becomes a Linuxism, and deal with that headache later.

A few examples that apply, but have differences in their applications: OSS implementations that the one for FreeBSD got cleaned up for ports to use and graphics drivers.
 

sidetone

Aspiring Daemon

Thanks: 347
Messages: 978

#56
That's completely ridiculous opinion, I won't reply any further.
You're right. Let's wait for Linux to fix and influence it. Then, and only then we should adopt it.
The way I see it, there is no reason to touch Wayland at least for another couple of years unless you want to debug issues. You should wait until it is widely adopted by mainstream Linux distributions. Eventually it will be forced upon us regardless of our opinion.
 

sidetone

Aspiring Daemon

Thanks: 347
Messages: 978

#58
Of course you two agree, because you know absolutely nothing, and are likely Linux fanboys trying to justify that.

Waiting for them, lets them influence it, and leaves less room to influence it the way that fits efficiently with FreeBSD. It's that simple.
 

obsigna

Aspiring Daemon

Thanks: 463
Messages: 824

#59

yuripv

Active Member

Thanks: 61
Messages: 146

#60
Of course you two agree, because you know absolutely nothing, and are likely Linux fanboys trying to justify that.

Waiting for them, lets them influence it, and leaves less room to influence it the way that fits efficiently with FreeBSD. It's that simple.
I'm sorry for being so ignorant and uneducated.

What do you propose we do exactly?
 

SirDice

Administrator
Staff member
Administrator
Moderator

Thanks: 6,617
Messages: 28,158

#61
I think what sidetone is trying to get across is that we should adapt Wayland now. Or at least as quickly as possible. That way we (read: FreeBSD) might able to influence any future direction Wayland will take. If we wait until Wayland is fully integrated into the Linux desktop we (read: FreeBSD) may never be able to get rid of all the Linuxisms that would inevitably creep in. By adapting it now we could potentially stop it from getting too Linux-centric in the first place.
 
OP
OP
Spartrekus

Spartrekus

Well-Known Member

Thanks: 52
Messages: 355

#62
FreeBSD should decide whether they want to use or abandon Wayland. Waiting for GNU to adopt and integrate it into every application, will put too much influence on Wayland and bloat surrounding toolkits and applications. I know that Xorg manages its own software independent of other licenses, and I have the same expectation from Wayland. Applications and toolkits surrounding Wayland to integrate it into Linuxisms will still become much more bloated: then if we want to use an application, we'll have to download and compile useless unused code, instead of the FreeBSD community stripping that down to directly access the X server. If a Linux community forked Wayland, then Wayland (with the exception of parts already integrated into Xorg implementations by then) becomes obsolete, it can't be used with much.

Making the decision on whether GTK, KDE or Gnome work with Wayland is also a no-go in my opinion. When small desktops and toolkits work with it, then that would be a reason.

If you want to wait for something like that, you may as well abandon it now, or let them control influence to where it becomes a Linuxism, and deal with that headache later.

A few examples that apply, but have differences in their applications: OSS implementations that the one for FreeBSD got cleaned up for ports to use and graphics drivers.
Linux influence somehow FreeBSD/BSD, maybe some day releasing FreeBSD with the magical, shining, modern, high performant, super fast, highly resource preserving, so called "Wayland".

I believe that it would be high time to think about preserving UNIX entity and integrity. Maybe sort of FreeUNIX and leave FreeBSD integrate Wayland. In any cases, in few years, X11 will be replaced by Wayland by Linux. Less dev for Xorg.

What you call strong "Linuxism" influences a lot BSD development (unfortunately).
 
OP
OP
Spartrekus

Spartrekus

Well-Known Member

Thanks: 52
Messages: 355

#63
I think what sidetone is trying to get across is that we should adapt Wayland now. Or at least as quickly as possible. That way we (read: FreeBSD) might able to influence any future direction Wayland will take. If we wait until Wayland is fully integrated into the Linux desktop we (read: FreeBSD) may never be able to get rid of all the Linuxisms that would inevitably creep in. By adapting it now we could potentially stop it from getting too Linux-centric in the first place.
This is signing the letter of the devil. Do you want to really?

Did you see the movie?
Bedazzled (2000)
https://www.imdb.com/title/tt0230030/
 

sidetone

Aspiring Daemon

Thanks: 347
Messages: 978

#64
Have plans to implement parts of it soon (as a little bit of it has been), or drop it. A little bit of Linuxism is ok, but for low level stuff, and displays, I don't think it should be saturated. For basic components, for example, there should be OSS or Sndio instead of Alsa, that later had to be fixed with more efficient drop-in support to OSS or Sndio. OSS has many implementations, and it took a while for the one from FreeBSD to be better recognized and fit with more ports. I wouldn't want to see Wayland be heavily influenced the way of Alsa, then FreeBSD later adopt it, because that would defeat the purpose of anything Wayland was intended to offer.
 

Beastie7

Well-Known Member

Thanks: 138
Messages: 363

#65
In order for FreeBSD to have any influence on the direction of wayland we have to actually start adopting and talking about it. Try to get a FreeBSD developer on the committers team... or the board of directors, anything we can leverage.

Also, with wayland - the display server and compositor are intertwined, so components cannot be swapped between clients if their WM incorporates wayland. You must use the full KDE, or GNOME stack, etc. So if Kwin or mutter are fully wayland compliant and we have no wayland port, we're screwed.

I think FreeBSD or the Lumina team should develop their own portable wayland reference compositor so that we have more choice in the matter.

edit: spelling
 
OP
OP
Spartrekus

Spartrekus

Well-Known Member

Thanks: 52
Messages: 355

#66
Have plans to implement parts of it soon (as a little bit of it has been), or drop it. A little bit of Linuxism is ok, but for low level stuff, and displays, I don't think it should be saturated. For basic components, for example, there should be OSS or Sndio instead of Alsa, that later had to be fixed with more efficient drop-in support to OSS or Sndio. OSS has many implementations, and it took a while for the one from FreeBSD to be better recognized and fit with more ports. I wouldn't want to see Wayland be heavily influenced the way of Alsa, then FreeBSD later adopt it, because that would defeat the purpose of anything Wayland was intended to offer.

A little bit of Linuxism is NOT possible.

It is like signing the death of tinywm :
Code:
#include <X11/Xlib.h>

#define MAX(a, b) ((a) > (b) ? (a) : (b))

int main()
{
    Display * dpy;
    Window root;
    XWindowAttributes attr;
    XButtonEvent start;
    XEvent ev;

    if(!(dpy = XOpenDisplay(0x0))) return 1;

    root = DefaultRootWindow(dpy);

    XGrabKey(dpy, XKeysymToKeycode(dpy, XStringToKeysym("F1")), Mod1Mask, root,
            True, GrabModeAsync, GrabModeAsync);
    XGrabButton(dpy, 1, Mod1Mask, root, True, ButtonPressMask, GrabModeAsync,
            GrabModeAsync, None, None);
    XGrabButton(dpy, 3, Mod1Mask, root, True, ButtonPressMask, GrabModeAsync,
            GrabModeAsync, None, None);

    for(;;)
    {
        XNextEvent(dpy, &ev);
        if(ev.type == KeyPress && ev.xkey.subwindow != None)
            XRaiseWindow(dpy, ev.xkey.subwindow);
        else if(ev.type == ButtonPress && ev.xbutton.subwindow != None)
        {
            XGrabPointer(dpy, ev.xbutton.subwindow, True,
                    PointerMotionMask|ButtonReleaseMask, GrabModeAsync,
                    GrabModeAsync, None, None, CurrentTime);
            XGetWindowAttributes(dpy, ev.xbutton.subwindow, &attr);
            start = ev.xbutton;
        }
        else if(ev.type == MotionNotify)
        {
            int xdiff, ydiff;
            while(XCheckTypedEvent(dpy, MotionNotify, &ev));
            xdiff = ev.xbutton.x_root - start.x_root;
            ydiff = ev.xbutton.y_root - start.y_root;
            XMoveResizeWindow(dpy, ev.xmotion.window,
                attr.x + (start.button==1 ? xdiff : 0),
                attr.y + (start.button==1 ? ydiff : 0),
                MAX(1, attr.width + (start.button==3 ? xdiff : 0)),
                MAX(1, attr.height + (start.button==3 ? ydiff : 0)));
        }
        else if(ev.type == ButtonRelease)
            XUngrabPointer(dpy, CurrentTime);
    }
}
 

kpedersen

Daemon

Thanks: 396
Messages: 1,244

#67
A little bit of Linuxism is NOT possible.
It is like signing the death of tinywm
I think I kinda get what you are saying and generally I am of the same opinion. However this kind of "enjoyment" of software is better served in an emulator sandbox where you can play around, learn and have fun without letting the dirtyness of the rest of the world in.

For example, we need to be realistic. The industry does not give two craps if tinywm becomes broken. The industry is not governed by people who enjoy the elegance or correctness of software. The world will simply move onto what makes it money and will generally sh*t on anything that is in the way, regardless of how good it is.

My only recommendation if your work and play do need to mix is to "stay light". Instead of investing time in X11; try to develop tools or GUI systems that are extremely portable to whatever crap the rest of the world has chosen.
That way when Wayland and X11 are finally killed off, you can ensure that your code (and enjoyment) can simply migrate to the new crap.

I hate to say it but one day, FreeBSD will be unable to run on computers natively. The horrible people that develop hardware simply do not allow it via the use of signed firmware and other unethical means. This may happen in our lifespans. So try to get you enjoyment out of POSIX or "portable" technologies rather than just FreeBSD itself because things like Cygwin or "UNIX-like layers" will exist on whatever crippled sh*tware we will be imprisoned with in the future. Unfortunately not the real thing anymore (unless in an emulator I mentioned above).

So enjoy FreeBSD whilst you can, but try not to get hung up on what the rest of the world throws at you in the future. You will become burned out or depressed. :/

But one thing I can suggest is.... stockpile "open" hardware whilst you can. This stuff will be like gold! Especially if you can repair it yourself! XD
 
OP
OP
Spartrekus

Spartrekus

Well-Known Member

Thanks: 52
Messages: 355

#68
...
makes it money and will generally sh*t on anything that is in the way, regardless of how good it is.
It is exactly what the business made out of Linux : in the heart of the operating system (best example: systemd).

Any "new crap" may either just die or get just heavier, instead just believe in small C compiler solutions, termcap, ncurses,...

When FreeBSD will be a Linux close brother, developing a new sort FreeUNIX, really meaning Freedom, could maybe save the old unperfect X11.

Maybe, maybe in 50 years or more, one day the hardware industry will prevent notebook(s) to have something else than MS Windows and any other Android like systems. Politics could even support this, even to make vote laws against installing and using opensource software. Maybe sort of opensource resistance. ;) Everything could be possible, in name of $.
 

sidetone

Aspiring Daemon

Thanks: 347
Messages: 978

#69
Xorg, or a potential fork that preserves its license, is not going to die easily. They preserve the licensed code, and they constantly maintain it. Many projects maintain the archives, so they don't get lost.

There may be an infinite number of ways to write hardware drivers. Writing good ones may be difficult, and the more they get encroached on by more restrictive license, the even more difficult it will be. I think hardware drivers have to be preserved long enough before being released or put into a permissive license so they can be developed before they get forked. Copyright is the focal point of license, and how many ways can 1 picture or event can be described that are all unique. If something is too obvious, minimal, generated by machine or maybe mathematical (logical) in a way to write something, much of that isn't eligible for copyright, so an MIT licensed project cannot be revoked from using a minor difference made by a GPL project that absorbed that MIT licensed project. Still, if another project absorbs one, and makes sufficient additions, that would have not been made otherwise without the project it absorbed, that can't be used by the old project, it makes it difficult and is a cause of concern (unless it is possible to rewrite it that it performs the same function and at the same time be different enough).

If you think about an ATI driver. The stack is under an MIT license. Then GPL took it, and what they added, we cannot put under a FreeBSD license. At least under the GPL license, that hardware cannot be taken over by a proprietary license and additions by copyright/patent hoarders. Also, in that case, I see little problem in forcing contributors to give back their code that does not go beyond hardware capability, because that is for capability of that hardware, which it should do anyway. However, the GPL code does lead to bloat, which can be stripped, and for the time put in doing that, at least that benefit should be put back in for everyone who uses that card. One problem can be if contributions that are beyond the hardware's capabilities are forced to be given back by GPL. An Apache license may be better than a GPL license for Hardware, with the exception, that that license is too complex in an attempt to achieve simple function. A GPL license isn't ideal for hardware, but it is better than it going proprietary. The license can be halfway between a GPL and a BSD license, like perhaps a BSD clear license.
 
OP
OP
Spartrekus

Spartrekus

Well-Known Member

Thanks: 52
Messages: 355

#70
So basically you say it is inevitable.

What I think will happen is that wayland will be deprecated at 80% market share, the replacement at 60% and then the grumpy old admins will dig out the old Xorg or even Xvesa to keep stuff running. And then people will marvel at the clean design and the light resource usage (comparatively, sure).
*BSD* is strongly influenced by the Linux community.

If Linux brings Wayland as The new standard, it might become as well into BSD soon or later. Many veteran programmers will be soon or later replaced by newer ones, and they certainly aren't used to clean simplicity of Xorg/X11. Matter of time.
 

Beastie7

Well-Known Member

Thanks: 138
Messages: 363

#72
I think we'll be fine IMO. If it were important enough to the developers - they'd fork it or create an alternative. Case in point; bhyve. We had every chance to fully port over KVM or Xen, but we created our own solution, and look how far we've gotten since it was created. It actually turned out to be the better solution also.

I would totally back an audited xorg in base with the API/ABI promise that we FreeBSD offers. It'd make my life so much easier.
 

sidetone

Aspiring Daemon

Thanks: 347
Messages: 978

#73
I realized that hardware code needs its own license. Neither a BSD or GPL license. It would have to be compatible, or made a special exception for to work with any BSD like license. Then again, if GPL licensed hardware code can be included, there's no reason to disallow a license specifically for hardware.
 
OP
OP
Spartrekus

Spartrekus

Well-Known Member

Thanks: 52
Messages: 355

#74
I think we'll be fine IMO. If it were important enough to the developers - they'd fork it or create an alternative. Case in point; bhyve. We had every chance to fully port over KVM or Xen, but we created our own solution, and look how far we've gotten since it was created. It actually turned out to be the better solution also.

I would totally back an audited xorg in base with the API/ABI promise that we FreeBSD offers. It'd make my life so much easier.
The crap is that if Xorg / X11 dies, we will have to re-make again and again, million times, our graphical applications.

Example of the programmer, he started a large software in visual basic 4, then moved it to vb. 5, then, moved it to windows .net, ..and what ever crap will come, he will spend his time to move from one crap library to another one.

The best is to preserve something for graphics really : X11/Xorg.

It is important for the opensource community.

Many applications are not longer maintained yearly, becuase they are replaced by shinining bloaty ones.
 

rufwoof

Active Member

Thanks: 51
Messages: 193

#75
The only reason I run X is in order to run a modern graphical browser - as more or less necessitated by the modern web - in order for all those adverts/whatever (that I strive to block).

OpenBSD base with its Xenodm that runs as user, with all setuid's turned off and cron disabled, not a member of root. i.e. X and browser are as good as a single program needed to browse the web. If/when browsers provide their own gui/framebuffer as part of the browser so much the better. Or if alternative protocols rise to being the more predominant protocol, so much the better. Or even more direct communication, ssh into a providers ssh server for instance with a secure gopher for searching would suffice.

http is increasingly owned by google and with that so it deviates from Unix concepts of everything is a simple task that works well and is like a text file ... towards more windows like complexities (everything is a complex gui). So that you can be more easily/comprehensively profiled/monitored in order for advertisements and monetisation.

Many companies feel they have to have the latest high tech web content, but in so doing lose out on those that are looking for just a simple text based interaction/experience. Perhaps when companies realise they're missing out on sales due to over complicating their web site, there may be a reversal of trend back towards more simpler textual content and less need for X and current java driven browsers.
 
Top