Do I Wayland?

Table of Contents

Ah, yes I’ve switched

There has been for years a lot of talk about issues with Xserver and it’s wide spread defacto use in Linux. Mainly due to the momentum effect, Xserver (originally designed for mainframes and actual terminal interfaces with them) has been used on Linux since, well, the beginning. That’s fine and all, I mean whatever it works. The issue arrises where now people have hardware which was built in the last 20 years claiming to be “modern”. Or maybe you want to watch a movie on your computer without tons of screen tearing caused by whatever protocol was written for plain text to work over the 1080s network Xserver is hoping for.

In steps Wayland. Woa woa woa this is huge. I’m not a programmer nor developer, but even my limited understanding gets that making applications that are designed to run through the graphical interface of X run on something else is wild. Building off that, deciding on one new protocol and not the billion other option of opensource ones is another entirely.

Okay sick, whatever though hey. I’ve been running Xmonad for years now on my main computer without issue. Without issues meaning I’ve just taken certain things for granted and dealt with others. I, for the life of me, could not figure out how to fullscreen something that didn’t mean it became fullscreen within its defined window. That meant, to watch a movie fullscreen for example, I’d float the window and manually make it just anything larger than my screen and then fullscreen the player in the application, Gah.

Screen tearing is a classic Linux issue from back in the day and whilst there are drivers for specific systems and other settings in SystemD or Xserver you can alter depending on your hardware to help mitigate this, it all means screwin’ with your low level shiz and likely will cause issues right away, or if not as soon as you update something. And I mean issues like your computer doesn’t boot anymore, boooo. But hey, it’s what we are all used to. Overall, the experience is still better than subscriptions required to view documents you’ve created and your info being sent world wide.

Wayland

Okay so it’s been long enough. For years I did nothing with my Xmonad config because it was working and why mess with it. But I had to redo my computer a few times and everything was so old, aka my NixPkgs, that I had to redefine almost everything because the names had changed. It was time to put in like 4% effort to see if anything was new. Oh what, most stuff supports wayland? Lets give this a go.

Because it was written not in the 80s, a lot of things you’re expecting from the desktop experience are part of the philosophy in Wayland in a way that in X it was added afterwards in some hacky way. Fullscreen videos are actually that, full screen. Interactions between graphics chips locally are actually used to then interact with the graphically displayed things on the screen! Woa! All this in like 1/16th the lines of code? Makes sense honestly, Wayland isn’t designed as a funky mainframe to terminal server interface; its actually built to do the job everyone is using it to do so.

Hyprland

Sway was the original Tiling Window Manager for Linux Chads on the internet. When Wayland was new new and sort of experimental Sway was out there as, from what I understand, an exact copy of I3 with the Gaps plugin but built directly for the new display protocol. Great, it works and people actually have switched to it. That’s the least you can ask for in the opensource world.

Now that Wayland is becoming more and more common as the base for graphical displaying of applications in Linux there are a lot of new window managers, as well as native apps, that are using the Wayland toolkit (as I understand it? I’m not a pro maybe this isn’t true lol). All that is to say, hey there are options now and they’re fleshed out enough you can do a Wayland only desktop. DWM has a DWL, there’s also MangoWC which has a wild amount of windowrules, and of course Hyprland. Designed for Wayland from the getgo with an easy to understand config file. What’s not to like.

Why’d I Switch

I was using my old setup for so long that it literally became so hard to work on because all the names of variables and what have you had changed. Instead of working through my archaine Haskell config I thought I’d just give a swirley to a new Window Manager to test out. Immedietly it became clear why people are switching. For the every day desktop Linux user this is definitely the future. Hyprland has a lot of ‘just makes sense’ defaults and the rest of the settings are more clear and concise than their Xserver counterparts. Because Hyprland is the main contender in the space I just installed it and went about implementing the 70% of the most important parts of my personal tiling window manager experience.

Great, great you’re thinkin’ another thing to switch to. Ehh, maybe? There are ways to solve all the problems I had in Xmonad I just couldn’t be stuffed to figure it out when the newer protocol seems to solve it all without any effort.

Benefits

Okay so here really are the main life improvements I’ve found after switching. Take into account that I use a Linux Distro on my personal machine, which is a Laptop, without anything else fancy. I occasionally plug my laptop into a second monitor, otherwise I do all my shiz on the computer itself. I don’t have any other usecases for display servers or anything really. I open apps, look at the internet, open something on a second monitor (which still is forked in the way you define this on the fly) and maybe present something with the classic F5 Zathura page viewer mode.

Hyprland and how it Fits

So why now am I on Hyprland. Really, it comes down to it’s the defacto, lots of support, window manager for Wayland now and therefore lots of my complaints are solved by default and the rest of the stuff just works. There are a few things I’m missing from my Xmonad config, for sure. The fact that I was literally altering the source code for the program wit Xmonad means you can literally do anything; lots of cool stuff has been done. I had a lot of layouts and window rules for single window workspaces and the like that I really enjoyed and wish I could port over to Hyprland. Maybe it’s possible but I think ultimatly, Hyprland is built for the novice to just work and isn’t like these old school, “you had to be cool” window managers.

MangoWC seems to be a project built off the idea of DWM on X but with some of the neato features people built into AwesomeWM or Xmonad. Interesting yes, but are these strange neat features worth the headache of re-learning and re-binding? I’m not too sure? So this is in the works now. It’s possible I’ll switch to Mango after I figure out how the F the window layouts and the tag system works. For now though, I can have a layout I like, move windows between workspaces, move myself to those, and use the keyboard to move and resize those windows, that accomplishes 98% of what I’m hoping for so we may just leave it at that.

Plus I now can fullscreen a video and movies play without screen tearing. Guau, Linux is great!