While you're here, please consider supporting GamingOnLinux on:
Reward Tiers: Patreon. Plain Donations: PayPal.
This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!
You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Reward Tiers: Patreon. Plain Donations: PayPal.
This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!
You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register
- GOG launch their Preservation Program to make games live forever with a hundred classics being 're-released'
- Half-Life 2 free to keep until November 18th, Episodes One & Two now included with a huge update
- Valve dev details more on the work behind making Steam for Linux more stable
- Proton Experimental adds DLSS 3 Frame Generation support, plus fixes for Dragon Age: The Veilguard, Rivals of Aether II and more
- Direct3D to Vulkan translation layer DXVK v2.5 released with rewritten memory management
- > See more over 30 days here
-
Steam Deck OLED: Limited Edition White and Steam Deck A…
- Stella -
Steam Deck OLED: Limited Edition White and Steam Deck A…
- chickenb00 -
Half-Life 2 free to keep until November 18th, Episodes …
- jarhead_h -
Classic Unreal Tournament and Unreal now easier to down…
- emphy -
Steam Deck OLED: Limited Edition White and Steam Deck A…
- CatKiller - > See more comments
- Minecraft Exit Code 1
- wvstolzing - Do you think that Steam will become open source in the future?…
- RokeJulianLockhart - Steam and offline gaming
- Dorrit - Weekend Players' Club 11/15/2024
- Ehvis - What do you want to see on GamingOnLinux?
- Liam Dawe - See more posts
There are however, a few games that haven't been ported to Linux (at least not yet) that won't run under WINE (in general, 64-bit games, and games that require DirectX 10 or better).
For those I run a Windows VM with VGA passthrough. For those of you that are interested in doing similar, I am writing some articles documenting the solution and various pitfalls I encountered along the way. You can have a read about my initial configuration using Xen here:
http://goo.gl/HNYkVO
I am currently building a Mk2 setup, this time using KVM to accommodate for a better native Linux Steam and WINE experiences (Xen dom0 support is increasingly broken in Nvidia's binary drivers), which will be documented in the subsequent article(s).
View PC info
http://www.altechnative.net/2015/04/05/virtually-gaming-part-2-evolution-consolidation-and-move-to-kvm/
View PC info
1) The Nvidia GPU is not wired up to any outputs. It is completely headless, and the way it normally works is by copying the framebuffer from the Nvidia GPU to the Intel GPU for displaying. If the Nvidia GPU was passed through to a VM, we would have to connect to it using something like Splashtop, Steam Streaming, Limelight or similar. This is not an insurmountable problem, and the performance would actually suffer particularly badly because both Kepler and Maxwell class GPUs have dedicated H264 real-time encoding hardware. That means the only actual overhead would be H264 decoding on the Intel GPU, which is unlikely to be a show-stopping issue.
2) By far the biggest potential problem is initializing the Nvidia GPU inside the VM. The main problem is the firmware, or rather, it's potential lack. If the Nvidia GPU has a discrete EEPROM chip, you are in luck, and the driver will be able to extract it as normal, and initialize the GPU. If your GPU firmware is in the main system firmware and is retrieved via an ACPI call, that gets harder. You would have to write a custom ACPI module that implements the _ROM() method which works a bit like pread() and returns the requested byte ranges of the firmware binary blob. You then side-load that ACPI module into QEMU so the guest OS can access it.