STEAM GROUP
Steam Universe Steam U
STEAM GROUP
Steam Universe Steam U
39,947
IN-GAME
319,793
ONLINE
Founded
September 23, 2013
All Discussions > Steam OS > Topic Details
SteamOS with a Windows VM container for Windows games
So, kinda an advanced topic, so the 'tl;dr' is:

Will there be official support for running a Windows Steam VM on SteamOS?

Long, detailed discussion:

Assume you have a dual video card scenario. The secondary video card is attached and dedicated via PCI pass-through (ie Intel's VT-d) to a virtual machine (Virtualbox, Qemu, etc) running Windows (XP, 7, 8.1, whatever).

The VM (on a multi-core machine) could be assigned 1 to 3 CPUs, and dedicated 4G or so of memory locked (unswappable) RAM.

This should be sufficient to be able to run Windows Steam games on a SteamOS Linux box, with very little latency (since it's running on the same box, and is directly using the hardware resources, not emulating them).

The Windows VM would run 'headless' and be automatically started (or resumed) when SteamOs wants to run a Linux game, and suspended when a native game is running.

Some network filesystem shenanagins could be used to allow the Windows VM to seamlessly access the SteamOS' game repository to reduce disk overhead and the need for more than a few gigs of HD space dedicated to the VM.

I'm planning of doing this myself (well, except for the Steam Launcher suspend/resume integration) with my SteamOS box I'm building, but it's a bit out of the technical scope for most people who are attracted to SteamOS.

If possible, I would like to recommend the following additions to the SteamOS system:

* A VM builder that would allow the customer to 'Install to VM' an operating system DVD, ISO, or USB stick. SteamOS would not care what OS is loaded, and would be able to 'play' that VM like a game, automatically suspending that VM when a native game is running.

* The VM builder, on machines with Intel's VT-d or AMD's Vi IOMMU hardware, would allow the user the option of 'dedicated hardware assignment' for the VM, so that Windows (or whatever) would 'own' the secondary graphics card, and could be assigned dedicated memory or CPU resources.

* When SteamOS wants to launch a Windows game on a machine on a local LAN (or the internal VM lan), SteamOS sends the 'Wake On Lan' magic packet (http://en.wikipedia.org/wiki/Wake-on-LAN) to the MAC address of the Windows machine.

Outside of the Windows compatibility option, that could allow people to install retro operation systems to a VM (such as Windows 3.1, or DOS, or OS/2) and play games for yesteryear.
< >
Showing 1-7 of 7 comments
jason.mcmullan Dec 20, 2013 @ 11:59am 
Motherboard (ASRock AMD 970 Extreme Pro3 v2.0) purchased, IOMMU enabled, 2nd video card on order.

I'll report my results, hopefully by the end of the year.
Hitsuji Dec 20, 2013 @ 1:04pm 
There will be issues with 3d acceleration in the virtualised environment. And also would require a Retail licence for Windows instead of a OEM licence.
Shark Dec 20, 2013 @ 1:20pm 
Virtualising Windows games only works with systems with more than one graphics cards, otherwise wine is a much better option.
blackout24 Dec 20, 2013 @ 1:42pm 
Originally posted by Shark:
Virtualising Windows games only works with systems with more than one graphics cards, otherwise wine is a much better option.

Pretty much every Intel CPU PC has that. You can use the iGPU for the host OS and pass through your dedicated graphics card.

https://bbs.archlinux.org/viewtopic.php?id=162768&p=1

You'll not be able to just unbind and bind your GPU from and to the VM on the fly.
Shark Dec 20, 2013 @ 2:31pm 
Originally posted by blackout24:
Pretty much every Intel CPU PC has that. You can use the iGPU for the host OS and pass through your dedicated graphics card.
You'd have to switch the cable all the time though if you only have one tv and you can't use the gpu for SteamOS.
jason.mcmullan Dec 20, 2013 @ 6:25pm 
The GPU bound to the Windows VM will render to a surface, which is then transmitted over the Steam Remote Play network connection to the SteamOS running the VM.

No video cable would be attached to the PCIe adapter bound to the Windows VM.
jason.mcmullan Dec 22, 2013 @ 10:16pm 
Virtualbox software environment up, now trying to get PCIe to bind correctly. Looks like NVIDIA may have MSI support disabled by default, but I think that can be fixed.

More details on my Wiki:

http://www.evillabs.net/wiki/index.php/Project_steamed-windows
< >
Showing 1-7 of 7 comments
Per page: 1530 50

All Discussions > Steam OS > Topic Details
Date Posted: Dec 16, 2013 @ 12:25pm
Posts: 7