3 ms·
I've used Linux full-time for 11 years; booted into Windows about once or twice a year to try out a game, and had a Windows VM for photo editing (DxO doesn't wo
by cookiecaper 10y ago
I've used Linux full-time for 11 years; booted into Windows about once or twice a year to try out a game, and had a Windows VM for photo editing (DxO doesn't work in WINE, and afaik, there are no good replacements for it). Just a couple of months ago I switched to Windows as the host OS and Linux in a VM running in the background 24x7 (off the raw disks, so I am virtualizing the same system that I ran as my host OS, which meant I didn't have to spend time re-installing and re-configuring everything).
As a long-time Linux die-hard who passed so many applications by because they didn't work well in WINE and/or virtualized Windows, it pained me to switch, but Linux is much more cooperative as a VM than Windows is (and it also pains me to "reward" Windows's bad behavior with the position of host OS). With appropriate tweaking (Dexpot) and a good terminal (ConEmu+Cygwin for SSH to my VM), Windows is basically just like a DE that can play new games (Overwatch, woot!) and run my photo editing software 5x faster than it ran in VM.
- rconti 10y agoSeems like OS X is the perfect solution to this. I used Linux on the desktop exclusively from 1995 to 2002 but haven't run it on the desktop since. (I still manage fleets of Linux servers of course). I simply don't see any value in desktop Linux for my job, and using Windows makes it too hard (like trying to build a ship in a bottle). YMMV, of course, depending on your work.
- cookiecaper 10y agoI've had occasion to use OS X here and there over this time period, and unfortunately I don't think it's a great solution. The first problem is that I'd be locked into Apple hardware, which is not something I'm interested in. Nothing personal against Apple hardware, as there are certainly pleasant things about it, but it's not what I want. For example, one of the only reasons I can do this is because I have a custom x86 build that accommodates it with a lot of disk space and a lot of RAM. The second problem is that I've found OS X kind of inhabits an uncanny valley, where at first glance it looks great, but after using it for a while, you find a lot of small tics that are offputting. It does provide some nice traditional star-nix utilities and has some POSIX compatibility, but many things seem to have a bunch of little problems and incompatibilities that one has to get in there and address if the project doesn't already provide a Mac installer that does this for you. This may not sound like a big deal, but sometimes these "little incompatibilities" are showstoppers and sometimes they just take extra hours to get working. And each year, OS X is getting worse; the compatibility takes a hit, the system gets more and more locked down, and sometimes management scripts have to be totally rewritten. The end result of that is that many of my colleagues that use OS X end up with a very similar setup to mine, where they have a Linux VM running in the background 24x7 to provide those needs. Thirdly, OS X is a neglected middle ground in terms of testing and application compatibility. Devs prefer to work on Linux and users prefer to use Windows. That means that user-oriented applications, like new games, always work on Windows and that most dev-oriented applications work on Linux (and many depend on Linux-specific functionality like the proc subsystem which make it more difficult to port BSDs or OS X). Even if the code is compatible as-is on both Linux and OS X without changes, OS X is often the least-tested platform for relevant applications. I know there are a few vendors that release Mac versions of their games, so there is frequently a bit more availability on OS X than there is on Linux, but it's far less than there are on Windows. I don't really see what I gain by using OS X instead of Windows. With Cygwin, I have star-nix utilities in Windows too, and I get immediate compatibility with practically every user-oriented application out there.
- joaopms 10y agoIf you don't mind going a little deeper on this, what program do you use to run your VM? Do you only access your VM via SSH? What kind of development do you do? Do you have an internal IP for your VM or do you just redirect the ports? Do you think you could replace your VM with Bash on Windows?
- cookiecaper 10y ago>If you don't mind going a little deeper on this Sure. >what program do you use to run your VM? I use VirtualBox. I want to try VMWare, but I'm doubtful the difference will be very significant. I tried VMWare to host a Windows guest back when Linux was the host OS in hopes it would run DxO fast enough. While it was faster in some things that Virtualbox did slowly, it also did things slowly that Virtualbox had no trouble with, making it a net neutral, and not worth the license cost. If VMWare had full DX11 acceleration, it would've been different. You can do raw-disk passthrough with VBox by creating the appropriate files with VBoxManage. Must be careful with this, as there is a risk that you can destroy the data on the original drives. I do this so that I can switch back to Linux as the host OS without hassle, should the need arise. >Do you only access your VM via SSH?* I primarily access it via SSH, but the VirtualBox windows are on a secondary workspace and I can switch over and start an X server and have my full desktop environment should I need it. I try to avoid the need, but I have done this a handful of times since switching in order to access or run graphical programs. I've found that VirtualBox's 3D acceleration doesn't work properly. It was a pain to get it to work properly on my Linux system (which runs Arch) in the first place, but once I did get vboxvideo loading and glxinfo reporting Chromium as the renderer on a semi-consistent basis, the desktop environment would suffer corrupted draws that make it useless. I turned off 3d acceleration in the VM settings. >What kind of development do you do? Kind of all over the board. I maintain applications in Python, Ruby, and Java. I scratch my itch with other software which leads to occasional C or C++ development. I administer many servers and make use of Docker, Kubernetes, Ansible, and other devops stuff. >Do you have an internal IP for your VM or do you just redirect the ports? I have it configured as bridged network and it has an internal IP and acts like a separate machine on the network. This was important because many things in my home environment are dependent on my workstation and have that IP hard-coded (DNS is not justified for my house yet). I have a Samba server running in the VM and exporting the frequently-used local filesystems, including my home directory and some btrfs storage (bulk storage goes on a separate Synology NAS, so I access that directly from Windows through its own smb server). My past experience with VBox's Shared Folders is that it's pretty unpredictable, and that it's usually just better to use smbd. >Do you think you could replace your VM with Bash on Windows? I wanted to try Bash on Windows, but it said I had to be part of the developer preview program, which I didn't want to do since it apparently involves registering with Microsoft and a bunch of similar stuff. I am optimistic that Bash on Windows may be able to take some functions out of the VM, but I don't think it will be able to eliminate the need for it. It would be nice if it could replace Cygwin.