I love WSL1. With WSL2 and the move to Hyper-V, I just decided to drop WSL and manage my own VM manually.
I use the remote development tools on VSCode that power WSL to make everything feel like it's running on the host directly, just like WSL2.
This way I don't have any confusion born from it pretending not to be a VM. No issues with network port mappings, dns stuff, who owns what binary and how does it execute? When is WSL2 running and when is it not? etc etc
Ultimately, I would rather run Linux on my desktop as a daily driver but the desktop experience is not quite there yet for me to live (at least) 8 hours a day in. Gnome 40 looks great though, can't wait too see what the future holds.
My dream is running Linux as a daily driver where the UI is more polished than MacOS. Windows will run in a VM and will be used for API calls for playing games (I wonder if we will ever see some kind of GPU sharing for virtualisation).
What's missing from the Linux Desktop experience for you?
I currently use all three operating systems on a weekly basis, Ubuntu with i3 (a window tiling manager) is my daily driver. Everytime I switch to windows or Mac os, it always feels like a downgrade for me because I can't replicate the tiling experience. The one thing I love about mac, is the trackpad experience, I wish windows and Linux could get to that level.
3. 99% of laptops have at least one device with missing or broken drivers. 802.11ac is very old in 2021, but the most popular ac chips still need an out-of-tree driver which will break when you update your kernel. Have fun copying kernel patches from random forums
4. Even the smallest of changes (ex: set display scaling to something that's not a multiple of 100%) require dicking around with config files. Windows 10's neutered control panel is still leagues ahead of Ubuntu's settings app. (Why are the default settings so bad? High DPI 4K monitors have been out for a decade now. Maybe they've fixed this since I've last checked. Or maybe all the devs use 10 year old Thinkpads)
5. Every config file is its own special snowflake with its own syntax, keywords, and escape characters
6. Every distro is its own special snowflake so it takes forever to help someone unfuck their computer if you're not familiar with their distro. Releasing software on Linux is painful for a related reason: The kennel has a stable ABI, but distros don't. You have to ship half the distro with every app if you want it to work out of the box. Using Docker for GUI apps is insane, but sometimes that's that you gotta do.
7. The desktop Linux community seems to only care about performance on old crappy hardware.
8. Audio input and output latency is really high out of the box. That's one of many things that require tweaking just to get acceptable performance.
That hasn't been my experience at all - except for the graphics card issue where there is really some work to be done before the specific driver for the card works.
For everything else Linux is actually a lot easier to work with than Windows - where you may need to download specific drivers for it to work.
As for your comment about config files - the same is the case with Windows where instead of config files, you may need to tweak registry keys.
If you don't mind the default settings, it is about the same experience on Linux and Windows. When you start tweaking things, then your mileage will vary.
> As for your comment about config files - the same is the case with Windows where instead of config files, you may need to tweak registry keys.
This is a pretty bad comparison. Here's a list of things I had to use config files (or terribly documented randomly downloaded CLI apps) for in Ubuntu but have a simple GUI (or just work) in Windows:
- Mounting a network drive
- Adjusting my touchpad behaviour (whether to supress on keyboard entry)
- Restarting my network adapter
- Wipe my SSH credentials
The last time I touched Windows registry was to disable automatic USB device connection, but that's only because I don't have group policy on this machine.
1. My experience with Windows 10 is that there's a considerable chance that it will break after an update and refuse to boot requiring me to reinstall it. With Linux even when using bleeding edge Arch things rarely break and when they do I can see WHY and then FIX it.
2. Not a problem with AMD at least.
3. Mileage may vary
4. Ubuntu is a joke. Try Manjaro.
5. Learning curve is steep but you install Gnome or KDE and have a proper desktop environment that don't get in your way or show ads without touching a single configuration file.
6. Mileage may vary but most distros are Debian, Arch or Fedora based and environments are not that fragmented as you make it sound. Also there is Flatpak and others as an alternative for building and distributing desktop applications.
7. I'm playing games with decent performance on a GPU that was released on last month. Also it's only crappy if doesn't get the job done and is good that the community cares for long term support better than this trend of disposable software and planned obsolescence.
1. shrug that hasn't been my experience. You also mentioned blue screens in another comment, but I've only seen one blue screen in the last decade and that one was my fault (RAM timings too tight; Surprised it lasted long enough to run a benchmark).
2. Like I told the other guy: "Yeah I'll just trade in my RTX 3090 for something that has half the performance and doesn't support tensorflow"
4. More fragmentation? If the most popular distro is a joke, why would I try something even more unstable (rolling release)?
6. Flatpak and snap are definitely progress. When more people can run identical binaries, I suspect a lot of these problems will go away. There will still be issues with administration (why are there so many ways to configure networking?), but yeah it's progress.
7. Why would I want "decent performance"? I want low latency (min 300fps rendering) while running at max quality
8. Then you've never measured it. Try listening to your own voice using software audio loopback. You'll find that the default audio latency is greater than internet latency within the US. That leads to people interrupting each other in video calls and callouts being late in co-op games
4. Stability has nothing to do with reliability. I had less issues with Arch Linux than with Ubuntu LTS and I hear people say the same thing. Even Windows 10 is a rolling release OS. If you want a ready to use stable OS there's Manjaro where repositories are purposefully a bit behind Arch.
7. Decent is 1080p@60Hz, what most people play. What you want is extreme performance. Honestly 300fps at 4K is just absurd even on Windows unless you're playing an old game as CPU becomes a bottleneck and why would you need it? Do you have a 300fps display?
8. Never measured it but trying pw-loopback I don't see how whatever it's can be a problem even for competitive gaming.
At least for your glibc / nvidia concern, I feel like if you stick to the binary packages, at least on Ubuntu, it's hard to break. Recently I've been trying to do all the gaming I can on Linux with Proton, and at least for single-player games, it tends to work pretty well. (MP is still a big issue due to the current state of anti-cheat)
Audio latency is one struggle I agree is still pretty bad. I had a pretty good time getting SteamVR running on Linux with Beat Saber running via proton, but tuning the audio latency was a big pain.
1 why/how would you break glibc? This sounds like you're "holding it wrong"? You don't go willy-nilly changing system dlls on windows, do you?
2 yeah, nvidia does not support linux/Foss. It sucks. Buy amd, or use windows.
3 I've not really seen this lately. Ubuntu/canonical does a pretty good and pragmatic job of enabling non-free drivers - but sure, not all vendors care. See 2.
4 not with eg Ubuntu 20.04 lts Wayland. I'm rather positively impressed with the settings app. I'm not all that happy personally with all the dbus/changes that enable this pretty gui - I tend to prefer simple config files. But at any rate - I don't think your point 4 has been true for a while.
5 yes and no? Honestly I think the only config files I'm editing is nvim and vs code. My terminal for example has a perfectly usable gui preferences coupled with a perfectly readable and version controllable config file.
Well and the occasional bash rc tweak.
6 maybe?
7 I think it's more that hw vendors don't care about Linux, so it takes a lot of time for drivers etc to materialize.
8 Hopefully pipewire will kill pulse audio, and this will cease to be the case.
1) This should not occur. You do not update glibc on a stable desktop environment. If you use rolling release distributions, yes shit will hit the fan (even though proponents/fans of such will deny such 'ever happening to their X years of Arch or w/e usage).
2) Don't use Nvidia; use AMD or Intel with FOSS drivers. I know this sucks if you don't have the option (its a package deal, or you already bought it).
(I've only bothered to address the first two. Doesn't mean you're correct on the other 6.)
1. Yeah it "should not" happen yet I've experienced it on a relatively sane distro. Btw "Update glibc and everything breaks" is a quote from Linus Torvalds. He's a newcomer on this scene, but he makes some good points: https://youtu.be/5PmHRSeA2c8?t=588
2. No thanks. I'll stick with my RTX 3090 for my personal desktop and 2x2080Ti for each of my servers. We both wish there was another vendor that supported tensorflow with reasonable performance, but you know that's not the world we live in.
Yeah, "Update glibc and everything breaks" is a quote by Linus Torvalds on Debconf 2014. But why? Do you know? I do. Because this very thing happened on Debian Testing. Not Debian Stable, Testing. That's akin to a rolling release like Arch. Debian GNU/Linux is a sane Linux distribution, as long as you run Stable. If you run Testing or Unstable shit is going to break, just like Arch or Nix or .. (at least Nix got good rollback support to mitigate it)
I'm happily using a Vega56 and can achieve decent performance on 1080p and 1440p on Linux. Raytracing is a gimmick to me, tear-free gaming not (but I got FreeSync working). I don't work with Tensorflow or Hashcat or such, I'm talking about Linux desktop gaming here. There's no need to use Nvidia there unless you need exotic stuff like raytracing. The AMD Radeon Navi series (5000 and 6000) deliver excellent performance.
If you are going to cite a joke, cite this: Windows, you do anything and the screen go blue. Problems exist and they need be addressed but Linux did not stop at time and the scenario is not the same as it was at 7 years ago.
It's funny you mention tiling because honestly one of the biggest things preventing me from moving to linux full time is the lack of any decent window manager like https://docs.microsoft.com/en-us/windows/powertoys/fancyzone... where I can arbitrarily draw/resize zones and drag and drop/snap windows on to them. Every window manager I've used in Linux, and gnome extension, all try and force you to have non resizable areas, areas of equal proportions, don't support snapping etc. And needed serious foo for moving a window about. If anyone has any suggestions I'd love to hear it
Powertoys is amazing, it allows you to run your Windows machine more like Linux/Mac.
Awake is like Amphetamine on macOS.
FancyZones is like a tiling window manager.
Keyboard Manager allows you to easily rebind a key such as Caps Lock.
Power Rename allows you to rename based on regexp.
Powertoys Run is basically a light version of Alfred.
File Explorer addons allows you to for example preview Markdown (.md) files.
Color Picker saves me the hassle of making a screenshot and then uploading it to a website to figure out the hex value (or having to open up a bloated image editor). Useful for (even simple) image editing, web design, etc.
I'm sure I missed some utilities but these are the features I use.
Microsoft Word. That's literally the only thing which stops me from installing Windows on all of my friend's and family's aging laptops. LibreOffice just isn't capable of 100% replicating the formatting of a docx generated by Word, which for most people is a deal-breaker. (For me it's not, but for non-techie associates it is.)
I just don't understand why there's not more pressure on MS to port Office to Linux in exchange for them extracting so much value from Linux for their proprietary operating system.
For me, reliability. Literally I have to futz with it so often. I moved from a Mac recently to a T495 thinkpad with Radeon in it which is supposedly fully supported by Ubuntu. Turns out that depends on what day of the week it is. Constant GPU problems.
Microsoft Word. That's literally the only thing which stops me from installing Windows on all of my friends and familys aging laptops. LibreOffice just isn't capable of 100% replicating the formatting of a docx generated by Word, which for most people is a deal-breaker. (For me it's not, but for non-techie associates it is.)
I just don't understand why there's not more pressure on MS to port Office to Linux in exchange for them extracting so much value from Linux for their proprietary operating system.
> I wonder if we will ever see some kind of GPU sharing for virtualisation
Hasn't this been solved for some time now? Or am I misunderstanding what you want? I remember seeing a few articles about using this for gaming on Windows VMs on Linux hosts. I haven't jumped in though so maybe it's not what I think it is.
Sharing a CPU with no performance loss isn't possible either. The amount of CPU loss varies dramatically by the exact virtualisation stack used and by the application running on top of it, but it is very clearly observable.
Intel GPUs can be shared, it is called GVT-g (expensive AMD and nVidia have similar abilities). It isn't trivial to set up at this point but it sounds like it works.
I have GPU-P working with Hyper-V on a NVidia 3070. It is strange though, as the guest OS sees the 3070 and some software works well (e.g. FurMark) but you can't install the NVidia Game Ready installer (doesn't see a GPU). Otherwise, you are correct.
Again: don't buy Nvidia. This is one of the many reasons why you should consider avoiding this brand (for GPUs). I even gave them the benefit of the doubt with their Nvidia Shield (bought two Pro 2020's) only to have them shove me up ads through my throat via a software update.
Which AMD GPUs support VFs? Which ones support ROCm? The older AMD consumer GPUs did, but the newer ones don't. They prefer to charge extra for the data center GPUs just like Nvidia.
If your only experience with GNOME is Ubuntu, give Fedora a try. The parts are 95% identical but (in my opinion) the user experience is a lot more coherent, because it's all designed together and nothing's bolted on.
I don't understand claims "desktop experience is not there yet". What do you even need so specific? Care to explain?
I tend to think it's more of people's problem at that point than linux desktop experience problem
It's not _functionally_ problematic, just aesthetically.
Mostly it's just that I never go a full day without performing some kind of maintenance on my Linux desktop environment to try to get it looking right, and it never looks right.
I also run multiple monitors, so that aspect tends to throw in some extra jank.
At this point, running Gnome completely unmodified has been the most success I have had - but even Gnome 40 has some questionable design decisions.
Windows is a poor example of polish but I feel there's a lot we can learn from by looking at MacOS's desktop environment. Having used each for significant amounts of time (years) and currently living on Windows, MacOS really takes the prize for the "nicest place to live but worst landlord".
I go years without "performing some kind of maintenance on my Linux desktop environment". I can't even imagine what you would even be trying to fool with, and it not working.
I use the remote development tools on VSCode that power WSL to make everything feel like it's running on the host directly, just like WSL2.
This way I don't have any confusion born from it pretending not to be a VM. No issues with network port mappings, dns stuff, who owns what binary and how does it execute? When is WSL2 running and when is it not? etc etc
Ultimately, I would rather run Linux on my desktop as a daily driver but the desktop experience is not quite there yet for me to live (at least) 8 hours a day in. Gnome 40 looks great though, can't wait too see what the future holds.
My dream is running Linux as a daily driver where the UI is more polished than MacOS. Windows will run in a VM and will be used for API calls for playing games (I wonder if we will ever see some kind of GPU sharing for virtualisation).