Easy-GPU-PV
Easy-GPU-PV copied to clipboard
CS:GO fails to launch with NVAPI error on virtual machine
Hello,
First, I'd like to express my gratitude for this fantastic project. It has made GPU paravirtualization much more accessible and easy to set up.
I'm encountering an issue when trying to launch CS:GO on a virtual machine with GPU paravirtualization (RTX 3090 FE). I get the following error:
Failed to initialize NVAPI with error(0xFFFFFFFD), which is required when running on NVIDIA hardware. Your drivers may be corrupt or out of date.

However, other games such as Team Fortress 2 and Heaven Benchmark run surprisingly well. The issue occurs on both Windows 10 22H2 and the latest Windows 11 (which I installed to test if the problem was limited to Windows 10). I've noticed some nvapi.dll files present on the virtual machine's operating system.
According to a quick Google search: "NVAPI is NVIDIA's core software development kit that allows direct access to NVIDIA GPUs and drivers on all Windows platforms." I'm wondering if there's a way to fix this issue or if it's a limitation with the current GPU paravirtualization setup.
Thank you for your attention, and I look forward to any suggestions you may have on resolving this problem :)
CS:GO, from what I have read, triggers VAC to kill the game process when launched in a VM - I wonder if this error is shown when that happens.
Either way - you likely wont get this running in Hyper-V unless someone else has something for it.
Hello,
Thank you for your response and insights into the issue. I understand that CS:GO may trigger VAC to terminate the game process, when launched in a VM. However, I have tried using the -insecure launch option in CS:GO, which, according to this source (https://steamcommunity.com/app/730/discussions/0/364041776198944733/), should disable VAC.

I recall seeing that CS:GO was playable using this project in the past (e.g., in a Linus Tech Tips yt video). This makes me believe that there might be a workaround or a fix for the problem.
it's worth noting that Team Fortress 2, another (much older) Valve game with VAC, works without any issues on my current setup.
I came across some news about NVIDIA adding (CS2..?) game profiles to their drivers. Here's a related source: https://twitter.com/gabefollower/status/1631002572881362954
I will try to run CS:GO with 3D acceleration in VMware Workstation Pro and let you know if I manage to successfully launch the game.
Unfortunately, I wasn't able to run CS:GO in VMware Workstation Pro. I encountered an error related to the CMS.

Are the driver versions the same on the host and VM?
EDIT: Update your Nvidia drivers to latest and reinstall the VM AND game. This error was resolved by someone else having the same issue (though not in a VM): https://steamcommunity.com/app/582010/discussions/3/1745594817440026359/
Also, check to make sure that Hyper-V's display adapter is disabled in device manager and that your GPU actually shows up in there in the VM.
Essentially, if I understand correctly, the error is cause the current driver for whatever reason doesn't support NVAPI. Which means either A) the game launched on the wrong driver (like Hyper-V display) or B) the nvidia driver you have installed is too old.
Hi, I am attempting to do the same thing and I encountered the same error. Both the host and virtual machine have the same drivers, Windows version, and the Hyper-V display is disabled. When I used a software tool like GPU-Z on the virtual machine, it was unable to detect my graphics card, despite it being present in the Device Manager. Anybody that could help me with this issue?
Getting the same problem here
CS:GO, from what I have read, triggers VAC to kill the game process when launched in a VM - I wonder if this error is shown when that happens.
Either way - you likely wont get this running in Hyper-V unless someone else has something for it.
Probably not, i was managed to start csgo and got the panorama view of csgo, but at this point if you want to start any map its crashing because of the memory access violation.
Mouse pointer is very laggy if I disable HYPER-V display, also getting same error in CS:GO.. Did anyone try with rtx 4080
The problem is related to the Nvidia driver. First, I tried it with my GTX 1070 and it showed the nvapi error. Then I formatted my PC to Windows 11 so that I could select the Intel iGPU, and now the game runs perfectly.
Running CS:GO with -force_device_id 0x2e42 -force_vendor_id 0x8086 worked for me, but I don't know if this is a good solution. Does anyone know good device/vendor IDs to use? Either way, It lets me play the game.
Perhaps we can disable NVAPI? I'm guessing the device IDs do that in a way.
Running CS:GO with
-force_device_id 0x2e42 -force_vendor_id 0x8086worked for me, but I don't know if this is a good solution. Does anyone know good device/vendor IDs to use? Either way, It lets me play the game.Perhaps we can disable NVAPI? I'm guessing the device IDs do that in a way.
Some people, like me, are experiencing an 'access violation' error. Could you provide more information about your operating system, drivers, Windows version, and under what conditions you were able to run CS:GO?
Some people, like me, are experiencing an 'access violation' error. Could you provide more information about your operating system, drivers, Windows version, and under what conditions you were able to run CS:GO?
Sure.
Windows 11 22H2 (Version 10.0.22621.1848)
NVIDIA Driver Version 536.40
AMD Ryzen 9 5900X
32GB DDR4
NVIDIA GeForce RTX 3090
I'm running tons of random drivers, I don't think it's worth going into details about what I have. I currently have HWInfo, WSL, VMware, WinFsp, Docker, old Elgato drivers, AMD, Steam and a few other random drivers running. Not running much else on that side of things.
My host is running random stuff too such as password managers, Steam, music apps, Discord, etc.
I was able to create a VM using the script in this repository and I generated an ISO using UUP dump that matches my exact Windows version. I was able to just install Steam and CS:GO with those command line options, and it worked. I was not able to run it without those options and I get the same error posted above.
I did have to fiddle around with disabling the Hyper-V display adapter and the monitor in the VM inside Device Manager or else my resolution was messed up. I also modified my VM's resolution in Powershell by running Set-VMVideo -VMName "Win11" -HorizontalResolution 2560 -VerticalResolution 1440 -ResolutionType Single while it was powered off. If it makes any difference, I also used scoop.sh to install all the VC Redists (vcredist package in the extras bucket).
I think for the original issue in question, NVAPI is the culprit and there seems to be issues in Wine and Proton, too. Perhaps it's just easier to disable it somehow? As for your access violation issues, I have no idea, sorry.
If you have any other questions, please let me know.
going into C:\ProgramData\NVIDIA Corporation and creating a folder with the name "Drs" helped me to fix NVIAPI_ACESS_DENIED error found this solution on reddit by edy13112009 and it really helped
going into C:\ProgramData\NVIDIA Corporation and creating a folder with the name "Drs" helped me to fix NVIAPI_ACESS_DENIED error found this solution on reddit by edy13112009 and it really helped
Thx, its work <3