Only the compositor has access to the composited image therefore is the only program able to make screenshots and full screen sharing. Furthermore, efficient sharing of single application windows is only possible with direct memory access to the buffer which also is something the compositor does/has. The Display protocol is the only sensible place to negotiate access to GPU resources.
No, GPU resources can come from any number of other places. That's literally the purpose of direct rendering. Any applications using GPU compute can produce them without requiring a connection to the display server. There's no reason to put that in Wayland or restrict it to the compositor. There's already a much better protocol for sharing GPU buffers: Pipewire. Dbus is only there to act as the glue between a Wayland compositor and Pipewire.
Also Wayland was supposed to be simple. A former simple "XGetImage()" call now gets turned into a process of negotiating with at least three different protocols (most of them only semi stable and only "invented" a few years ago), each running their own daemon, requiring well above 1000 lines of code.
The whole ecosystem is garbage and is either conceived by complete moronic retards or with the purpose of sabotage. The latter is more likely, nobody can be that stupid.
Can you please knock off the conspiracy theories and flames? What are you hoping to accomplish by hurting people like this on the internet?
Don't tell other people what they are allowed to say Mr Thoughtpolice. This exactly the behaviour that I would expect from Wayland apologists, though. Your arguments are obviously wrong and pointless and the best thing you can come up with is shaming other people into self censorship.
> This exactly the behaviour that I would expect from Wayland apologists, though. Your arguments are obviously wrong and pointless and the best thing you can come up with is shaming other people into self censorship.
Yeah, I'm going to shame you for that. That kind of language isn't going to convince anyone, and it's actively harmful. Please stop.
1. Scrap everything you have done so far and start over.
2. Use tried and tested engineering principles as basis for your development philosophy (such as "mechanism, not policy" or "Keep It Simple Stupid").
3. Choose the right target audience. The target audience of the FOSS-Desktop are neither car entertainment systems, nor Android consumer users that potentially download malware everyday. Your target audience are power users and developers that know what they are doing. If you don't agree, go work for a car manufacturer, work as an Android developer or do something else, just stay away from the FOSS-Desktop.
4. Do what developers and power users need! Just some examples: use simple and stable interfaces, use non-opaque low-level abstractions, standardize often used functionality, avoid redundant standards, don't litter my pstree with pointless daemons, use existing mechanism provided by the OS, use clear text for low bandwidth IPC, keep dependency trees as small as possible, keep build dependencies as small as possible, look at Plan9 as inspiration instead of Windows and MacOS.