So my new home desktop looks something like this:
Having been running Manjaro Linux for a week or so now I thought I’d throw up a post talking through my first impressions. I chose Manjaro mainly for the AUR and for it’s excellent hardware support.
Some quick background first though - I’m not new to Linux and first installed it in ~2001 when a friend gave me a Suse Linux CD. I spent years learning Linux and trying out pretty much all of the well known distros at the time - RedHat, Slackware, Mandrake, Gentoo etc. Nearly all of my professional career has primarily been writing code on Linux machines and rarely in a Windows environment, although I haven’t typically used Linux as my home desktop due to software incompatibilities. The last time I exclusively ran Linux at home was about 2012 with Linux Mint, and a lot of things have changed since then!
Motivation
So why migrate at all? I mentioned in an earlier post that Linux is supposedly 20-40% faster at rendering than Windows, and since I’m making a big effort to learn to create 3D work it made sense to try and take advantage of that. At first I figured I could dual boot and just use Linux for long renders whilst otherwise staying in Windows, but then when I looked through my list of commonly used applications I realised almost all of them (Blender, UE4, Houdini, Substance Painter etc) run natively on Linux!
The obvious exception would be Adobe products, but since I’m not a CC subscriber that doesn’t matter. Unfortunately it does mean my Affinity Designer / Photo purchases might end up being a bit of a waste…
First Impressions
So my first impressions are honestly really positive, Linux on the desktop has come a long way! First off and most importantly, everything worked out of the box with no setup required. I have a dual monitor setup (one 2k at 144hz, one 1080 at 60hz) and this was automatically detected and just worked. Ten years ago I’d have expected my Nvidia GPU probably wouldn’t even work, but it looks like those days are in the past.
KDE Plasma has been really great:
- Virtual desktops are awesome. It turns out Windows 10 supports these out of the box too but I never knew!
- The Dolphin file browser supports split pane view as well as tabs. This is one of those things I never realised I was missing, and now that I have it I’d be sad to go back without.
- It’s super configurable and it’s so convenient being able to switch panels out for alternatives so easily. I didn’t like the default clock, so I just switched it out for a better one for example.
- It just plain looks good. I always felt Linux looked a bit childish somehow with its fat ugly icons, but these days I honestly think it looks quite slick. I’m happy to have my wobbly windows and magic lamp minimising desktop effects back too, I missed those. I also appreciate the transparency effects when dragging windows around.
Also:
- The Arch package manager with AUR is as good as everyone said it was.
- Switching to a new system is also a good opportunity to explore for new applications, and I’ve made a few good discoveries like Typora and the Haruna video player.
- I know there was (is?) a lot of contraversy around systemd, but to me it looks like a real step forward from the old init system. Its service files are far more intuitive to edit and setup compared to old /etc/init.d scripts.
- Distribution via AppImage / Flatpak / Snap is a good step forward, although I do hope we won’t always have to use three different ones in addition to the distribution package manager. My initial impressions leave me rooting for Flatpak because it isn’t tied to Canonical like Snap is, and it handles updates more cleanly than AppImage does. That said I do think AppImage’s definitely have their place because they are just so simple and convenient to download and run.
Issues
So there were a few small issues in getting things everything setup, which weren’t major problems for me but are the sort of thing that would likely stump anyone new to Linux:
- Manjaro installed as UEFI boot (good!) but it turns out my Windows install was using legacy bios. It took a couple of hours to realise what the problem was and to re-install Grub also to legacy bios, so now the Grub menu is correct and dual booting is clean.
- Houdini didn’t work out the box because the license server didn’t come up. I had to add a systemd service entry manually.
- My old drives didn’t mount automatically, so I had to put them into /etc/fstab manually.
- Firefox was stuck as the default browser no matter what I changed or environment variables I set. In the end I removed it entirely which finally solved that problem.
- When I installed Quixel Bridge with Flatpak it didn’t work properly, and it turns out this is because it’s sandboxed and didn’t have permissions to write to my home directory. Flatseal can be used to fix this problem, but it’s disappointing that it wasn’t setup correctly to start with and that nowhere was this limitation made clear when installing the application.
- Chinese and Japanese input is a bit of a mess and it’s not obvious at all how to set it up. In the end I only needed to install a bunch of fcitx packages and it all started working well enough. I tried ibus at first but for some reason it only worked properly with some applications (like Opera) but not most others, which was strange. Also adding Japanese as a second language caused some applications to randomly change their UI entirely into Japanese (Gimp, Discover) which made no sense.
All in all though these are fairly small things, and not that dissimilar to problems you still get on Windows from time to time (it’s hardly perfect).
Conclusion
I’m more than pleased with my new setup and things in the Linux Desktop world are a lot better than they used to be. Better yet there isn’t really any reason to expect things to stop progressing - hardware and software compatability should only continue to improve.
As for those suggested performance improvements I did a very quick Blender 2.90.1 render on each OS to compare numbers. Nothing too scientific - I ran each benchmark twice and used the fastest result of the two, ran all tests after a clean reboot and used the same blend file from my NTFS SSD:
Tilesize | Windows | Linux | Diff | |
---|---|---|---|---|
CUDA | 512px | 4:07 | 3:08 | -23.9% |
OptiX (last week) | 512px | 2:17 | 2:11 | -4.4% |
OptiX (today) | 512px | 1:30 | 2:03 | +36.7% |
CUDA + CPU | 32px | 3:38 | 2:41 | -26.1% |
CPU Only | 32px | 7:40 | 6:25 | -16.3% |
So one of these results is not like the other … !
In most tests it looks like we do see the ~20% improvement on Linux, and when I did a quick test last week Linux still edged out Windows by a few percent on OptiX. I’m assuming over the last week or so there must have been a driver update which has caused Windows to dramatically speed up, since now it is beating Linux easily for OptiX despite being much slower everywhere else.
Not every 3D application supports OptiX so I would still expect Linux to have the better average performance across all the different applications. I might come back and do these tests again sometime soon to see if the gap shrinks and if Linux overtakes Windows again, as I suspect it will.