Using a Windows 10 VM under Windows 7


Summarizing my experience setting up a Windows 10 VM to control the Launch on a PC running Windows 7.

I’m using VMware Workstation Pro 12.5, which allows you to disconnect USB devices from the host computer and connect them to the VM, through the virtual USB device. I believe the same is possible with VMware Workstation Player, which is free for personal use (has some limitations compared to Pro). In theory, you can also do this with VirtualBox using the Oracle Extension Pack (free for personal use), but I haven’t tried it (I use VirtualBox solely for my OS/2 VM). Last I checked, Virtual PC (or whatever MS is calling it these days) has the same functionality, though I don’t use it at all.

I first tried using the onboard USB BT adapter on my 2012 ASUS RIVE motherboard. The device passed through to the VM, but Windows 10 could not find a driver for it. ASUS did not have Windows 10 drivers for the device, and I couldn’t find one online.

So I bought the $12 Plugable USB BT adapter on Amazon. Windows 10 had a driver ready for that one, though it didn’t work. The Win10 driver from the web made it work, and I was able to get it to see the Launch.

One issue with Buttplug I noticed was that if power saving was enabled on the device, meaning the radio was turned off when not in use, the scan function didn’t work. It turned the BT device on when told to scan, as expected, but gave up on the device scan a couple seconds later, so never saw the Launch. Disabling the power saving, so the radio was on from the start, allowed the scan to work correctly. That may be something that can be fixed in code.

While still futzing around with getting the Launch connected, I inadvertently redirected my onboard BT device instead of the new Plugable dongle. Interestingly enough, Win10 was now able to find a suitable driver - the one I installed for said new dongle. Connecting to the Launch worked, too. So I didn’t actually need to buy a new BT adapter - just magically figure out where to download the driver.

I was not able, however, to get ScriptPlayer to run on Windows 7. It immediately crashes with an error (event CLR20r3, problem signatures mscorlib and System.ArgumentException) suggesting it’s trying to do something that doesn’t work in the Win7 version of the .NET runtime, or something of that nature. So I was unable to test the idea of running ScriptPlayer in the host OS, talking to Buttplug in the guest Win10 instance.

However, ScriptPlayer runs fine in the Windows 10 VM itself, and seems to perform adequately even while running full screen at a resolution of 2560x1600. It could sync to the Launch both directly and via Buttplug.

So the upshot is, there is a working solution for Windows 7 users, if you have a bit of technical savvy. And now that I have Win10 running in a VM, I can explore making it a usable OS (from the perspective of 25+ year computer nerd, which finds the UI appalling) at my leisure.

One last tidbit: When I created the VM, I did so by first installing Windows 7 Ultimate, using the product key of my host machine, and then installed Windows 10 from a disc image created by Microsoft’s Win10 media tool. If you do an upgrade in this fashion, you still get Windows 10 for free, as it will automatically activate itself after install, and still needs nothing more than a valid prior Windows instance (down to Vista, I believe). The free upgrade via GWX (Get Windows 10) ended in July 2016, but it’s still free if you do some legwork (and all the language about a free upgrade ending refers to GWX, so it’s a kosher upgrade done this way). They’re also explicitly offering it free to anyone who uses accessibility features, so if you’re a user of the magnifier tool, you have official permission to get a free upgrade (sorry, “upgrade”).

So even if you have no intention to moving from Windows 7 to Windows 10, you can still use the latter in a VM for Launch functionality without spending a dime on anything other than a Bluetooth dongle (if that).