Correct. Unfortunately, it's something that each desktop environment or window manager has to implement themselves. But all the button is doing is moving some config files around, so you can probably do some digging to figure out what it's copying to where.
Yeah, I’ve largely figured out how to change all these settings from configs for myself, just always on the lookout for a nice gui. I’m slowly working to make a Linux experience I can install for my relatives that makes the transition from crapware Windows relatively painless.
XDG_SESSION_THEME=KDE got my hyprland config to work on everything except the cursor (other than in Firefox/steam for some reason). Took me way too long to find the old reddit post that had this tip, so I hope it helps!
This is why X11 is better. I’d rather have settings like this in a text file that I can copy over to my next machine than have to navigate a UI that will change on a different DE or the next upgrade.
Backwards compatibility, portability, and text-based interfaces are a virtue.
X config files aren’t “hacky scripts”, they are fundamentally more powerful, customizable, usable, and future-proof. Xrandr is a powerful and capable interface with applications across the system.
When Wayland adopts these kinds of powerful interfaces with decades of refinement I’ll switch to it. I don’t want to keep track of whether my DE uses wlroots or gnome or plasma and their independent/redundant/feature-lacking randr alternatives. Randrs should be more fundamental to the display operation than the DE. Wayland is fundamentally hacky and broken.
Edit: thank you all for the discussion. I’d like to clarify a point. I don’t just want a text file with configuration settings that implement features that I need to beg/bother the devs for. They are likely to have better things to do and it might not be a priority for them. I want access to powerful tools via the configuration files that I can make do pretty much anything if I read the documentation. Xrandr is such a tool. I don’t want setting for a feature that has to be baked into the DE which I have to beg to have implemented and which will be implemented differently across different DEs. I want flexible, dynamic, modular tools.
Yeah that difference in configuration definitely makes it so much better, it completely outweighs the fact that Wayland does proper multi-monitor VRR, fractional scaling, HDR and much more.
I once had an old TV that I used as a monitor that had 1027p worth of pixels instead of 1080p. Auto detection tools said it was 1080p. With xrandr I was able to modify the output to 1027p so I didn’t lose the edges of the display to the TV’s broken forced overscan design. Could you do that with Wayland?
Literally yes. And you don't even need to know the exact pixel resolution of the TV.
Edit: Here are the problems with you "Wayland isn't good enough" people.
First, you don't use Wayland, so you don't even know if it's fixed whatever weird issue you encountered with it before or if it supports a niche use case, for example.
Second, Wayland won't get good enough for you until you start using it and reporting bugs. You think X11 was a bed of roses when it first started? Or do you think they bumped the version number 11 times for fun?
First, you don't use Wayland, so you don't even know if it's fixed whatever weird issue you encountered with it before or if it supports a niche use case, for example.
Bingo. So many complaints I’ve seen about Wayland have been from Nvidia users who tried it three years ago when the driver support was beyond fucked. I get Linux development moves slow sometimes but holy shit…
Good to know that this has been implemented in your favorite DE! Considering how Wayland often implements things, it’s probably implemented on the DE-level, leading to a fractured configuration ecosystem. Being implemented in Wayland is different from being implemented in some of the DEs that use Wayland.
edit: if I’m wrong about that, and it is implemented in Wayland itself, please continue to correct me!
Being implemented in Wayland is different from being implemented in some of the DEs that use Wayland.
edit: if I’m wrong about that, and it is implemented in Wayland itself, please continue to correct me!
Not only are you wrong, you're wrong on a fundamental level.
You don't even understand Wayland at all.
Wayland is not an implementation, it is a set of communication protocol specifications that specifies the communication between a display server (compositor) and its clients. There is no single implementation and that's by design, avoiding the major pitfalls of Xorg's inflexible fat unmaintainable ass.
More over, Weston is the reference implementation of a Wayland compositor that demonstrates how to implement the protocol specifications.
As the reference, Weston includes support for important features like screen rotation & overscan/underscan.
So obviously, other Wayland compositors, like GNOME Shell and KWin, would naturally follow Weston's example and also implement screen rotation & overscan support.
Lastly, all major implementations other than wlroots(WIP) have the overscan feature, e.g. Mutter, Kwin, Weston, etc.
Ok, let me fix my language. Thanks for the reference definitions, I’ll freely admit that I’m a bit rusty.
I was considering Wayland to be the server, not the protocol. I’ll adjust the spirit of my argument with this correction, and take you through a sample use-case of a system I ran on X about a decade ago.
I was arguing that having many implementations of display clients maintained by many different DEs can lead to a contradictory and confusing management environment. I’ll adjust this argument to also include the fact that the display servers are also being separately maintained.
The system that I ran a decade ago was a research box that about a dozen scientists would remote into via vnc from their laptops. Each scientist had their choice of DE which they could run and manage via the .xinit file in their home directories. This gave them a lot of choice and freedom over how they set up their personal UI (people can be finicky and prefer specific workflows), while also allowing simultaneous resource usage of the data and analysis drives, and the hundreds of cpu cores for various runs, and the hundreds of gigs of ram.
Such a system in Wayland-world would require each scientist to customize their environment using a DE-specific display-client-side configuration management scheme. Each of these would then have to talk to a different display server, as implemented by their specific DE. Sure, each client-server pair is using the Wayland protocol, but running a dozen display servers in the extreme case of a dozen different DE choices is not resource efficient. In a Wayland-world, I would probably have to enforce a standard server implementation of the Wayland protocol to cut down on all of the different display servers clogging up the memory and cpu usage. Sorry if one scientist wants KDE and another wants gnome and another wants i3 (now sway/wlroots), we have to cut down on diversity and user choice because of the fragmentation of the display environment. Under a single X server, it was easy to allow for user-facing interface diversity because of the standardization of the display server. Under my understanding of Wayland (as updated by your comment), supporting this interface diversity would require server-side diversity and server-side system resource duplication that would hinder the ability to efficiently present diverse options to the end users.
If there is anything that I am still misunderstanding, please continue to correct me and help me get caught up on missing the last several years of reality.
The clients do not care what implementation of the specification is being used.
Let me give you an analogy, say multiple people are making a sandwich, they could be making the sandwich in various ways, doing certain steps in different orders & at different speeds conducive to them and their environment, as long as the client gets the sandwich they asked for, it does not matter who and how the sandwich was made.
Infact, this is shown by the proof of concept of the upcoming compositor-handoff feature where you can hot swap your compositor and bring your clients straight over with their state completely preserved.
This is one of the many strengths of Wayland's design, it allows for a lot of flexibility in implementation while preserving the underlying communication standard between the server/compositor and the clients.
Thanks for the info. That makes a lot of sense. You’re giving me a lot of good info for what to do the next time I have a block of time to play around with something like this.
You can't be this stupid, Wayland also uses a config file, you just have a GUI button to copy the configs from inside your session to the login screen. Or do you think the button recompiles the login screen with a different configuration?
In Wayland, the compositor is the window server ( the equivalent of Xserver ). What you are looking for has to be a feature of the compositor and it is.
As others have said below, wlroots based compositors offer wlr-randr. There is also gnome-randr. For KDE, there is Kscreen-doctor. For X ( the window server being used by SDDM here ), there is xramdr.
Now, some people may see it as a problem that we have multiple Wayland implementations. I am mostly not fighting that battle. I will say that I hope these are not the same people that winge about systemd though and push for alternate init systems. I hope nobody that thinks MUSL is cool
Is clinging to X11.
I would prefer that there was a common configuration standard for this stuff on Wayland. It will probably come eventually. Maybe as part of the freedesktop.org stuff.
Generally, I believe the Linux ecosystem has been stronger in areas where there has been competition between implementations ( even compilers ). I hope that Wayland will be one of those areas. As the core problems get fixed, the pace of innovation will increase. I believe we are already seeing that. There are more examples every day of things Wayland can do that X11 cannot. Let’s hope for more of that.
Thanks for pointing out that in this case the DM is using X regardless of whatever graphical environment gets loaded when the user logs in. This really is a moot point/discussion. I’m still glad I raised it to get perspectives like yours.
You’re right that I should play around with wlroots a bit more. It’s been a while, personally. Mostly because it’s been a while since I’ve had time to just play around with my system. My life is at a point that it looks like I’ll have that free time soon, for better or for worse.
I’ll note that I do like alternative init systems for diversity and competition and because systemd was very hungry and rigid. An init system is also a bit more fundamental to system stability than a display server, so I think it’s reasonable to be critical of systemd and Wayland for contradictory reasons. Systemd has also come a very long way in the past decade plus. I have also seen it learn from the other ideas implemented in its competition, mirroring your argument. Diversity and unification are not at odds with each other, but are different parts of the same cycle of improvement.
You left a very gracious reply so let’s not fight.
I see a certain amount of irony in the overlap between the group of people ranting that Wayland has too many implementations and the group demanding more implementations of everything else. So that was my point.
Certainly we can agree though that there is nothing wrong with demanding more of both.
One my favourite new distros, Chimera, uses both Wayland and dinit (and Turnstile ).
I am interested to see where the diversity that Wayland provides goes actually. Have you seen this?
Thanks for the leads and the good conversation. I have found that being an idiot in public and then deescalating is one of the fastest ways to gather information.
I am serious, and I’ll tell you exactly what will change my mind. I need real tools instead of “upgrades” that have less functionality and are less usable. If Wayland (or whatever comes next) can deliver on functionality, I’ll sing its praises. For now I’m on X.