Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

If only they could come up with a WSL2 Hyper-V workaround.


Its not just WSL2, its anything that makes use of hyper-v like docker for windows IIRC


The release notes for 6.0 (the release prior to this one) contain:

“Added support for using Hyper-V as the fallback execution core on Windows host, to avoid inability to run VMs at the price of reduced performance“

Is that the workaround you’re looking for? It seems like it comes at a cost, but workarounds often do.


FWIW I was excited about this in 6.0 but never actually got it to work with Hyper-V. It may be a hardware issue on my side (my CPU is ~6 years old and doesn’t support some VM features) but I’ve also seen a lot of other people say that 6.0 changed nothing for them in regards to Hyper-V compatibility.


If only Hyper-V didn't screw all other virtualization solutions.


How about you just use Linux, and then you don't have to run it in a slowed down buggy hypervisor? Also, Docker then works too natively.


I wish I could but several clients only use Windows computers so I have to use the Linux subsystem to make my dev environment a bit more bearable.


This is basically how Microsoft is taking over Linux. It has already started and the few of us that saw it coming since day one can't do anything about that.


Another option is to use Linux and try your best to run essential Windows software using Wine or in a VM, that way you can play in the Windows-world without being committed to it. It "Works For Me"...


Can't do that either. They give you their laptops without access to install extra things unless you call someone from their helpdesk.


[flagged]


If you work in software development you ought to know that "just use X" is often not an acceptable solution for many reasons. Quick example: maybe you develop a windows heavy client with a linux backend and want to test it locally. Then you have a choice to have either (relatively) poorly performing Windows VM or linux VM. As backend is usually way lighter and your IDE is probably Windows native too, you should run this on Windows.


Why not just run inside KVM on Linux, and why use a bloated windows framework and toolkit? Qt is a great example of a cross-platform framework that doesn't require a lot of dependencies. However, you could also just build a PWA. If you're going to use bloated proprietary frameworks, why even use Linux at all?


I hope this is sarcastic because it illustrates my point perfectly. Qt is a great cross platform framework but maybe you are not developing a cross platform application? Maybe you actually prefer native look and feel (I do for example). Maybe you are developing an app that must be published on the Windows store or work in Kiosk Mode (all of which require you to build on top of the native UI framework).

> If you're going to use bloated proprietary frameworks, why even use Linux at all?

You could as well rephrase your question as "Why not use the most appropriate tool for each part of the software?" Linux servers have the advantage of being supported by all major providers (including Microsoft), they scale well, have good security, have low footprint...

Also as much as I dislike Windows I must say that their UI frameworks are not bloated and arguably work better than cross platform solutions. You mentioned PWA's which come with an enormous bagage (e.g.: they are throwing native look and feel completely out of the window).


I think this is what the parent means by "just use X". You are saying to someone to change their whole development environment to Qt. (I like and have developed a commercial product in Qt)


...and applications you want to run


And lots of telemetry too. It's a mixed-bag really.


Can you clarify what you mean?


I believe the problem is that if you're running WSL2, you're automatically running Hyper-V, which monopolizes hardware virtualization on the machine, so you can't run VirtualBox, VMware, etc.


VMware are doing some work to integrate with the Windows Hypervisor platform (https://docs.microsoft.com/en-us/virtualization/api/hypervis...). IIRC they have a release coming early next year that will allow VMware Workstation and Hyper-V to coexist. I suspect other tools also need to support that if they want to run side-by-side with Hyper-V.

EDIT: More info at https://blogs.vmware.com/workstation/2019/08/workstation-hyp... and https://techcommunity.microsoft.com/t5/Virtualization/VMware....


Wait, it's not a kernel personality anymore?


They've moved away from that due to complaints about I/O performance. There was no way to "fix" it without the hyper-V shim.

https://devblogs.microsoft.com/commandline/announcing-wsl-2/


WSL was a failed attempt by Microsoft, WSL2 will not be any better. Look at the problems it is causing for people already, and it isn't even GA yet.


WSL2 now uses an actual virtualized linux kernel because the performance and compatibility are both better.


I'm confused how the performance can be better. There's two competing kernels that both think they're running the system, how can that not be slower than mapping some POSIX calls over?

I mean I trust that it's true, and I'd love to understand why :D


Because there's fundamental issues with POSIX use cases and NT's VFS(well, IFS), and cache layers.

Basically the block cache on NT exists between user space and the filesystem, not the filesystem and the block device. For metadata heavy ops (like open(), stat(), etc.) the regular cache isn't in play, and the little caches in the NTFS driver aren't nearly as smart as the regular cache layer. You could stick a cache between NTFS and the IO driver, but that would mean heavily changing the IFS interface, and heavily changing the NTFS driver itself. Unfortunately, the NTFS driver has been referred to as "a purple opium-fueled Victorian horror novel that uses global recursive locks and SEH [Structured Exception Handling] for flow control" by a kernel dev. I can't even imagine how scary adding a cache layer under it might be.


It's because there's some serious mismatches in how a lot of the APIs work that causes it. Raw compute performance is slightly slower this way, but the better match for IO and other systems make the overall performance and experience much much better in the end.


That's odd because NT debuted with a Posix "personality," so it must have been taken into account with the original design. Processor independence was another goal, though abandoned for a long time.

In other words, they should have taken this into account unless the personality thing was just for show.


This is covered in https://en.wikipedia.org/wiki/Microsoft_POSIX_subsystem. Version history:

The POSIX subsystem was replaced in Windows XP and Windows Server 2003 by "Windows Services for UNIX", (SFU) which is based in part on technology Microsoft acquired by buying Interix. SFU was removed from later versions of Windows 8 and Windows Server 2012. SFU is logically, though not formally, replaced by the Windows Subsystem for Linux (WSL) in the Windows 10 Anniversary Update and Windows Server 2016 Version 1709 respectively.

I agree that this was originally mostly for show since the customer base was very specific. That was a different time and place from now. I guess WSL started as an experiment to see how they could serve customers, was validated to some degree, and now they need to perfect it. A lot of related work on the Windows Console is now open source so I take that as a demonstration of how serious they are, but I don't expect it all to be open source. Maybe they'll surprise us.


Neither are running the system. When you install HyperV your Windows installation is virtualized, so both Windows and WSL are running as VMs.


Sort of. The Windows side has direct access to the hard drive, AFAIK.


WSL2 uses hypervisor in a way which makes Virtualbox (or any other VM manager) unusable.


The same happens with Device Guard/Credential Guard, it monopolizes the hypervisor.


HyperV is different virtualization technologoy compared to Virtuakbox and most others. It actually virtualizes everything, whereas others typically are a level higher up. It seems both at the same time often doesn't work that well.


WSL is a Microsoft project, it's not the sole responsibility of Oracle to maintain a WSL alternative.


I don't think the comment you are responding to means that Oracle should make something like WSL. It is probably saying that WSL2 requires hyper-v to be enabled which prevents Virtualbox from running, and it would be good if Oracle had a workaround for this.


This. Vbox won’t run if Hyper-V is enabled, and Docker / WSL2 won’t work without Hyper-V. True for me on vbox 6.0.14, it just crashes the VM with a cryptic error.

Workaround is not easy, hyper-v had a different feature set for networking and shared folders (not sure the latter is directly possible) as well as using different disk image formats.


Why would Oracle fix Microsoft's bugs and crappy implementation?


That's _Intel's_ implementation - only one hypervisor may control Virtualization even on your beloved Linux e.g.: https://unix.stackexchange.com/questions/149416/run-avd-and-... or just search on how people can't run kvm and vbox at the same time.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: