4 ms·
As it is, I run Windows in a VM with IOMMU, firewalled incoming connections, host-level VPN, etc., passing through a Geforce 1080 for direct access, and I only
by kakarot 8y ago
As it is, I run Windows in a VM with IOMMU, firewalled incoming connections, host-level VPN, etc., passing through a Geforce 1080 for direct access, and I only use it for specific purposes. Everything else is done in other VMs that run Linux. It's a similar setup to Qubes.
I also do music production and graphics and game programming in Windows, so I'm totally with you on how fucked this is going to be in a year. One of my biggest issues is that I know for a fact my fb2k visualizer doesn't work under Wine.
One possible solution I've thought about for using a non-networked W7:
* Set up a separate VM with allocated storage that gets broadcast as a set of read-only local network drives
* Add both W7 and this VM to a private network without net access
* Access the netdrive on W7 and copy any files with which you need write access to a W7-only storage partition.
Seeing as how we seem to have similar use cases, I'm happy to give you some pointers on setting up something similar to what I have.
- brokenmachine 8y agoAbleton is literally the only thing keeping me tied to Windows. Also I don't like Apple with all their user-hostility, so I'm not sure what I'll do later. I don't want to dual-boot. I investigated running Ableton in a VM but I'm just not convinced it'd work well, Linux support for audio is so flaky, I can't believe it'd handle low-latency ASIO stuff.
- kakarot 8y agoI use Ableton in a VM and it works great, but I wouldn't use it for live performances just to be sure. I haven't 100% eliminated all crackling yet. If I had more cores and moved Windows to a separate SSD, then I think that would completely get rid of crackling. Crackling only happens because of DPC latency, cache misses, or heavy write operations outside of the VM. I pass through a dedicated ASIO-compatible soundcard, dedicated GPU and dedicated USB controller which takes care of most of the DPC latency and latencies due to USB host translation. I lock down my cores in such a way that Windows has access to three physical cores and my host machine has access to only one. They don't share. This heavily reduces CPU cache misses. I use hugetables to prevent memory-related issues. Though that's more for gaming. There are a bunch more tiny optimizations I've made that also contribute to its viability. My latency is just about as good as it's going to get with Windows vs Mac. Happy to help you achieve a similar setup.
- brokenmachine 8y ago> Happy to help you achieve a similar setup. Thanks, I might take you up on that. A dedicated GPU might be a step too far though. What VM host software are you using?
- kakarot 8y agoIt really helps with DPC latency issues, though. You could get a pretty cheap one like an RX 550 or Geforce 1030. I'm hosting on a libvirt/qemu/kvm stack with virt-manager as my interface.
- brokenmachine 8y agoI'd be fine with having another GPU, but the problem for me is that as I understand that would mean that only Ableton can be on that monitor. I'm just a music hobbyist and I like to switch between web browser/vlc/whatever and Ableton while I'm just screwing around. That was one of the reason I didn't really want to dual boot. I'm not just entirely focused on Ableton, I just muck around for fun while I'm doing other stuff. Can you have a separate GPU doing the graphics processing for a VM in a window on a different GPU? Hope I explained that ok. What I'd like ideally is to have my cake and eat it too - to be able to run Ubuntu, but have Ableton running just like a native window - so I can move it to any monitor, minimize it, etc. Of course if that's not possible then that's the way it is and I have to accept it. Another problem I'm thinking about is that I won't be able to passthrough the soundcard to Windows and still have sound coming out of it from Ubuntu - so I'd need to use a second soundcard and then have a mixer to combine their outputs!
- kakarot 8y agoOh, ok. I guess I shouldn't just assume everyone has a multi-monitor setup. If you're only using one monitor, then yea the easiest thing will be not passing through a card and just trying to reduce the various related latencies as much as you can. The latency would be prohibitive for things like some games or video processing work but you could probably have an good experience with Ableton. And of course it's an iterative process, down the line you could decide you do want that extra monitor. What kind of processor do you have? > What I'd like ideally is to have my cake and eat it too - to be able to run Ubuntu, but have Ableton running just like a native window - so I can move it to any monitor, minimize it, etc. Spice unfortunately doesn't have Seamless/Rootless window mode implemented yet (it's a pretty big undertaking) though it is planned eventually. Even with Xen, where you could have paravirtualized windows that do exactly what you're describing (it's fantastic), it's only available for Linux VMs. That said, I've heard of people wrapping apps as Windows RemoteApps and achieving seamless windows that way. There's a detailed guide explaining the process but expect to get your hands slightly dirty [0]. I haven't tried it myself so I can't offer any assistance there. However, it seems easy enough and the result looks very satisfying. > Another problem I'm thinking about is that I won't be able to passthrough the soundcard to Windows and still have sound coming out of it from Ubuntu - so I'd need to use a second soundcard and then have a mixer to combine their outputs! libvirt has emulated audio devices that work quite well. It should for the most part be seamless, but there is definitely a noticeable latency. This latency can be reduced but for me it wasn't enough. Also, this can be a big source of DPC latency which causes audio crackling. You're right about both points: You can't share one soundcard with Windows and Ubuntu at the same time (if you want minimal latency) and you will need a second soundcard. If you only have one set of speakers and don't own separate monitors for Ableton (definitely worth investing in), you could use a cheap Y-cable at the cost of reduced max volume, and a slightly higher noise floor. A mixer would be the best longterm investment for the best sound,but depending on your budget/requirements for a mixer, a pair of monitors might not be much more. Again, this is an incremental process. You can start with what you have and improve the experience slightly each month with a new purchase. [0]https://bmullan.wordpress.com/2012/09/17/howto-integrate-windows-apps-into-the-ubuntu-linux-desktop-using-windows-remoteapp/ https://bmullan.wordpress.com/2012/09/17/howto-integrate-win...