Windows 11 to Debian (again)
tdlr; I figured out what I actually wanted was Debian running a tiling WM, on Wayland, with NVIDIA drivers, across three monitors with independent resolutions and DPI's. The cherry on top would be running on two separate cards.
Oh no, I am sick of Windows again and yearning for something different 😉
Ah, it must be about time for my yearly Linux install.
Last time I actually wrote down why I ended back on Windows again, and mainly it was Photoshop. There was a crappy bug in Google Ads as well... well fuck Adobe and their shite new licensing and fuck Microsoft with pushing Recall.
Since I last installed Debian on my main machine I've moved office and added a 4k monitor to the centre of my sweet triple screen setup on Windows.
WSL is great and I have a Debian dev environment, everything Just Works.
yawn
Comparison from last time
Windows | Debian | |
---|---|---|
Open Source | ❌ | ✅ |
No Tracking / Recall | ❌ | ✅ |
Apt | ❌ | ✅ |
Photoshop | ✅ | ❌ |
Google Ads Editor | ✅ | ❌ |
Excel | ✅ | ❌ |
Dual NVIDIA Cards | ✅ | ❌ |
Enjoyment | ❌ | ✅ |
Crap, I do love Excel. Maybe I can try one of the horrible free versions like Libreoffice again? Google Sheets is fine for most things, but I like to be able to open csv files in a local editor quickly and easily.
I would be OK with running Ads Editor & Excel in a VM, but Photoshop never runs as well as on bare metal and is annoying to use. Canva has background removing now though so I use that more and more.
The deal breaker is the Dual Nvidia cards - I have three monitors running from two cards, and I don't want to re-cable them into one card.
Future self - it wasn't such a deal breaker after all
Friday 26th
While waiting for the WAN show to start I installed Debian on my laptop (on which this is being typed) and then on my main machine. The laptop is a newish ASUS Vivobook and the install couldn't have been easier. I was expecting problems with wifi and secure boot, but everything installed and just worked out of the box.
Then I installed on my desktop (bearing in mind I had this all working a year ago) and everything was a problem. First I couldn't get any network, which made no sense as I was plugged into ethernet and it was fine in Windows minutes before.
Interweb
It turned out to be Google Nest Wifi router being shite and not working with the existing reserved IP, even though the mac address was the same. Deleting the reserved address wasn't enough, I had to wait and restart and fuck about probably until something uncached on the router rather than anything I did. Eventually DCHP pulled a new IP.
Grub
I needed to boot back into a rescue console and repair grub and install it again in /dev/sda
and for a reinstall of grub in the default EFI path.
Both just options from the rescue menu though, nice and simple.
Triple Monitors
Another ballache. Only two were showing and I figured to plug them all into one card rather than use two. The first cable I routed in (crawling around under the desk) turned out to be broken.
With a working cable all three monitors were showing up, but performance was crap so I installed the NVIDIA drivers. Then cue messing around trying to get them to work - first I didn't have linux-headers installed (doh), then I had to set nvidia_drm.modeset=1
in grub.
After that Wayland still didn't work, but on a whim I re-cabled the back to using both cards at the same time and it worked in X11.
NVIDIA drivers work with two cards split across three monitors, but Stellaris is broken. Stellaris works with nouveau drivers, but I can only get one card to work. Nothing works with Wayland.
Saturday Morning
I woke up wanting to try newer versions of Plasma than available in Sid, so had a go installing arch. The install wasn't too bad, but I had to do more EFI boot stuff than I'm used to. It gave me a chance to use systemd-boot
rather than grub.
I think they make the install difficult than it actually is if that makes sense. No network after install? The guide made me think I needed to install a network manager, but it systemd-networked
was installed, just not enabled. Still no internet? systemd-resolved
also not enabled.
I think the ethos is there is no default package for anything, so everything needs installing and enabling. But systemd is installed by default, and I didn't see in mentioned in the excellent but perhaps verbose docs to run systemctl enable systemd-resolver etc
Saturday Afternoon
After walking the dog and having spent hours playing with Arch and not actually solving anything I installed Debian again. I prefer the Debian next next next install and deselecting gnome resulting in a barebones system that works with no effort. Or maybe i'm just more comfortable with nearly 20 years of Debian.
I installed KDE through the installer (I usually install barebones and dist-upgrade
to sid before installing KDE) and low and behold, KDE plasma installs and just works with Wayland in Bookworm.
Then I installed the NVIDIA driver and got it working on X11 on a single card but with a single DPI across all screens. Wayland just crashes back to the login screen.
sudo apt install linux-headers-amd64
sudo apt install nvidia-driver firmware-misc-nonfree
sudo dpkg --add-architecture i386 && sudo apt update
sudo apt install nvidia-driver-libs:i386
sudo reboot
I used xrandr
to set the three screens up and another script to set a single monitor for gaming.
xrandr --output DP-0 --mode 3840x2160 --primary
xrandr --output HDMI-0 --mode 2560x1440 --left-of DP-0
xrandr --output DVI-D-0 --mode 2560x1440 --right-of DP-0
Then I went back to trying to get Wayland working, as the single DPI across all screens in X11 was pants. I found the proper Debian guide https://wiki.debian.org/NvidiaGraphicsDrivers#Wayland
And set the drm.modeset and the PreserveVideoMemoryAllocations
echo 'GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX nvidia-drm.modeset=1"' > /etc/default/grub.d/nvidia-modeset.cfg
update-grub
apt install nvidia-suspend-common
systemctl enable nvidia-suspend.service
systemctl enable nvidia-hibernate.service
systemctl enable nvidia-resume.service
echo 'options nvidia NVreg_PreserveVideoMemoryAllocations=1' > /etc/modprobe.d/nvidia-power-management.conf
Sunday Morning
Looking for a FancyZones replacement......WIN-T in KDE and it's already built in!
Now trying to get both cards working...
Single Card | Two Cards | Stellaris | DPI | |
---|---|---|---|---|
Bookworm Nvidia X11 | ✅ | ✅ | ✅ | ❌ |
Bookworm Nvidia Wayland | ✅ | ❌ | ✅ | ✅ |
Sunday Afternoon
The two cards are killing me so I wiped everything and installed KDE Neon on a lark. It has Plasma 6 rather than 5 that comes in nearly every other distro.
I am still on one card but I have Wayland and proper DPI settings on each monitor. There is a tiny bit of lag sometimes but it seems pretty stable on Plasma 6 and fixes a lot of issues I was having in KDE. I'll daily drive Neon for a bit to see how I get on.
Monday & KDE Neon
Requirements: Wayland, Nvidia drivers, three screens centre with different DPI
Debian is The Daddy and makes me feel warm and fuzzy to use the same desktop OS as on my servers. But my problems with Wayland & Nvidia were too much for a daily driver - KDE menus not drawing properly and fuzzy fonts everywhere. Sid did fix a bit. However I kept having display issues and so tried KDE Neon.
Neon is based on Ubuntu which makes me feel a bit yucky but it does work very well with the latest version of KDE. I have a feeling that the font renderer is somehow better as well - but it's really subjective and a tiny difference.
Bug | Bookworm | Sid | Neon |
Taskbar clock font | ❌ | ✅ | ✅ |
Desktop right click menu flickering | ❌ | ❌ | ✅ |
Dragging windows between screens | ❌ | ✅ | ✅ |
Maximise windows | ❌ | ✅ | ✅ |
Fonts fuzzy until mouse over | ❌ | ✅ | ✅ |
Lag in Brave bar (Firefox fine!) | ❌ | ❌ | ❌ |
There are some stories on reddit how Neon only uses snaps, or your can't use apt to update. It's bullshit - you can use apt install
as normal but should use full-upgrade
and not just upgrade
. Or use their pkcon update
tool which is rather nice 🤷
Not sure if this is a negative or a positive* but Neon is easier to install than Debian is.
Like Ubuntu, drivers and firmware are installed and work rather than (sometimes) being one or two steps away in Debian. And getting grub to install in Debian using btrfs is a pain on this machine. Neon just worked. *If you don't ever partition a drive in fdisk or struggle to get grub to work then you are missing out 😃
If you love KDE then you will love Neon. It's fast, up to date and stable for me, and if you squint a bit then it's almost Debian under the hood 😉 If you hate Ubuntu then woopsie.
Friday 2nd Aug
A week of using KDE Neon and it's perfectly fine, but I still have that itch.
Brave is having all sorts of display issues though that I never resolved.
While waiting for WAN show I went back to Debian just because it is the Daddy 🕶️
Hyprland
I tried Hyprland using the brilliant script from https://github.com/JaKooLit/Debian-Hyprland and fell in love.
Oh wow ❤️
Hyprland is a dynamic tiling window manager - so everything is put into a new desktop (virtual or real screen) or into a tile inside a desktop. You don't drag windows around, or maximise or minimise anything. And you use the keyboard 😄
I already run three screens with set tiles for most apps, ie everything already has a place.
I did a clean install of Debian with no desktop environment, upgraded to Sid and installed the Nvidia drivers and set nvidia.drm-modeset. Then I used this wonderful script to download, build and install Hyprland and a load of tools.
Pretty amazingly it worked first time, and I rebooted into a themed SDDM and then into Hyprland with loads of preconfigured settings to work through.
Not only did it work, all my graphics issues in KDE disappeared ❤️ No crazy Brave display issues. Not sure if it was KDE thing or something else (maybe fonts?) but I'm still on Wayland with the Nvidia drivers so nothing has changed there.
Saturday
I didn't really like all the visual fluff and need to reinstall and strip out unwanted packages. I also didn't like that there was no mouse dragging of windows - I'm used to Windows and multi-monitors with FanzyZones.
There was also a lot of compiling so I decided to look for the more Debian option. Sway is in the repo so I did a little research, did a test install alongside KDE and fell in love with the drag and drop tiling. It seems designed for multi monitors. You don't need to be a keyboard wizard but you do need to learn and set some to be able to do some basic .
The default theme really reminds me of fluxbox as well (an old love of mine) and I haven't even got to messing with themes and the waybar yet.
Sunday
Sway is installed, and I think I've found my true love. Lots of config to do now.