4 ms·
This project is only completed when you can recursively keep doing this forever, without it ever breaking.
by cyborgx7 7y ago
This project is only completed when you can recursively keep doing this forever, without it ever breaking.
- Danieru 7y agoAny CPU can only have one hypervisor running at a time. Thus the recursion stops pretty quick.
- Nullabillity 7y agoCygwin and Wine don't use virtualization. And even if they did, most hypervisors support nesting these days.
- ape4 7y agoBecause, of course, its not a emulator
- mschuster91 7y agoWhy? There's only one hypervisor involved for the initial "wine" environment.
- lnx01 7y agoNeither WINE nor WSLv1 use virtualisation. WSLv2 does use virtualisation however; but WINE still isn't a VM.
- mschuster91 7y agoI was referring to WSLv2 here, so technically there is a hypervisor involved at the root level hosting the first WINE instance in the chain. Further recursion WINE => Cygwin => WINE however will not require more nesting of hypervisors.
- intea 7y agoActually most modern hypervisors allow nested virtualization. https://www.linux-kvm.org/page/Nested_Guests https://www.linux-kvm.org/page/Nested_Guests https://communities.vmware.com/docs/DOC-8970 https://communities.vmware.com/docs/DOC-8970
- skissane 7y agoNot even just modern hypervisors. The IBM mainframe hypervisor z/VM (and its predecessor VM/CMS) has supported nested virtualisation for decades. It was an important tool to support its own development (especially considering that mainframes were expensive and not even IBM could afford to give every mainframe OS developer a whole mainframe to themselves.)
- bartvanH 7y agoWell, yes and no. On modern enough hardware you can do nested virtualisation, so you can run kvm in esxi on hyper-v if you want. Not that it's very usefull, but it is a fun weekend project nonetheless.
- jrockway 7y agoI use nested virtualization for Windows Desktop -> Linux VM -> minikube. Works great. Obviously you could just run minikube under Windows, but then from the Linux VM you can't "minikube ssh" and whatnot, so nested virtualization makes everything a lot simpler.
- monocasa 7y agoYou can even do nested virtualization without hardware support, it's just super duper slow and not a lot of hypervisors think it's worth the complexity increase.
- saint_abroad 7y agoIntel and AMD CPUs have supported hardware-accelerated nested virtualisation for quite some time now. https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/nested-virtualization https://docs.microsoft.com/en-us/virtualization/hyper-v-on-w... https://www.redhat.com/en/blog/inception-how-usable-are-nested-kvm-guests https://www.redhat.com/en/blog/inception-how-usable-are-nest...
- Tepix 7y agoWSL1 is not a "real" VM. https://blogs.msdn.microsoft.com/wsl/2016/05/23/pico-process-overview/ https://blogs.msdn.microsoft.com/wsl/2016/05/23/pico-process...
- aasasd 7y agoAside from all the other corrections, hardware virtualization support isn't necessary for virtualization.
- m3at 7y agoWe know how it would look like! Here is a nice illustration: https://m.xkcd.com/1764/ https://m.xkcd.com/1764/
- rwmj 7y agoThat's a thing already: http://git.annexia.org/?p=supernested.git;a=summary http://git.annexia.org/?p=supernested.git;a=summary
- johnsoft 7y agoI tried following those steps and got this error: https://www.betaarchive.com/imageupload/1299034742.or.31168.png https://www.betaarchive.com/imageupload/1299034742.or.31168.... Does anyone know of a workaround?
- coldpie 7y agoTo tie this back to Wine, here is what we actually do during some parts of the Proton[1] build process: Run a Debian 9 VM, inside of which we run an Ubuntu 12.04 Docker container (the Steam runtime), which runs an Arch Linux chroot in order to gain a modern cross-compiler. It's a doozy[2]! [1] Proton is Valve's fork of Wine which ships with the Linux Steam client. [2] https://github.com/ValveSoftware/Proton/commit/d68e71bed61c822e2e3ecde481d718b9d0213d52 https://github.com/ValveSoftware/Proton/commit/d68e71bed61c8...
- rat9988 7y agoMay I ask why you need that many distributions? It really looks interesting.
- coldpie 7y agoDebian 9 for the Vagrant VM, because it was modern at the time (probably upgrading it to Debian 10 soon). Ubuntu 12.04 because that's what the Steam runtime uses, because it was modern at the time and upgrading while maintaining binary compatibility is Hard. Arch Linux because building a modern cross-compiler on Debian/Ubuntu is Hard. What, did you want good reasons? :)
- MrRadar 7y agoHave you seen The Birth and Death of Javascript? https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript https://www.destroyallsoftware.com/talks/the-birth-and-death...