Steam for Linux

Steam for Linux

O.G. C.E.O Sep 22, 2015 @ 9:04pm
Play windows games in a VM.
Has anyone here tried running windows inside a VM from a linux distribution?
https://www.pugetsystems.com/labs/articles/Multi-headed-VMWare-Gaming-Setup-564/
< >
Showing 1-15 of 15 comments
daniel.mantione Sep 23, 2015 @ 2:56pm 
Yes, I am using the free version of VMWare Player. Because VMWare Player did support DirectX9, it is most logical to run a Windows XP inside (anything newer does not gain much). You get better compatibility and better performance than with Wine, so it is a good idea for running your old games. For newer games I buy only Linux compatible games, so for me the issue of Windows games is solved in a sufficient way.

Just a few weeks ago, a new VMWare Player was release with DirectX10/11 support. In combination with newer Windows versions this should allow you to run even more modern Windows games.
Whiskers Sep 24, 2015 @ 6:09am 
It's definitely possible. If you have a CPU+motherboard combo that supports the use of VT-d you can passthrough your GPU directly to the guest OS. This will give you near native performance, and you can just use an integrated GPU for the host OS.
halifax Sep 24, 2015 @ 8:20am 
OP: you might find this recent thread of interest:

http://steamcommunity.com/app/221410/discussions/0/523897653293933986/

For my part, as far as gaming goes, I'm of the opinion Steam In-Home Streaming is a more effective and practical way to go for this than Windows on a Linux hosted VM.

GPU passthrough is fantastic, but I believe the catch right now is most nVidia GeForce cards don't support it and nVidia cards have the best current Linux drivers. Kind of a catch 22 situation, in that you basically have to have a non-common, specific and specialized hardware build right now to get access to VM GPU passthrough from a Linux host.

Meanwhile, back on the IHS front, Valve has put a significant amount of engineering into this stopgap solution for how to get Windows games onto a Linux PC.

Wine is a preferable solution, because it's a "pure Linux solution" involving no Windows OS being installed anywhere. But Wine mostly still sucks compared to running native Windows on a real non VM'd PC.

But, if you're gonna compromise your Linux value system and load a real copy of Windows somewhere in the equation, imo, Steam IHS > VM'ing it. There are some quirks and trade-offs with the streaming aspect, but since it's only on an internal, stable, high bandwidth network - they are fairly minor and easily dealt with.

And of course, the upside is a "headless" Windows game server running on real hardware - I hide mine in an unused guestroom where my modem/routers are. It's my "dirty little secret" on what otherwise appears to be a small home network of Linux PCs and laptops - that also just happen to have really good Windows game performance and compatibility across the board.... Somehow... (whistling guiltily) :-)
Last edited by halifax; Sep 24, 2015 @ 8:37am
JamieLinux Sep 24, 2015 @ 12:18pm 
Originally posted by halifax:
OP: you might find this recent thread of interest:



Wine is a preferable solution, because it's a "pure Linux solution" involving no Windows OS being installed anywhere. But Wine mostly still sucks compared to running native Windows on a real non VM'd PC.

I would not call wine and preferable soluiton in the same sentance. Wine is not pure linux you are running a windows api layer(s) on top of a system. Also compatablity is umm special.
XÆЯO_Vince Sep 24, 2015 @ 1:24pm 
Actually GPU passthrough is possible with Nvidia cards but you have to do a couple things first to the KVM or Xen hypervisor. I've read about someone who successfully passed a GeForce GTX 970 card into a VM and likely any Nvidia Maxwell card should work. I haven't tried it as my current hardware doesn't support VT-d and I have an AMD Radeon.

1) Hide it's idenity from the Nvidia driver

Something like this: "-cpu host,kvm=off"

2) Disable Hyper-V extensions

Something along the the lines of removing these lines from the VM XML file:

<hyperv>
<relaxed state='on'/>
<vapic state='on'/>
<spinlocks state='on' retries='4096'/>
</hyperv>

<timer name='hypervclock' present='yes'/>

As for Wine, Wine Staging is a better option and provides much better performance for most games with CSMT or GalliumNine extensions and hundreds of bug fixes over stock Wine to improve software and game compatibility.
Last edited by XÆЯO_Vince; Sep 24, 2015 @ 1:38pm
Letalis Sonus Sep 24, 2015 @ 1:48pm 
Originally posted by halifax:
GPU passthrough is fantastic, but I believe the catch right now is most nVidia GeForce cards don't support it and nVidia cards have the best current Linux drivers.
Oh, they do support it... but Nvidia puts a lot of effort into preventing you to use them like that - you're supposed to buy the far more expensive workstation cards which advertise this as an exclusive feature. They stopped doing this on firmware level, though, it looks like most modern cards run perfectly fine, but Nvidia's driver will error out if it detects that it is being run within a VM. Last I've heard Qemu is able to suppress the KVM fingerprint that the driver is looking for.

Driver support on the host doesn't matter, the card will only be touched by a generic passthrough driver. There's absolutely nothing standing in the way to using a Radeon card for passthrough.

By the way, while IO operations are considered the general bottleneck of virtual systems I did notice that for me a host ext4 drive being passed through via SMB over the VM's virtual network card actually performs better than a native NTFS drive being accessed by Windows running on bare metal - I always have the shortest Payday 2 update installation time among my buddies.
halifax Sep 24, 2015 @ 3:38pm 
Originally posted by Jamie F:
Wine is a preferable solution, because it's a "pure Linux solution" involving no Windows OS being installed anywhere. But Wine mostly still sucks compared to running native Windows on a real non VM'd PC.

I would not call wine and preferable soluiton in the same sentance. Wine is not pure linux you are running a windows api layer(s) on top of a system. Also compatablity is umm special.

Well yeah... :-) Of course there's a Windows emulation layer involved, of course it's not "pure Linux" in the sense that it has a Windows API layer - that's the whole raison d'etre for Wine. It's pure Linux on the back-end though - with the outputs leaving the compat layer for OpenGL/Linux, you require no Windows installation to run it. Wine itself is a Linux application that you only need Linux installed to run. That's all I meant by "pure Linux solution".

I mostly agree with you that Wine doesn't work so hot - at least it hasn't for me so far. We probably differ on the overall value of it though, from a strategic perspective. In my world view, if Wine worked on par with Steam IHS, it would be of huge value to switching over from Windows to Linux in general. I know from your previous posts, you disagree there.

And it's mostly an academic disagreement, because let's face it, Wine will probably never work that well. And if it ever did begin to work that well, MS probably would decide to vector a team of their lawyers onto shutting it down by any means necessary, anyway.

Originally posted by Xaero:
As for Wine, Wine Staging is a better option and provides much better performance for most games with CSMT or GalliumNine extensions and hundreds of bug fixes over stock Wine to improve software and game compatibility.

I remember you mentioning that in the GTA-V thread, along with native DLL overrides. The next time I mess around with Wine, I'm going to explore those options more, and probably also just buy Crossover to show support for the effort.
Last edited by halifax; Sep 24, 2015 @ 3:38pm
Boo Seta Sep 24, 2015 @ 3:56pm 
I tryed to play a simple game (Kami) using Virtualbox + Windows XP + Guest additions. The performance was horrendous. Even a very light and simple game like Kami wasn't playable.
XÆЯO_Vince Sep 24, 2015 @ 4:07pm 
Well the main problem with Wine right now is that it flat out doesn't support modern AAA games, due to missing DirectX 10/11 support. This is probably partly why many people don't like it. Wine Staging isn't a silver bullet but it tends to work somewhat better and covers pretty much everything DirectX 9 and older, with the occassional need for DLL overrides and/or other tweaks but less frequently than vanilla Wine.

I bought Crossover as well; It's a good product. I like PlayOnLinux more but it has a stable Wine version with many fixes for apps and games. I'll probably renew my Crossover subscription once Codeweavers releases an initial, semi-working DirectX 11 implementation in Wine that can support some games.
halifax Sep 24, 2015 @ 4:37pm 
Originally posted by Peruano (na Lan House):
I tryed to play a simple game (Kami) using Virtualbox + Windows XP + Guest additions. The performance was horrendous. Even a very light and simple game like Kami wasn't playable.

Yep, in the load-Windows-anyway solutions, VirtualBox is a fine VM, but not good for gaming. VMWare Player is better, and Steam IHS is best (imo) if you take the hit of running multiple real PCs vs. one PC decked out w/ everything.
XÆЯO_Vince Sep 24, 2015 @ 4:41pm 
Originally posted by Peruano (na Lan House):
I tryed to play a simple game (Kami) using Virtualbox + Windows XP + Guest additions. The performance was horrendous. Even a very light and simple game like Kami wasn't playable.

Virtualbox is a good VM program but it fails at 3D acceleration. In constrast, VMware Player and Workstation have a superior emulated graphics driver in their Guest additions (aka VMware Tools). It supports upto DirectX 10 with Windows 10 guests, which you can download for free legally (Windows Tech Preview or 90-day trial of Windows 10 Enterprise). It's not as good as GPU passthrough (which a lot of hardware doesn't support) but I think it can reach upwards of 75% of bare metal GPU performance.
Last edited by XÆЯO_Vince; Sep 24, 2015 @ 4:42pm
XÆЯO_Vince Sep 24, 2015 @ 5:04pm 
In-Home Streaming is pretty good too, although this last beta update broke streaming desktop applications. It will work for a few minutes but then the video stream will freeze and not update but is still invisibly running because I can see my mouse cursor moving on the host PC from the client. Valve breaks things faster than they fix them

There are a couple alternatives as well that aren't tied down to Steam:

Splashtop

Jsmpeg-vnc (Streams games like IHS on a LAN but to a web browser)

LiquidSky (Like OnLive but full desktop and Steam access on a rented cloud server)(Linux support coming within days they claim--many ETA setbacks so far)

I tested all of these and they work. I just found about the second option a couple days ago and been playing around with it. I developed a simple script to integrate it better into Linux google chrome with the "-app" mode feature. It has one major flaw--no sound support. However, I sort of got it working by re-directing audio to my USB headset via a VirtualHere network USB server.
Last edited by XÆЯO_Vince; Sep 24, 2015 @ 5:29pm
halifax Sep 24, 2015 @ 5:18pm 
Originally posted by Xaero:
Well the main problem with Wine right now is that it flat out doesn't support modern AAA games, due to missing DirectX 10/11 support. This is probably partly why many people don't like it. Wine Staging isn't a silver bullet but it tends to work somewhat better and covers pretty much everything DirectX 9 and older, with the occassional need for DLL overrides and/or other tweaks but less frequently than vanilla Wine.

I bought Crossover as well; It's a good product. I like PlayOnLinux more but it has a stable Wine version with many fixes for apps and games. I'll probably renew my Crossover subscription once Codeweavers releases an initial, semi-working DirectX 11 implementation in Wine that can support some games.


Agreed, the promised DirectX 10/11 from Codeweavers is pretty much what I'm waiting on too before giving Wine another try. If I could get games like GTA-V, Far Cry 4, Inquisition, etc. running well in it, that would be a huge victory for Wine.

On the admit-defeat-and-grab-a-copy-of-Windows side, I'm pretty much through pursuing VMs for Windows game compatibility, since IHS works considerably better for my home scenario and prefs (I just set it to "go bananas/no bandwidth limiting" so the visuals are on par with real HDMI, and the lag is still hardly noticeable on a 64 Mbps stream on my wired network, + no DD 5.1 sound doesn't matter to me).
halifax Sep 24, 2015 @ 7:12pm 
Originally posted by Xaero:
In-Home Streaming is pretty good too, although this last beta update broke streaming desktop applications. It will work for a few minutes but then the video stream will freeze and not update but is still invisibly running because I can see my mouse cursor moving on the host PC from the client. Valve breaks things faster than they fix them

There are a couple alternatives as well that aren't tied down to Steam:

Splashtop

Jsmpeg-vnc (Streams games like IHS on a LAN but to a web browser)

LiquidSky (Like OnLive but full desktop and Steam access on a rented cloud server)(Linux support coming within days they claim--many ETA setbacks so far)

I tested all of these and they work. I just found about the second option a couple days ago and been playing around with it. I developed a simple script to integrate it better into Linux google chrome with the "-app" mode feature. It has one major flaw--no sound support. However, I sort of got it working by re-directing audio to my USB headset via a VirtualHere network USB server.

Cool, looks like you've been doing a decent amount of research and testing here too...

For games, imo Steam IHS is currently working pretty good. With the unfortunate proviso - from what I've found - that Windows 7/10 makes the best IHS Steam server. A good IHS experience is heavily tied to a good hardware encoder on the server. And currently, Steam for Linux doesn't work as well for server side. For one main reason, Linux Steam doesn't use "Desktop NVFBC H264", which as far as I can tell is a Windows only nVidia driver associated with nVidia ShadowPlay?

In any case, from my experience, "Desktop NVFBC H264" is by far the best general encoder at this time (general meaning works fantastic with almost any game). The other hardware encoders tend to have problems of various kinds in many to most games. And it's a Windows only driver.

Which is really unfortunate for my anti Windows tastes, because even though my game server is a dual boot with both Windows and Ubuntu on it, it means certain higher end games that are now ported to Linux I still end up loading the Windows version of. Simply due to the fact they stream like utter crap from Linux and stream fantastic from Windows :-/

Hopefully, the Linux Steam client gets access to a corresponding high performance streaming encoder soon, so I can leave my game server booted to Linux more often than I do now.

I haven't done much testing of Steam IHS for apps, would be convenient if they got this working again though! Of course, there's always just standard RDP and the Remmina Client for that - but I found that has a real gotchya when used in conjustion with Steam IHS, to which someone wrote a good logoff script to fix:
http://steamcommunity.com/groups/homestream/discussions/0/540732889170346271/#p3
But Steam IHS would be more convenient for certain high use apps.

I'll have to take a look at those other options you mentioned, like LiquidSky and Jsmpeg-vnc.
daniel.mantione Sep 25, 2015 @ 3:45am 
If you have a spare computer with game capable hardware around, definately use home-streaming, it then gives the better experience. However, if you have only a single game computer, a VMWare Player/Workstation virtual machine is by far the better solution, because all it needs is some GB's of harddrive space, which most people have available.

I have lost my faith in Wine. I have been trying to use it for nearly 15 years now and out-of-the-box experience is simply a disaster. Wine always needs a tailored set of DLL's that you have to pirate from somewhere. I have succesfully played several games in Wine (and in the process worked with Wine developers to get some bugs fixed), but the overal picture is, after all those years, nothing better than terrible.
< >
Showing 1-15 of 15 comments
Per page: 1530 50

Date Posted: Sep 22, 2015 @ 9:04pm
Posts: 15