this post was submitted on 15 Jan 2024
48 points (98.0% liked)

Linux

48655 readers
2072 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
48
submitted 11 months ago* (last edited 11 months ago) by [email protected] to c/[email protected]
 

I am potentially going to be able to put Linux on my work PC soon, have been using it on my personal PC and laptop quite happily with hyprland ontop of NixOS

Thinking of using NixOS for my work machine as well, however I don't want to use hyprland or even Wayland as I need this machine to be stable and reliable (Nvidia GPU)

Is I3 still the best option for this or are there better alternatives? (leaning towards I3 ontop of KDE)

I'm also somewhat tempted to just go GNOME with the forge extension as it seems the most reliable, though the tiling on that extension is far from perfect

top 46 comments
sorted by: hot top controversial new old
[–] [email protected] 18 points 11 months ago (1 children)

There is no "best WM", only "best WM for you". If you're deep enough into this rabbit hole to install an alternative WM, at this point you're the best judge of what's the best, really.

[–] [email protected] 4 points 11 months ago

I love hyprland, the question was more asking if there's anything I'm likely to like that's more robust and on x11 given that I like hyprland

[–] [email protected] 10 points 11 months ago (1 children)

As always there's no such thing as a global "best" application. Building your system is a very personal thing. It all depends on your needs and liking.

My personal journey in the tiling WM world has started 20 years ago with awesomewm. Then I moved to i3 because it feels lighter to me while offering a configuration approach I preferred. After some times, I felt ready to "really" build my tiling WM and I moved to dwm.

I couldn't be happier until I came across bspwm which is as suckless as dwm but EWMH compliant. I also love the nice approach of keybindings offered by sxhkd. What I appreciate the most is the no limit configuration power since you can integrate the very powerful program that writes messages on bspwm 's socket (bspc) in any scripts you can imagine. This let you create some crazy and very personal rules. For example, I designed one where bspwm is listening to my video player state and if not fullscreen it automatically resizes it to a given size and moves it to a specific position. I have another one that will apply borders only to 2 specific windows applications and use a different color for each one.

This is a very brief overview of what I've experimented. Your expectations and the time you want to deserve to your configuration may guide you on another path. Archwiki has a comparison of tiling WM may be a good starting point to help you in your decision.

[–] [email protected] 1 points 11 months ago (1 children)

Interesting. As a dwm guy I was unaware of ewmh standards. Have you used dwm to be able to compare? I love dwm, but it does behave in some cagey ways at times.

[–] [email protected] 1 points 11 months ago (1 children)

I used dwm for few years before moving to bspwm.

[–] [email protected] 1 points 11 months ago (1 children)
[–] [email protected] 2 points 11 months ago (1 children)

You know how hard it is to explain personal preferences when we talk about tiling WM but, as I mentioned in my first post, I would say that bspwm offer some further granularity. I didn't thought that was possible after using dwm but to come back to my example I have bspwm listening to the state of my media player. Everytime it becomes floating, bspwm resize the window, place it on a specific position, and add a border to it. This is just one example. Also, even though you can use it with any tiling WM, sxhkd has been developed with bspwm in mind and offers the best keybindings management I've ever tested. Thanks to chords, several commands can be associated to independent keybindings within the same piece of code like so:

control+{_,shift+}{1-9}
   bspc {desktop -f,node -d} '^{1-9}' --follow

Control and a number will switch you to a workspace. If you also press Shift the active window will be sent to a given workspace.

[–] [email protected] 1 points 11 months ago (1 children)

I'm already using sxhkd with dwm but it's probably underdeveloped. I want something like that above but with an additional hotkey to change send the active window to a workspace and then switch to that workspace but I haven't worked it up. I debated using a QMK tapdance feature for that but have never switched to my QMK keyboard.

I guess to get at my real question, dwm (or maybe more accurately some of the applications I run) generate windows in weird ways. Zoom for instance doesn't generate notifications for things like unstable wifi, but rather tiles a new window for 2 seconds which is REALLY annoying. Also the window swallowing feature is pretty finicky for things like (n)vim+latex in continuous compiling situations.

It's all fixable... But it's just a massive headache since (on my work pc) changing a dwm config means logging out and back in to see the results.

[–] [email protected] 2 points 11 months ago (1 children)

I would need to go back to my old dwm config file but I think what you're looking for is this patch. In bspwm this is achieved with the "follow" option as shown in my example.

To restart dwm without login out and back in you'll need this in your .xinitrc:

while :; do
    ssh-agent dwm
done

Then whenever you kill dwm with kill -HUP $(pidof -s dwm) it will actually be reloaded. Seems like there's also 2 patches to do that now (note that they both mention the above method as well).
https://dwm.suckless.org/patches/restartsig/
https://dwm.suckless.org/patches/selfrestart/

[–] [email protected] 1 points 11 months ago* (last edited 11 months ago)

@dream_weasel Did that help?

[–] [email protected] 3 points 11 months ago (3 children)

In a word - yes - i3 is incredibly productive and customizable, but it's not for everyone. I've been using i3 with no DE or DM for about a decade. Every time I try to use a full DE like KDE, Gnome, etc, it's just so slow and bloated, and gets in the way. And there's 100's of extra packages that get installed, and be updated, that I don't use. I don't need anything but terminals (of which I have about 40 open in 12 different virtual desktops), a browser, and an editor when vim isn't enough. So for me, it's perfect and simple. I don't know what will happen when Wayland finally wins, but that's 5-10 years away before it really wins.

[–] [email protected] 5 points 11 months ago (1 children)

I imagine once Wayland finally wins i3 users will turn into Sway users and that's about it.

[–] [email protected] 1 points 11 months ago

When Wayland is eventually ready, I will personaly look into river. At least that's what I would do now but no doubts that by the time everybody move to Wayland there will be way more options to consider. Hopefully one will be a good replacement for bspwm.

[–] [email protected] 2 points 11 months ago

I definitely do feel i3 is the easiest to understand and get into. I remember when I first started using Linux I tried awesomewm and icewm but was so confused. i3 made sense tho

[–] mcepl 2 points 11 months ago (2 children)

Ehm, what would be a difference for you, if you install sway?

[–] [email protected] 3 points 11 months ago
[–] [email protected] 1 points 11 months ago (1 children)

It's a good question - I don't know, because I haven't used it. If it's 100% compatible with i3 down to its configuration and features, then sure, it's palatable.

[–] mcepl 1 points 11 months ago

https://github.com/swaywm/sway/ still claims that sway is “i3-compatible Wayland compositor”.

[–] [email protected] 3 points 11 months ago (1 children)

Try HerbstluftWM. It's quite simple but very flexible to configure.

[–] [email protected] 1 points 11 months ago
[–] [email protected] 3 points 11 months ago* (last edited 11 months ago) (1 children)

You should check out XMonad. It’s the only formally verified tiling WM.

I got it working with NixOS and have my whole config online.

https://github.com/harryprayiv/nix-config/blob/intelTower/home/programs/xmonad/config.hs

I did some weird stuff with a custom Hue CLI Module for my lab. It’s a fun little, fairly kludgey example of something you could spin up super easily.

In Haskell (much of the time), they say if it compiles it ships! It’s a lazily-evaluated language which lends itself well to a config and it slots right into NixOS quite well since Nix is also a lazily evaluated purely functional language.

[–] [email protected] 2 points 11 months ago* (last edited 11 months ago) (1 children)

Ooh that is amazing thank you for the config will help me get started with it

Though I didn't end up getting on with qtile using python for config, I tend to prefer configs being dumb text files

What do you mean by formally verified?

[–] [email protected] 1 points 11 months ago* (last edited 11 months ago)

https://infosec.pub/comment/5743487

I linked a definition to that a few comments down.

I also run a community on XMonad: https://infosec.pub/c/xmonad

[–] [email protected] 3 points 11 months ago* (last edited 11 months ago)

Some of the X11 WMs are dwm, awesome, qtile, bspwm, etc.

Gonna leave here a link of a list of X11 WMs if you are interested.

Like some have said on this thread, there isn't really a better wm, it all comes down to your own needs.

[–] [email protected] 2 points 11 months ago* (last edited 11 months ago) (1 children)

I tried I3 but it seems the new window always appears in a vertical slice, maybe some people like that so windows are set manually. I prefer automatic tiling, I use Bspwm for that. It needs two config files but they are simple, no programming is required. Its way to split screen is almost always good. In the rare exceptions I add a rule in the main config file so the app appears in a floating window.

[–] [email protected] 2 points 11 months ago

Yes, i3 is not automatic, but you can arrange things however you want - it's definitely something where you need to read the docs first.

[–] cetvrti_magi 2 points 11 months ago (1 children)

Qtile is really good. I also recommend XMonad if you know Haskell, it is my main WM.

[–] [email protected] 1 points 11 months ago

I have tried qtile before, never really got on with it myself, don't really like using python for config personally

[–] [email protected] 2 points 11 months ago (1 children)

My personal favourite is qtile and it’s been my main WM for a long time. I3 is another good option. Wayland experience looks to vary from the other comments, but if you do use qtile and wanted to try wayland, you can get it to run using it (although I’ve never tried it myself).

[–] [email protected] 2 points 11 months ago* (last edited 11 months ago) (1 children)

I explicitly don't want to use Wayland for my work machine because on both my laptop and PC (both Nvidia) and it's not very stable/reliable

The work PC has Nvidia too so x11 seems like the better choice for that for the "it just works" factor

[–] [email protected] 1 points 11 months ago

That’s fair, especially if you’re using it for work as well. Just wanted to point out the option!

[–] ransomwarelettuce 2 points 11 months ago

I really liked awesomewm back in the day. Though everything was configured by arco Linux (arch fork), so have to idea how easy it is to get your configs up and running like in hyprland.

[–] Presi300 2 points 11 months ago

Try qtile, imo it's the best and simple option for tiling wms

[–] [email protected] 1 points 11 months ago (1 children)

Try out LeftWM ! It's a dynamic tiling window manager, and it's a reamly cool project with a very nice community. It's still a bit rough around the edges but it's worth trying considering how much options it offers.

[–] [email protected] 3 points 11 months ago

Unfortunately for this use case rough around the edges won't do. If something doesn't work instantly I get blamed for using nonstandard software so the most reliable is what I'm looking for really

For personal use I have no problem with rough around the edges (evidenced by my using hyprland on Nvidia lol)

[–] [email protected] 1 points 11 months ago (1 children)

Upopular opinion: Herbstluftwm.

[–] [email protected] 1 points 11 months ago

I am curious about this as I've never heard of it however for this use case I'm looking for as mainstream as possible so it's least likely to break in a way nobody's seen before

[–] [email protected] -1 points 11 months ago (5 children)

Wayland on nvidia is perfectly stable. Been using Hyrpland without issues for the past year or so.

[–] [email protected] 7 points 11 months ago

Wayland on Nvidia is not stable.

I'm using hyprland which adds another layer of instability as hyprland itsself can be ropey with Nvidia

Even with gnome Wayland I have had a number of issues though, electron stuff is dodgy at best, hibernation doesn't work (might not be Wayland specific)

Applications don't resize properly sometimes and crash more often

I think it entirely depends on your setup, I've had separate issues with Nvidia Wayland across my PC and laptop

[–] [email protected] 5 points 11 months ago (1 children)

Wayland on Nvidia gives me a black screen with mouse trails so your mileage may vary

[–] [email protected] 1 points 11 months ago

Oh my god, this. Especially on the external monitor.

[–] [email protected] 4 points 11 months ago

Maybe for you. Kernel 6.6, Nvidia driver 545 (also tried 535), RTX 3080, GNOME or KDE Plasma, two WQHD 165 Hz monitors. Got flickers in certain applications (for example Steam or some Electron apps), apparently related to how long they need to draw.

Along with Baldur's Gate Vulkan API halving FPS compared to Windows/AMD on Linux, or getting black models in DX11 (DXVK), certain games straight up flickering or showing other glitches.

YMMV of course, but I find it hard to believe people have literally zero issues unless they have a very limited use case for their system.

I switched to AMD for Linux and while it's not perfect either, it's so much better.

[–] [email protected] 4 points 11 months ago (1 children)

I'm running Hyprland on my Intel laptop without any issues (but I'm doing not much multimedia on it). But on my Nvidia desktop, oh no. Screen recording is flakey (especially with multiple sources and audio recording to different channels) in OBS, video editing impossible due to heavy UI flickering, gaming has worse performance, watching YouTube has noticable lag.

For just opening your browser and doing non-multimedia stuff it's fine I guess.

[–] [email protected] 2 points 11 months ago* (last edited 11 months ago) (1 children)

I have no issues with OBS, although I only use it for screen recording. It is my work machine (I’m a dev) but also game on it regularly without any problems. What kind of card do you have?

[–] [email protected] 1 points 11 months ago

I'm running a good old GTX 1080.

[–] [email protected] 3 points 11 months ago

quit fucking saying that! I still get random flickering on the desktop and flickering in games on a 1080. X11 is the only thing that lets me actually play games onmhe thing