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

I would do it the other way round: use Windows in a virtual machine from Linux. If you are in Windows and have the urge to use Linux, do the proper switch once and for all. You will never look back. I haven't in almost 15 years.

Given what Windows has become and already discussed here on HN I would even hesitate to run it in a virtual machine.

Edit: more than 15 years.



Except that if you require anything that is GPU-related (like gaming, Adobe suite apps, etc) you'll need to have a secondary GPU to passthrough it to the VM, which is not something that everyone has.

So, if you don't have a secondary GPU, you'll need to live without graphics acceleration in the VM... so for a lot of people the "oh you just need to use a VM!" solution is not feasible, because most of the software that people want to use that does not run under WINE do require graphics acceleration.

I tried running Photoshop under a VM, but the performance of the QEMU QXL driver is bad, and VirGL does not support Windows guests yet.

VMWare and VirtualBox do have better graphics drivers that do support Windows. I tried using VMWare and the performance was "ok", but still not near the performance of Photoshop on "bare metal".


People throw around the ideas of VMs or WINE like it's trivial. It's really not.


On linux it's quite trivial. KVM is part of the kernel. Installing libvirt and virt-manager makes it really easy to create vms.

I'd say even passing through a GPU is not that hard these days though maybe that depends on hardware configuration more.


“On Linux it’s quite trivial…” giving big

“ or a Linux user, you can already build such a system yourself quite trivially by getting an FTP account, mounting it locally with curlftpfs, and then using SVN or CVS on the mounted filesystem. From Windows or Mac, this FTP account could be accessed through built-in software.”[1] vibes.

Convenience features in software are huge and even if a system is well designed a system that abstracts it all away and does it for you is easier, and most new users want that, so it often wins. Worse is better etc

[1] https://news.ycombinator.com/item?id=9224


The comment you linked is one of the most misunderstood comments on this site, which makes sense because it's one of the most cited comments on this site.

https://news.ycombinator.com/item?id=23229275

This probably isn't even the best dang comment about the situation, it's just the one I could find quickly.


Perhaps I should have put a larger explanation around it but I am mocking neither sureglymop nor BrandonM but we can still learn lessons from hindsight.

Sure, it’s trivial to set the switch in BIOS for virtualisation, and download a couple of libraries but people like computers doing things for us, we like abstractions even if they sacrifice flexibility because they facilitate whatever the real world application we are attempting.

I think power users of any technology will generally overvalue things that 80% to 95% of the user base simply don’t care about.

I admit that having touched Windows twice in the last 5 years I wouldn’t know but I would be willing to wager that WSL has very few drawbacks or shortcomings in the minds of most of its users.


Also sometimes the harder approach is also not as capable as some people make it out to be, and there are some unsolved caveats.


I don't see what's misunderstood about it, but also it's not right to make fun of the user for it.


Because it's only silly sounding because of hindsight. With today's context of file sync applications being a huge industry, that comment seems silly. But that was the prevailing opinion at the time. Check out this blog post: https://www.joelonsoftware.com/2008/05/01/architecture-astro...

>Jeez, we’ve had that forever. When did the first sync web sites start coming out? 1999? There were a million versions. xdrive, mydrive, idrive, youdrive, wealldrive for ice cream. Nobody cared then and nobody cares now, because synchronizing files is just not a killer application. I’m sorry. It seems like it should be. But it’s not.

That's just what a lot of competent people thought back then. It seems hilariously out of touch now.


But it wasn't my opinion at the time, and I didn't hear from those people. I was in middle school, kids were commonly frustrated syncing their homework to/from a flash drive, family members wanted to sync photos, and everyone wanted something like this.

Before Dropbox, the closest thing we had was "the dropbox," a default network-shared write-only folder on Mac. Of course you could port-forward to a computer at home that never sleeps, but I knew that wasn't a common solution. I started using Dropbox the same month it came out.


I'm happy for you :)


The future is rarely made by people who are comfortable with the status quo. That’s the only thing we can get from this.


His comment appears to me to say "please don't bother my friend". Him saying that file sync "wasn't common knowledge at the time"...ok? It is much easier than the solution the commenter proposed. In this thread, it's the same, people are proposing a complex solution as if it's trivial just because it is trivial to them.


Even the described FTP-based Dropbox replacement is easier than getting a VM to work properly with DRM'd software and/or GPU acceleration.


Really? With GNOME Boxes it's pretty straightforward. I hear KDE is getting an equivalent soon, too.


You can do GPU passthrough in a Gnome box, as in, your VM can see the host's GPU (let's say Nvidia) and it works exactly the same as on the host? Or another metric is if you can run Photoshop in a VM with full hardware acceleration. I haven't tried Gnome box in particular, but this isn't what I'm seeing when I search.


Ah, yeah, seems like I was mistaken and maybe Red Hat's virt-manager was what I was thinking of.

virt-manager is a bit more involved than GNOME's Boxes, I'm not sure I could recommend it to someone that doesn't know what they're doing.


Yeah, reading your original comment I was about to go off until I saw GPU pass through with DRM software. Highly cursed.


Yep, regular VMs where you basically only care about the CPU and RAM are easy, provided nothing in the VM is trying to not run in a VM. USB and network emulation used to be jagged edges, but that was fixed. VirtualBox was my go-to. It never had great GPU support, but the rest was easy.

I'm pretty sure there are solutions to assign an entire GPU to a VM, which ofc is only useful if you have multiple. But those are specialized.


Yeah! Even as a dev who can navigate vim, I absolutely don't want to do that on a daily basis. Give me pretty GUIs and some automation!


Not even close. I mentioned a software package that literally offers a full gui for all your virtualization needs.. how is that comparable to the things mentioned in that comment?


That really depends on what you want to run. Dipping into a Linux laptop lately (Mint) there are things, old things (think 1996-1999) that somehow "just work" out of box on Windows 10, but configuring them to work under WINE is a huge PITA coming with loads of caveats, workarounds and silent crashes.


The silent crashes get me. Also running one exe spawns a lot of wine/wineserver/wine-preloaded processes.


Tried doing 3d modeling in a Windows VM - couldn't get acceleration to pass through.


What 3D modelling were you doing that couldn't be done on linux?


Fusion360 doesn't work on Linux. Or at least I tried multiple times and couldn't get it to work


Really? I recall installing it 3 years ago, and aside from some oddities with popups, it worked just fine. I think it was this script [0]. I don't know if they broke it, I switched to OpenSCAD, which meets my needs.

[0] https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux


Mostly having software better than FreeCAD, AKA everything that exists on Windows and macOS.


I needed to use Rhino 3D specifically because it had an environmental simulation plugin.


None of your business.


I'm hoping that IOMMU capability will be included in consumer graphics cards soon, which would help with this iirc there are rumors of upcoming Intel and AMD cards including it


Quite a lot of people have both integrated Intel graphics and a discrete AMD/NVidia card.


Sadly I'm not one of those people because I have a desktop with an AMD Ryzen 7 5800X3D, which does not have an integrated graphics card.

However now that AMD is including integrated GPUs on every AM5 consumer CPU (if I'm not mistaken?), maybe VMs with passthrough will be more common, without requiring people to spend a lot of money buying a secondary GPU.


Yes, my Ryzen 7600 has an integrated GPU enabled. AMD's iGPUs are really impressive and powerful, but I do not have any idea what to do with it and despite that I moved to an Nvidia GPU (after 20 years of fanboyism) specifically because I was tired of AMD drivers being terrible on Windows, I STILL have to deal with AMD drivers because of that damn iGPU.

I could disable it I guess. It could provide 0.05% faster rendering if I ever get back into blender.


AMD has SRIOV on the roadmap for consumer gpus which hopefully makes things easier in the future for gpu accelerated VMs

https://www.phoronix.com/news/AMD-GIM-Open-Source

Windows can run GPU accelerated Windows VMs with paravirtualization. But I have no use case for two Windows machines sharing a GPU.


There is also native context for VirtIO, but for now Windows support is still not planned.

Also note some brave soul implemented 3D support on KVM for Windows. Still in the works and WinUI apps crash for some reason.


Anything GPU related isn't great in WSL either.


True, but I don't have the need to run applications that require GPU under WSL, while I do need to run applications that require the GPU under my current host OS. (and those applications do not run under Linux)


I don’t know why there aren’t full fledged computers in a GPU sized package. Just run windows on your GPU, Linux on your main cpu. There’s some challenges to overcome but I think it would be nice to be able to extend your arm PC with an x86 expansion, or extend your x86 PC with an ARM extension. Ditto for graphics, or other hardware accelerators


There are computers that size, but I guess you mean with a male PCIe plug on them?

If the card is running its own OS, what's the benefit of combining them that way? A high speed networking link will get you similar results and is flexible and cheap.

If the card isn't running its own OS, it's much easier to put all the CPU cores in the same socket. And the demand for both x86 and Arm cores at the same time is not very high.


Yes, with pci-e fingers on the ‘motherboard’ of the daughter computer. Like a pci-e carrier for the RPI compute.

Good point about high speed networking. I guess that’s a lot more straightforward.


You may be interested in SmartNICs/DPUs. They're essentially NICs with an on-board full computer. NVIDIA makes an ARM DPU line, and you can pick up the older gen BlueField 2's on eBay for about $400.


> full fledged computers in a GPU sized package

.. isn't this just a laptop or a NUC? Isn't there a massive disadvantage in having to share a case or god forbid a PCIe bus with another computer?


There is ongoing work on supporting paravirtualized GPUs with Windows drivers. This is not hardware-based GPU virtualization, and it supports Vulkan in the host and guest not just OpenGL; the host-based side is already supported within QEMU.


I completely gave up on WINEing Adobe software but I didn't know about the second GPU thing, I thought it was totally impossible. Thank you!

I will do anything to avoid Windows but I miss Premiere.


> I would do it the other way round: use Windows in a virtual machine from Linux.

Every Windows thread on HN is a reminder of the stark divide between people who need to use Windows for productivity apps and those who don’t.

The apps I need a Windows machine for are not the kind that virtualize nicely. Anything GPU related means Windows has to become the base OS for me.

If you’re running an occasional light tool you can get away with Windows in a VM, but it’s a no-go for things like CAD or games.


Windows in a vm with a passed through GPU is really nice. Although still pretty niche these days it's easier than it used to be. It also works with a single GPU, e.g. on a laptop.

I personally have a desktop PC with an AMD GPU and then another Nvidia GPU that I pass through to windows hosts. I have a hook that changes the display output and switches the inputs using evdev.


It's really nice if you have two seperate GPUs in your computer?


Most computers do. All laptops and most desktops have an integrated GPU on the CPU.


That's the first. Do you have sources most have more?


He’s right. Laptops have integrated graphics, but all mid-tier and higher laptops also have a dedicated GPU. Desktops are similar, though my guess is a lot of business desktops have only the integrated graphics.


As I mentioned, can be done with a single GPU as well, just makes it a bit more complicated to set up.


I prefer to just have two (or three) GPUs than have Windows as the base OS.


If you can GPU passthrough (it's quite simple to set up), this is not a large issue. You're right that Linux is sorely lacking in native creative software though!


> who need to use Windows for productivity apps and those who don’t.

LibreOffice has gotten quite good over the years, including decent(ish) MSO file format interoperability, and Thunderbird seems to support Exchange Server.

So, I suppose things like MS Project or MS Visio many not have decent counterparts (maybe, I don't really know), but otherwise, it seems like you don't need-need to use Windows for productivity apps.


Last I looked, Thunderbird used Exchange Web Services to connect to Office365 which Microsoft is getting rid of: https://techcommunity.microsoft.com/blog/exchange/retirement... (I point out Office365 since vast majority of "Exchange" users are on 365)

It also only support email and not calendaring/contacts.

That being said, Office365 Web Client is pretty good at this point and someone who doesn't live in Office all day can probably get along fine with it.


Counterpoint: things like the Valve Index for VR simply don't behave well in this environment no matter how much I've worked on getting it there.

I'm not a novice either, $dayjob has me working on the lowest levels of Linux on a daily basis. I did linux from scratch on a Pentium 2 when I was 12. All that to say yes I happen to agree but edge cases are out there. The blanket statement doesn't apply for all use cases


IMO this is the real blindspot: it's VR support, not Photoshop, or MS Office, or CAD tools (all of which I've got running fine via Wine). I'm guessing the intersection between VR users and Wine users must be really small and I suspect it's because of this that support is so lacking.


And even more worse with the Vive Pro 2 by HTC which needs a special Windows tool to use all it capabilities...

I would have switched over to Linux if it wouldn't be because of that one.


I used Linux as my daily driver for years, before finally switching back to Windows, and then to the Mac. I got tired of things like wine breaking on apps, I got tired of the half-assed replacements for software available on Windows, like GIMP compared to Photoshop. I got tired of the ugly desktop that inevitably occurs once you start needing to mix QT and GTK based apps. Linux is not a panacea.


I love how subjective these things are.

I hate the half assed commercialised approached for software on both Mac and Windows where you download 50mb+ of electron bullshit for a bash 2 liner with default tools on Linux.

Mostly for windows but when I installed 5+ tools from untrustworthy websites (which they all look like if you aren't used to that) it feels like my computer is likely forever busted with some scamware. But there is no dd, no proper editor, no removing adware and "news" without these tools.

On windows if you want to configure something it's like going into a computer museum where you start in the metro area and end up in UIs straight out of win 95. That's better on Mac, but the UI is depressing (in my opinion) and I always had the feeling my Mac wouldn't need to run that hot if it wouldn't draw shadows, mirroring and weird effects I haven't asked for.

That said. Linux is not a panacea


Running Windows from a ZFS partition with its own dedicated GPU, viewed through looking-glass on the Linux host at 1440p@120Hz, has been super useful.

I set it up originally for gaming, but nowaways I install a lot of disposable software there.

I use Linux guests VMs too (a la Qubes), but sadly there's no guest support for looking-glass on Linux. Native rendering speeds on VMs are something hard to let go.


The big difference is hardware access.

I used to do VFIO with hardware passthrough so I could have linux but still run windows software like CAD that takes advantage of the gfx card. That was a pain to set up and use.

The other way, its very simple. WSL2 can run ML tasks with just a tiny bit of overhead in moving the data to the card.


PyTorch and most of other ML stuff have native Windows ports.


Yes but the point is to not do dev on windows, because window "terminal" sucks


Related: https://www.microsoft.com/en-us/evalcenter/evaluate-windows-... (edit: not https://developer.microsoft.com/en-us/windows/downloads/virt...)

> We currently package our virtual machines for four different virtualization software options: Hyper-V (Gen2), Parallels, VirtualBox, and VMware. These virtual machines contain an evaluation version of Windows that expires on the date posted. If the evaluation period expires, the desktop background will turn black, you will see a persistent desktop notification indicating that the system is not genuine, and the PC will shut down every hour.

Edit: Oops, dead link -- the dev tools evaluation VM hasn't been released for 6+ months. But they do offer Windows evaluations ISO's after registration.


That's how I do it. I don't see the draw for Windows as the main OS, especially with Windows 10+ being dumbed down beyond belief and having seconds of lag to do anything at all. Seems even from this thread that people just want the convenience of a gaming rig in the same box as their work (which is a security issue because games are full of remote code execution vulnerabilities).


It's funny, more than any productivity app (though I do have a few of those), the Directory Opus [1] Explorer replacement is one of the things that I've yet to find a viable replacement for on both Linux and macOS. Unparalleled customisability, scriptable actions, outstanding performance (thumbnailing 10,000 images in a folder never causes slowdown), incredible search and "huh, why doesn't anyone else do this" features everywhere. I use my file explorer a lot so the friction is felt daily.

I'm using Forklift [2] on my mac at work, but it's a pale imitation of what a file explorer can truly be. I did some searching for Linux but it's all pretty pedestrian.

[1]: https://www.gpsoft.com.au/ [2]: https://binarynights.com/


I've considered it, but there are two Windows features I need that sound like they'd require some time investment to set up correctly on linux.

1. I use UWF on windows (Education Edition). All disk writes to C:/ are ephemeral. On every single reboot, all changes are discarded and my pc is back to the exact same state as when I first set it up. I do keep a separate partition for documents that need persistence.

2. Miracast for screen mirroring.


as for 1. if you ever have some free time on your hands, and want to take declarative configs to the next level, you can check out Impermanence for NixOS: https://news.ycombinator.com/item?id=37218289

and 2...hm I know i've done Miracast before with GNOME Network Displays https://flathub.org/apps/org.gnome.NetworkDisplays


(1) can be done with little to no configuration on default live images of like, every single distribution.


I feel like every conversation about this is the bell curve/midwit meme[1], with the middle being the argument over “Windows VM on Linux” and “Linux VM on windows”, and the edges being “own multiple computers”.

[1] https://knowyourmeme.com/memes/iq-bell-curve-midwit


Right! Use Linux, because it is your preference [1]. It doesn't cause harm (side-effects: incompatibility and vendor lock-in, due to mass-effect) to others.

We need to remember why Microsoft uses WSL. Microsoft wants to prevent users (i.e. developers) to migrate on Linux. It is the old approach Embrace, Extend, and Extinguish [2].

Monopolies are made by users and politics, because we don't consider vendor lock-in and mass-effect. I wish strong regulation for all information-technology. We saw the wonderful effects of regulation with AT&T {UNIX, C, Open-Source, Open-Documentation} and then a mistake was done. The company was split up, looking back a complete failure.

    [1] Means: It is a better operating-system and adapt to users needs. Either novice user or programmer.
    [2] https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguish


That's sort of what Wine does. That's how I run the occasional Windows program on Linux.


That works pretty well except for gaming. A lot of games detect if they are running in a VM and refuse to let you play, as an anti-cheat measure.


I always have Windows on Parallels on a Mac, too – unfortunately VirtualBox for arm64 Mac isn't quite there yet.


I think the biggest problem with VirtualBox on arm64 is that it is only for arm64 guests, unlike the qemu-system-x86_64 which colima et al use and allow booting up "normal" guest OSes

Also, VBoxManage was created by someone who firmly subscribes to the "git UX is awesome" school of thought :-(


It is slowly improving (albeit with some egregious bugs, like losing EFI data on export) but TBH even their x86 product pales in comparison to Parallels or VMWare Fusion, in terms of machine performance.


If you're in a corporate environment, you often don't have a choice wrt Windows as your primary desktop OS.


You haven't used Photoshop for 15 years?


Okay. Then you had a Mac. Then you need to run Linux in a VM anyway because similar to Windows, macOS is also a dumpster fire. Then why bother? You are going to have a Linux VM anyway. I usually just sync my VM disk between all my laptops & desktops, no matter what host OS it runs.




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

Search: