Linux native vs Windows 11 WSL2
Posted by Adorable_Compote4418@reddit | linux | View on Reddit | 60 comments
**disclaimer: gaming, data analytics/privacy, moral and general Linux vs Windows fanboyism isn't relevant here, please stay on discussion**
I've been a Windows user for most of my life but I've move over to Ubuntu last years and I've been nothing more than satisfied. I use my workstation mostly for development (conda, dataspell ..), docker hosting stuff like SQL for Linux, Apache spark and ....
I've tested Geekbench 6 on Ubuntu (which enjoy a 10% single thread IPC advantage over Windows) and Geekbench 6 on WSL2/Ubuntu. WSL2/Ubuntu is actually on par with native Ubuntu and faster than Windows native performance.
Is there a good reason NOT TO transfer back to Windows and use WSL2 and also enjoy the benefit of having Hyper-V on top of docker. From what I understand I could mount drive directly and still enjoy ZFS/XFS. I'm really trying to find show stopper to avoid further limitation
taterr_salad@reddit
There are pros and cons to both, but I prefer a native Linux installation over the virtualization route.
One of my biggest hangups with WSL is the lack of serial port access . I do embedded development, and having to jump around from zsh to powershell constantly really irks me. Then there's the lack of window management options, lack of custom shortcut support, lack of alternative file management tools, etc that I really miss when using Windows. About the only thing I can say I like about windows is that my Bluetooth headsets microphone just works.
It's probably my fault for getting too into the weeds, but I really prefer the customizability and terminal centric focus that Linux provides over what Windows can do.
All that said, I have to use Windows and WSL for work. I currently have 7 different dev environments across 4 machines (for now) and I can't keep anything straight because the tools I want to use are never installed or not the right version anywhere (fucking python ...).
Sriman69@reddit
usbpid can pass through ur usb device to linux
Appropriate_Junket_5@reddit
tried something like pyenv? what's your experience with it?
fellipec@reddit
I really like WSL2. When I'm on one of the native Linux machines I'm fine, when I use the Windows machine I can still do things like rsync, ssh, and use several of Linux tools.
I think if WSL2 works for you, go ahead, what matters is you have your things done.
No_Departure_1878@reddit
WSL2 is terrible, I have constant problems with the GUIs and I get no support from microsoft, I see issues in the github page that are years old and still open.
Appropriate_Junket_5@reddit
what GUI? I mean are yoi tring to start GUI apps on wsl2, why would you do that?
No_Departure_1878@reddit
I need to use linux and windows at the same time. I used VirtualBox, but there are too many issues with that program. I ended up loosing data because of the problems that it has with snapshots; the fact that it does not delete old data and it quickly fills up your drive forcing you to do the deletion by hand, etc.
WSL2 is supposed to be able to handle GUIs, supposed. It actually is very unreliable. Currently there is not really any way out to do this, as far as I know. So the best way out would be to just buy a second computer where you install linux as your main OS.
GrumpyRodriguez@reddit
I had great success with an X server called X410: I used it to do ssh forwarding and even though I am not sure if it was the WSL I was using, I'll suggest that you do some google searches for it. I remember the announcement from Microsoft for support for GUI in linux apps and thinking "I won't need this, I have x410" so it is likely that it works with WSL2.
Do your own research though.
Appropriate_Junket_5@reddit
Thank you! I see. It makes a lot of sense what you describe. I am myself running two laptops. One from work with Ubuntu on it and one at home with Windows. I was wondering if to migrate my work to my own laptop just for convenience ( i don't need linux gui apps)
Chosen_UserName217@reddit
I use WSL every day without any problems. I like it a lot.
Dragonwarrior124@reddit
okay so i have question about this will wsl2 work good for development in 8gb ram or i am good dual booting a native linux
unengaged_crayon@reddit
the only issue i had with WSL is that IO with windows is exceptionally poor. if you aren't regularly doing huge amounts of file IO, you will do fine.
Appropriate_Junket_5@reddit
The trick is to keep the files you use in wsl2 within the wsl2 distribution (say your /home folder)
idontliketopick@reddit
I know that was the case with 1. It was exceptionally slow. Since 2 I haven't had any issues.
bogdan5844@reddit
If you keep all your IO operatins inside WSL2, yes, it's fast.
Problems arise if you try to cross the boundary between WSL and Windows. I, for one, treat WSL as its own thing, all WSL stuff resides in
~No_Departure_1878@reddit
Showstopper: Terrible GUI support. For me it often just freezes forcing me to restart the system. Also go and check the wsl2 github page for all the open issues, some of them are years old and still open.
MercilessPinkbelly@reddit
With a free xserver you can use WSL like any linux system, including GUI apps.
Use whichever you like. At work we have to use WSL and after griping about it for months I finally gave in and you know... it's fine. It's a full linux system in a window on your desktop, unless you want fullscreen then it's just being on a linux system.
I hate Microsoft for so many things but they did a pretty good job on WSL.
akik@reddit
I found a way to run Gnome in WSL 2 using WSL 2's Xwayland. I've documented the setup in https://akik.kapsi.fi/rocky/
idontliketopick@reddit
You don't even need an x server on 11 now, it's just baked in. And it just works too. It's incredible.
BinkReddit@reddit
I wouldn't go as far as to say incredible, but ChromeOS has had this via crostini for a while.
aliendude5300@reddit
ChromeOS is different - it is running Linux apps on Linux via containerization. Windows is using a VM.
BinkReddit@reddit
Crostini is actually using a container within a VM.
Pay08@reddit
Does it support multiple monitors?
MercilessPinkbelly@reddit
Dunno, I only have one. Google probably knows.
tslaq_lurker@reddit
Can you? Is this new? I have never been able to get even i3 to run properly in WSL, let alone a full DE.
idontliketopick@reddit
That's curious. I've been able to run a full XFCE environment since WSL1. I wonder what's different about i3, i e never used it.
Dull_Cucumber_3908@reddit
Working on WSL2 should be the same as working on a terminal only linux installation. If you are OK with that then I can't imagine any other reason.
Saxers@reddit
WSL2 supports gui applications
Dull_Cucumber_3908@reddit
OK! Thanks for the info. As I mentioned in my comment "I don't use WSL2 nor windows and I'm just guessing/assuming here."
itistheblurstoftimes@reddit
Not a very helpful comment then, was it?
ominous_anonymous@reddit
Both WSL (with e.g., XMing) and WSL2 support GUI applications.
Dull_Cucumber_3908@reddit
I mentioned it that I'm just guessing because I don't use WSL2
ominous_anonymous@reddit
In an edit of a comment that shouldn't have been made in the first place because you were, as you yourself say, just guessing.
Dull_Cucumber_3908@reddit
OK! Sue me! :p
100GHz@reddit
I used to run something custom and very io intensive years ago. Windows + cygwin was 30% slower than Linux.
I am not sure where it's now.
So, I guess, benchmark both and see what the differences are and if they are acceptable.
AutoModerator@reddit
We've identified this post as a "vs" post, where you're looking for a comparison for two distro's. While your experience is welcome, this post was filtered at a low level of content that likely means it didn't have enough of your experience on a distro to remain here.
Please visit r/findmeadistro and discuss this post there.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
ahferroin7@reddit
Do you need to do any kind of low-level hardware access from Linux? If the answer is yes, then you can probably not do what you want from WSL2 (and definitely can’t from classic WSL). Short of some limited USB and block device pass through, there’s no real way with WSL2 to interact with hardware directly.
Do you need things to be persistent independent of user sessions? If the answer is yes, then WSL2 will not work for you. It’s inherently tied to specific user sessions, so you can’t do things like run services persistently in WSL2 (so, for example, you can’t use it to run a webserver that operates as a system service instead of some ad-hoc thing tied to your user session).
Those are really the two major issues. Cross-boundary IO is also really bad (Windows already has horrible IO performance, but it’s even worse here), so any workflow that relies on sharing files between the environments is likely to be rather painful, but it’s still doable.
nous_serons_libre@reddit
In addition to all its limitations, why run the system that runs the best (better memory management, better process management) without an untimely restart request on the system that has all these problems?
Just compare a linux uptime vs a window....
It seems smarter to me to run the unstable system on the stable system. If it is really necessary to have Windows just put it in a virtualbox.
elatllat@reddit
Run a file system benchmark from WSL2, it's quite slow.
mikkolukas@reddit
No it is not.
File operations BETWEEN Windows and WSL is incredibly slow, but as long as you don't cross that border everything is fine.
elatllat@reddit
I agree, also nothing is slower than Windows upgrade, so avoid both by banishing Windows to KVM.
TurbulentSquirrel804@reddit
I used WSL2 until I found a reason to dual boot (yeah it’d been ages, but dual booting in 2024 is pretty easy). For me, the reason was running local LLMs. WSL does a great job of passing my Nvidia GPU through to WSL (I guess it’s technically partitioning it?) but I had trouble running certain models and resolving some python dependencies when I was using WSL instead of native Ubuntu. Very likely could have just been me, but when you’re trying to push your existing knowledge in a topic, it’s hard to fight unrelated complications at the same time. So yeah, popped another M.2 drive in my PC, loaded up Ubuntu, and dual-booting for the first time since I heard of virtualization.
M320_Trololol@reddit
I used a windows 10/11 laptop privately for years and also at work, and I really liked working with WSL, especially WSL2. The only issue I ever had that I just didn’t know how to fix was that it was difficult (not impossible!) to work with USB devices. For example, recently I was working on a project with a raspberry pi pico and tinygo. That said, you can always just install interface software for that on windows and then invoke those programs from WSL. It’s just not quite as easy as with a native Linux install or (pardon me, I am ashamed for it) macOS.
halfanothersdozen@reddit
Intellij was broken for me in wsl 2 on Windows. Pissed me off
Spare-Dig4790@reddit
Luckily, Intillij is Java, works perfectly fine in Windows, and WSL is perectly accessible by any running Windows app. :)
halfanothersdozen@reddit
yes that's what broke
-MPR-@reddit
This. Plus running Wsl2 means you are running in a VM with limited resources as opposed to bare metal on Linux
tomscharbach@reddit
I've been using Windows and Ubuntu in parallel, on different computers, for over 15 years -- Windows for MS 365 collaboration, Photoshop and AutoCAD, and Ubuntu for network design, implementation, testing and maintenance.
I've been experimenting with using Ubuntu/WSL2 for my network use case, and as far as I can tell, Ubuntu/WSL2 is a good fit and works flawlessly. I will probably cut over from Ubuntu native to Ubuntu WSL2 within a few months.
Use whatever method works best for your use case and workflow.
Adorable_Compote4418@reddit (OP)
I mostly do ETL prototyping and development. I'm just tired of waiting because everything get bottlenecked through the NIC between workstation and vmware server (Windows Server replicating customer infrastructures). The idea is I will able to load from Hyper-V VM to Linux WSL2 through the memory subsystem (hyper-v NIC)
domsch1988@reddit
So, i do all versions on a daily basis. My Work Laptop Is Windows 11 with WSL2. My Personal Rig is Bare Metal Arch and a Windows 11 Install for gaming.
Which underlying OS you choose is up to you. For most of us, the reason not to transfer back to windows is, that we prefer Linux as an OS. With that said, at work i have to use Windows and often WSL2 is a better experience than native Windows. I do all my Ansible, Emacs and git stuff in a Arch WSL Instance. Emacs through WSL is a LOT better than native Windows Emacs. Same goes for neovim and a lot of other tools. Plus, ansible-lint isn't even available for windows.
So, for me personally, have WSL allows me to use my tools of choice while complying with our IT and still having all of MS Software work just fine. If i didn't have to run Windows for work though, i'd switch to native Linux instantly. Just one less layer to deal with.
At home, i only boot into Windows to play League and Fortnite with some Friends.
All of that not becuase i think windows is bad. It isn't. I just prefer how Linux works. If you don't, feel free to go back to windows and use WSL for the Linux tools you want.
RustyTheCynical@reddit
If you only use Linux for work and nothing else then go ahead and move the Linux to wsl or maybe an actual VM. 🫡
hsm_dev@reddit
I also enjoy using WSL a lot.
I have made a process where I use a docker container to generate the filesystem and import it for my own custom Arch based WSL Distro and it works out really well and makes it easy for me to re-create or clone a clean base if I need to.
I would say the main thing you miss only using WSL for your terminal needs is all the desktop stuff. For example the flexibility and choice in tools like your Window Manager etc.
Another thing that is less great in my experience is if you heavily need GUI based apps. While they can run through all the WSL dark magic that Microsoft can route it through for you, it can feel a tiny bit clunky.
For just having my whole terminal based workflow I love having WSL available. But for everything else around my workflow, I miss the ability and flexibility of the Linux WM system to round out my workflow.
zawias92@reddit
If you dont game / need any software unavailable for Linux (like Adobe), then theres no reason to use windows tbh.
deaf-dealer@reddit
i looove wsl2, but there's no GPU passthrough for AMD GPUs yet so that's maybe something you should be aware of.
Adorable_Compote4418@reddit (OP)
So it seem that the only possible limitation would be file system IO bottleneck. Will do some benchmarks tomorrow for sure
macromorgan@reddit
I have hundreds of kernel commits to my name. 100% of them were written on Windows via WSL/WSL2.
GuiiuG_@reddit
Use wsl at work cause laptop company are all in Windows. For embedded c++ dev we constat that some compilation and program running was 50 times quicker in wsl vs windows, this difference is so huge ! But, for that you have to copy your source guess inside your Linux environment, not use a mounted path to windows. Sometimes if a gui app is needed this not a big problem, it works over wsl. For all that command line stuff and ressources consuming task like building binaries, wsl is really a good tool.
idontliketopick@reddit
With win 11 native support for GUI now and the better integration if WSL in the file explorer win 11 feels closer to developing on a Mac now. I get all the CLI tools I can't live without but also a desktop environment that most everything works in.
I still prefer to be in Linux full time but work doesn't let me. If that kind of environment appeals to you though then by all means go with it.
BinkReddit@reddit
How about just use what you like? I don't know that the 10% advantage in a particular benchmark is going to translate very far into your normal workflow. After using Windows 11 for the first time several months ago, I decided I'm never going back to Windows if I have a choice, but that's me and, well, I'm not you.
omniuni@reddit
I think you're asking the wrong question.
Choose whatever will give you the best overall workflow. If you need to run Windows software, then yes, it's probably better than switching back and forth.
If what you can do, you can do directly on Linux without having to run through a compatibility layer, you'll have more resources available on your system overall and won't have to deal with the added complexity of Windows itself.