Solved KDE, Wayland and Systemd

There was one good thing about IBM, Microsoft and Intel business activities in the past. Their goal was clear: to gain more market share, make more money and total annihilation of competitors. However nowadays it's a completely different story, especially in the open source and free software territory, and I'll focus more on them.

Generally there are lots of innuendo in their public statements. They tend to speak out of both sides of their mouth. It's difficult to analyse their moves, and you always have to add some ideological ingredient to the mix, to grasp the main point of their statements. To understand their motifs, you have to read between the lines. You can never be sure about their next decision. Is it merely technological? Do they want to gain more market share, or it's just a lame ideological move with some socio-political goals underneath it. They more and more act and talk like stupid politicians and it's frustrating and disgusting.

Now back to the story, I had the displeasure of reading an article on the The Register about KDE. I'm a i3 user, but I like KDE. It's mature and beautiful, as one may imagine. I use KDE to preach FreeBSD as a Desktop to Windows users. Here's three quotes from the article, but you have to read the article from cover to cover:
KDE maintainers speak on why it is worth looking beyond GNOME | The Register

Quoting from David Edmundson (Plasma maintainer):
Quote #1: "It is important that we run without [Systemd] it, because we have BSD users".
Quote #2: "Systemd is a monolith of lots of different things".
Quote #3: "I think without [Systemd] Wayland would be effectively impossible".

Do I have to draw a conclusion from those three quotes? I won't teach grandma to suck eggs!
 
It’s a Red Hat world, and it isn’t changing. We need our own alternatives. If KDE switches to systemd; it’s going to be a cold world for the rest of us in open source. Money talks too, which the other smaller DEs don’t have.
 
It’s a Red Hat world, and it isn’t changing. We need our own alternatives. If KDE switches to systemd; it’s going to be a cold world for the rest of us in open source. Money talks too, which the other smaller DEs don’t have.
Agree. It is not clear to me what benefits the systemd can deliver, except make the the things more complicated. We need a decent GUI without such bloatware. Personally I am using MATE, but still have Plasma and Grome3 installed in the system.
 
Here's my ignorant outsider's take on the Linux desktop.

The smart money decided at least a decade ago that the Linux desktop was not a good investment. It would be too expensive to build a graphical user interface all the way up from the display hardware like Apple did. It's a testament to Steve Jobs' obstinacy and maybe to his tyrannical management style that it happened even for Apple.

Problem is, you have a bunch of open source developers on the payroll that very much want to use a Linux desktop, and have the chops to make the mess slightly less awful. So you let them pursue their desktop dreams as a vanity project as long as they get the enterprise stuff you need done.

These are engineers, not designers, and they have bad Apple envy. Their "design" consists of aping what Mac OS does, badly.

Edit: I was in a rush when I wrote the above. I didn't get to write out everything that I wanted to say.

It's just a design problem in the sense of user interface design, it's a design problem in terms of software design too.

There's also the problem that there's no impetus external or internal to collaborate with other projects. What happens is everyone does the 90% that is fun and interesting, and leaves the 10% of unpleasantness for later. Most of that 10% is usually integrating with other systems, packaging, etc. That's how you wind up with 4-5 desktops, widget toolkits, etc., none of which are really complete and which are certainly not polished.
 
Last edited:
I've said as much before on a previous discussion of the topic and I'll say again here: it doesn't sound like KDE is making any sort of hard dependency on systemd, but rather making use of it if it exists.

Here is what I expect to see happen:

1. KDE focuses on Wayland development with systemd because systemd is on most Linux systems with the most market share, and because Wayland is a moving target that they need to spend a lot of manpower chasing. systemd gets the priority for now until the Wayland spec stabilizes.

2. Wayland and the KDE implementation stabilizes, and interested developers start working on implementing systemd-related pieces in ways that work on non-systemd systems (like BSDs). In the meantime, such systems can continue using the Xorg implementation in feature-freeze.

3. After some extra time, FreeBSD and others can use KDE under Wayland without systemd.

In other words, I read it as KDE is implementing Wayland with systemd as the most common single target to base current development on, so developers can focus on implementing Wayland. It doesn't mean KDE is going the way of GNOME any time soon.
 
If you honestly think KDE will switch to Wayland, then make a bipartisan effort to move all that to FreeBSD, then I think your optimism is misplaced. This is upstream Linux we’re talking about. Once freedesktop.org (again, Linux upstream) stops maintaining X.org; who’s going to pick up the slack?
 
Well, let's look at enlightenment more, they have their own gfx layer.
I think this is certainly the kind of layer we need to think about if we are to safeguard ourselves from the trainwreck that is Linux UI. I don't believe we can rely on any higher level Gtk or Qt technologies these days. They are not stable in terms of direction or maintainability.

FreeBSD really could benefit from a completely bespoke GUI system. Not necessarily in base, but certainly something so we are no longer strung along by our noses by crazy people.

I for one am actually looking forward to Wayland taking Linux away from the equation. Then we can look at what is left in terms of X11 and recompose ourselves a little. X11 based technologies will be a lot more stable once Linux has fscked off.
 
If you honestly think KDE will switch to Wayland, then make a bipartisan effort to move all that to FreeBSD, then I think your optimism is misplaced. This is upstream Linux we’re talking about. Once freedesktop.org (again, Linux upstream) stops maintaining X.org; who’s going to pick up the slack?
I'm figuring that the same people who maintain whatever FreeBSD-specific stuff is necessary to make it work on X.org will (eventually) make it work on Wayland. I don't think it would happen quickly or that FreeBSD would be a first-class citizen, but it seems to me a second-class citizen even now. It would take time, much like the DRM video card support and even porting the updated X.org, but I believe it will eventually happen.

I'd also like to point out that it is extremely unfair to use a generalization like "upstream Linux" when referring to software that runs on Linux systems. KDE is very different from GNOME is very different from XFCE, and so on. KDE has mostly Linux users, but that doesn't mean it is going to completely abandon all non-Linux/systemd OSes.
 
I think this is certainly the kind of layer we need to think about if we are to safeguard ourselves from the trainwreck that is Linux UI. I don't believe we can rely on any higher level Gtk or Qt technologies these days. They are not stable in terms of direction or maintainability.

FreeBSD really could benefit from a completely bespoke GUI system. Not necessarily in base, but certainly something so we are no longer strung along by our noses by crazy people.

I for one am actually looking forward to Wayland taking Linux away from the equation. Then we can look at what is left in terms of X11 and recompose ourselves a little. X11 based technologies will be a lot more stable once Linux has fscked off.

I think this is the most practical way to go. Or probably taking the OpenBSD route with Xenocara, and combine that with upcoming DRM in base. We’d be at least be relatively independent from anyone above that stack. I’d be nice to have our own display server/driver model (ie. WDDM) stack, but getting Nvidia/AMD to tag along is a damn pipe dream.

Btw, does anyone know how well X.org performs on embedded stuff?
 
This is upstream Linux we’re talking about. Once freedesktop.org (again, Linux upstream) stops maintaining X.org; who’s going to pick up the slack?
This claim doesn't make sense. Linux doesn't produce software without a GPL license. X.org is under an MIT or non-GPL license. Freedesktop does produce a lot of GPL implements for the desktop.
 
There was one good thing about IBM, Microsoft and Intel business activities in the past. Their goal was clear: to gain more market share, make more money and total annihilation of competitors.
False. Their goal was to make more money. Matter-of-fact, they are legally required to. They are public companies, with share holders, and management is required to create long-term value for share holders. If they deliberately do the opposite, they can go to jail. Note that I said "long-term value for share holders", so for example donating a few M$ to a charity can be perfectly compatible with that goal.

Sometimes, making more money means gaining more market share. Sometimes it means increasing the size of the addressable market. Sometimes, it means finding a smaller but more profitable market. Sometimes it means getting out of a money-losing market.

And becoming a monopolist is never a goal. If I had written "total annihilation of competitor" in an e-mail, I would have been fired, at the latest when that e-mail reaches my manager or any lawyer. As a large player in a market, you never ever want to do that. If the anti-monopoly agencies ever got hold of such an e-mail, it would have cost my employer (which was, for nearly two decades, one of the companies you mentioned) a few hundred M$. Now, what I could write in an e-mail: "I want to improve our product, so our market share goes from 10% to 50%". Or "increased penetration of the market will allow us to grow into segments that are less price-sensitive, thereby increasing both top- and bottom-line". Or "increasing our market share will allow amortizing more D&E expenses, and the resulting product improvement will create positive feedback". But the mere idea that we want to have a monopoly or near-monopoly position, or that we want to eliminate (or damage or destroy) our competition is absolutely anathema. You can't think that way, and definitely not act that way.

Please stop that paranoid stuff. It just doesn't match reality. I have no idea what pseudo-anti-capitalist nonsense you have been fed, but you're living in a dream world.

(About open source):
Generally there are lots of innuendo in their public statements. They tend to speak out of both sides of their mouth. It's difficult to analyse their moves, and you always have to add some ideological ingredient to the mix, to grasp the main point of their statements. To understand their motifs, you have to read between the lines. You can never be sure about their next decision. Is it merely technological? Do they want to gain more market share, or it's just a lame ideological move with some socio-political goals underneath it. They more and more act and talk like stupid politicians and it's frustrating and disgusting.
Sorry, I don't see that. I see some obnoxious people in the open source arena, some people who have no idea how to interact with humans, and some dumb ideas. All I need to say is Theo, Linus and Lennart. And lots of wonderful, smart, and responsible people. Look, we're talking about humans, so it's a wide mix. What I don't see is massive duplicity, hidden agendas, and secret ideology. I'm quite sure neither Bilderberg, the Reptilians, nor the Trilateral Commission are behind any of this.

Quote #1: "It is important that we run without [Systemd] it, because we have BSD users".
Quote #2: "Systemd is a monolith of lots of different things".
Quote #3: "I think without [Systemd] Wayland would be effectively impossible".
I think all three statements are reasonable, and close to true. So this guy is describing that a conflict or conundrum exists. That's real. The conclusion that I would reach is: The way forward for KDE and Plasma is unclear. And whatever they do, the effect on *BSD usage of it is unknown at this point.

Personally, it's quite possible that Systemd will take over the free software world. While it is written by a massively misguided and obnoxious person, it actually works remarkable well. And it solves quite a few real-world problems. And it can be used in production, rather well. I have a handful of systemd-based machines at home (RPi), I have even had to create services that can be started and managed by systemd, and after an hour or two of reading and practicing, it's not a problem. At work, I use hundreds or thousands of machines that are run under systemd, and they all work, remarkably well. Do I like it? Do I like the design? Would I have created a monolith? These are fascinating questions, but ultimately irrelevant. For my server at home, I'm happy to use FreeBSD's rc- and init-based system, which I find much more pleasant ... but I can't expect RedHat and Suse to make billion $ decisions based on what I find pleasant (otherwise they would have to go into the cherry icecream business).

And if/when Systemd takes over FOSS, there will be a problem with finding desktop GUIs that work without it. OK, sad fact. Either people will put in the work to convert FreeBSD to use Systemd, or they will create a Systemd-independent GUI system (there are plenty of starting points), or we will stop using DEs on FreeBSD. Whatever happens, I will adapt, and not have an aneurysm over it. I have my personal preferences (which is to stop working on desktop usage of FreeBSD, and focus on it being a great embedded and server OS), but I understand that other people are not bound by my preferences.
 
There was one good thing about IBM, Microsoft and Intel business activities in the past. Their goal was clear: to gain more market share, make more money and total annihilation of competitors.
A lot of companies don't do/try to do this. It does require getting a high market share for a niche just to stay in businesses however. Aside from surviving/thriving in business, many companies weren't ruthless. IBM was for profit, but not for running out competitors.
Please stop that paranoid stuff. It just doesn't match reality. I have no idea what pseudo-anti-capitalist nonsense you have been fed, but you're living in a dream world.
You think Walmart and Microsoft didn't try this to an extent at some time?
 
  • Thanks
Reactions: a6h
X.org is most certainly "Linux upstream", the MIT licence is largely irrelevant to that - the Linux KMS/DRM code is also released under permissive licences (as Intel and AMD obviously wish to avoid the GPL whenever it suits).

it's a freedesktop.org project, which is itself now a member of the X.org Foundation since they merged last year. The X.org Foundation is funded by SPI (the same funding as the Debian project) and SPI's donors are private, but it's probably easy to guess where the funding comes from. X.org Foundation's board of directors currently consists of Red Hat, AMD and Intel people among others and has had that same kind of makeup for quite a few years, often including Canonical and SUSE people as well.

It's mostly IBM/Red Hat developers who maintain it and those developers have shifted to work on Wayland. If you also factor in the contributions of AMD and Intel to the Linux KMS/DRM stack, then you can easily reach the conclusion that it's very much a "Linux upstream" where the desktop is concerned.
 
vigole,
seriously, I still do not really understand what this this all about.

Looking back to recent decades: with the appearance of Linux (in the 90ies) it would have become possible (and affordable) for everybody to leave Windows. But people did stay with Windows, until today.

The situation was as such, then: Unix/Linux always had been a proper OS (fulfilling the four basic tasks of an OS: process-mgmt, file-mgmt, user-mgmt, time-mgmt), but didn't have a colourful screen. While Windows did have a colourful screen only, and nothing else (I refuse to call that an OS). And people engaged to use that as an OS, even for servers! I never understood why.

Now, if you have a proper and solid base OS, it is possible to put a colourful screen on top of it. But only Apple did this in some good way. Whereas, when the foundation is crap, no matter what you have on top of it, when you try to improve that, it will always stay patchwork. Windows did that, and I don't want to know how that looks, because the approach is already defective.

Then, when the CDE/KDE/whatever appeared on Unix, I did play with these, and I noticed: these are HUGE, there is a big effort needed to configure them (or even understand them) - but I could not find anything useful they would do in return, beyond producing eye candy. I for my part still do not understand why one would need such a thing.

So, in my viewpoint (and, as always, you are very welcome to correct me!) this all is a big hassle about something that does practically nothing.[1]

But, problems arise when you start to tamper with the OS itself (as systemd does) or with the graphics driver (as wayland appears to do). Then the foundation, the core functionality is at stake. (I, for instance, depend on X being a networked application, where any machine can open windows on any screen.)

In any software development matter, you start with a requirements specification: what does the thing actually need to do. In this case, it seems this is lacking (or may be it only appears to me as lacking), because I never found a functional description of what a desktop environment should do, aside from being colourful.

Certainly all this is different if the requirement is that the piece should be "entertaining", as the market demands entertainment. But that is not even in the scope of non-functional reqs, it's in the scope of arts[2]. (When I wanted arts, I went away from the computers, gathered some people, a guitar player and a singer, and we went to the woodlands and made a campfire. Obviousely this is gone now, but there weren't so many people interested in, lately, anyway.)

[1] This concerns the desktop environment specifically. Looking at the underlying libs (GTK and QT) is a different matter: Gtk is ugly and Qt is a moloch. What's lacking here is the beautiful fine-grained structural design as in the base Unix.

[2] In arts, you want to see beauty immediately. In engineering, beauty is the thing you cannot see until you understand it deeply, because the effect of beauty is that you do NOT run into problems. And that's the difficulty with the desktop: one wants to see things immediately. So now they try to solve the problems which arise from the lack of engineering beauty: X carries technological debt that cannot be balanced anymore, and wayland is in the trap of being driven by wild demands before even becoming mature.
(In contrast, the unix core is able to survive fifty years because of it's inherent engineering beauty.)
 
You think Walmart and Microsoft didn't try this to an extent at some time?
I don't think Walmart ever tried to become a monopoly.

Microsoft under Gates and Ballmer, before about 2000: That's an interesting question. These two guys were nutcases. There are stories about Gates wanting to fight the US government to its death (in the early stages of the antitrust lawsuit), and Ballmer throwing office furniture at people when they announce that they'll quit to work for competitors. But relatively quickly either they (or their board of directors) figured out that this kind of insanity gets you in big trouble, and they settled the antitrust suit. Since the early 2000s (perhaps 2003 or 2005), Microsoft has actually been pretty easy to work with for other parts of the computer industry, and not guilty of monopolistic practices.

Now, does Windows still have a near-monopoly market share of desktop operating systems? In particular if you consider that the only other desktop OS that has non-trivial market share only runs on dedicated hardware (namely MacOS)? Yes, it does. But the fact that it has become a de-facto monopoly doesn't necessarily mean that Microsoft is doing illegal or immoral stuff, nor that it is actively trying to destroy the competition. I would rather describe it as the competition (which since the late 90s has pretty much only meant Linux) hasn't figured out how to deliver a product that the vast majority of consumers find interestig.
 
X.org is most certainly "Linux upstream", the MIT licence is largely irrelevant to that - the Linux KMS/DRM code is also released under permissive licences (as Intel and AMD obviously wish to avoid the GPL whenever it suits).

it's a freedesktop.org project, which is itself now a member of the X.org Foundation since they merged last year. The X.org Foundation is funded by SPI (the same funding as the Debian project) and SPI's donors are private, but it's probably easy to guess where the funding comes from. X.org Foundation's board of directors currently consists of Red Hat, AMD and Intel people among others and has had that same kind of makeup for quite a few years, often including Canonical and SUSE people as well.

It's mostly IBM/Red Hat developers who maintain it and those developers have shifted to work on Wayland. If you also factor in the contributions of AMD and Intel to the Linux KMS/DRM stack, then you can easily reach the conclusion that it's very much a "Linux upstream" where the desktop is concerned.

Precisely. It’s my suspicion the OpenBSD developers saw this trend years ago.
 
I think this is certainly the kind of layer we need to think about if we are to safeguard ourselves from the trainwreck that is Linux UI. I don't believe we can rely on any higher level Gtk or Qt technologies these days. They are not stable in terms of direction or maintainability.

FreeBSD really could benefit from a completely bespoke GUI system. Not necessarily in base, but certainly something so we are no longer strung along by our noses by crazy people.

I for one am actually looking forward to Wayland taking Linux away from the equation. Then we can look at what is left in terms of X11 and recompose ourselves a little. X11 based technologies will be a lot more stable once Linux has fscked off.
I'm not a graphics guy, but I get the impression you're going to need at least one or two paid professionals working on the stack full time. This is true whether the task is to keep X11 around or to develop and maintain a new graphics engine. The Foundation is the only org I can think of that might be up for this task. I'm certainly not sure that this would happen.
 
I'm not a graphics guy, but I get the impression you're going to need at least one or two paid professionals working on the stack full time. This is true whether the task is to keep X11 around or to develop and maintain a new graphics engine. The Foundation is the only org I can think of that might be up for this task. I'm certainly not sure that this would happen.
Agreed. I would like to see a native graphical subsystem support (obviously I mean in the ports tree) in FreeBSD, something like sound(4) system. But it's an enormous project. It implies a lot of leisure time. Also you need volunteers capable of undertaking a project on this scale. Volunteer need motive. What's their motive for doing it? I have no answer. Anyway, in worst case scenario we still have alternatives such as Enlightenment.
 
But it's an enormous project. It implies a lot of leisure time. Also you need volunteers capable of undertaking a project on this scale. Volunteer need motive.
Very true. I personally am becoming frustrated enough by the open-source ecosystem that I would make an attempt myself. I think annoyance would be my main motivation ;)

My main issue is that I know as soon as the project gets near to completion, some bright spark will end up doing something completely insane (like removing Xorg from the ports collection like they did with Gnome 2) rendering all my efforts null and void. Open-source these days is a little bit lead by hype and consumers. And these guys don't have projects they want to protect, they just want more(tm), modern(tm) and bigger(tm).

Oddly enough, this very thing happened when I started the OpenCDE project. Some stupid sodding regression in the xorg server was introduced meaning that click to focus froze MWM (Motif window manager). Bunch of clowns.
 
So, in my viewpoint (and, as always, you are very welcome to correct me!) this all is a big hassle about something that does practically nothing.
In my opinion GUI is nice but it's secondary. Personally I can live in CLI. Tiny WMs are fine. I like i3wm. But GUI was forced upon me by society. It's too complex and I'm not smart enough!
/usr/src should remain small. Maybe even smaller. Huge modifications and visionary! improvements belong to the port tree. Also I don't like the idea of messing with the "base" to support shiny little things, or goose-stepping other operating systems.

Oddly enough, this very thing happened when I started the OpenCDE project. Some stupid sodding regression in the xorg server was introduced meaning that click to focus froze MWM (Motif window manager). Bunch of clowns.
I remember that. I always thought CDE/motif was a beautiful environment. I was wondering what happened to the project. Thanks for reminder.
 
In my opinion GUI is nice but it's secondary. Personally I can live in CLI. Tiny WMs are fine. I like i3wm. But GUI was forced upon me by society. It's too complex and I'm not smart enough!
I have no objection about GUI. The creepyness starts when it comes to Docks and Trays and such. My computer runs programs, it does not natively run docks and trays - the latter are just another level of indirection, so people no longer know what programs they have running, making the technology more of a mystery.
But I think, it is rather important to de-mystify technology, in order to empower people to understand what they are doing. Just think about those regular calls we all get from microsoft, telling us our computer is damaged and they have to repair it... in an ideal world such shouldn't be possible.
It was supposed that this is just a generational matter, and the next generation would grow up with the technology and know how it works. But it doesn't look like this is coming true...
 
have no objection about GUI.
GUI is not bad, but I suffer the consequences. For example, thanks to the GUI we have smart!-phones, and I don't need/like them (one exception: 2FA program). I have no idea how things work around the world, but I have to deal with stupid people who reply to my emails through Whatspp voice messages! That's one example. Overall I think these techno-fetish trends (GUI is the main ingredient) reduce the quality my life.
 
  • Thanks
Reactions: PMc
I am very tempted to start a new C code-project. If I re-purpose the ECS / inheritance system from one of my other C game engines and use that as the foundation (for inheritance and virtual functions), along with Xlib, I could then perhaps find time to knock out a new GUI component every week or so. After 20 weeks I should have enough to start on some system utilities. So far an initial prototype Button "class" would look similar to this:

(Yes, it has some crazy MACROs. But in my opinion they are a lot less random than those found in Gtk+ or Qt's MOC system. I use ref(T) for "weak_ptr" and __(ptr) to access "derived class" data)

C:
#include <ui/ui.h>

/*
 * Internal struct for Button component, as well as specifying
 * virtual functions. All fields initialized to zero. Virtual
 * functions declared static.
 */
component(Button, Init MouseDown MouseUp)
{
  int state;
  void (*clickFunc)(struct ClickEvent *);
};

void OnInit(struct InitEvent *event)
{
  ref(Component) ctx = event->sender;
  struct Rect bounds = ComponentBounds(ctx);
  ref(Component) parent = ComponentParent(ctx);
}

void OnMouseDown(struct MouseDownEvent *event)
{
  __(event->sender)->state = BUTTON_DOWN;
}

void OnMouseUp(struct MouseUpEvent *event)
{
  ref(Component) ctx = event->sender;

  if(__(ctx)->state == BUTTON_DOWN && __(ctx)->clickFunc != NULL)
  {
    struct ClickEvent ce = {0};
    ce.sender = ctx;
    __(ctx)->clickFunc(&ce);
  }

  __(event->sender)->state = BUTTON_INITIAL;
}

The "clickFunc" part will actually be in the Component "base class" because it is relevant for all components.
 
Back
Top