-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Run Nvidia Vulkan headless without Xorg! #24
Comments
Quite interesting, I'll surely will test this approach on this weekend. Probably will need to modify bumblebee to not start Xorg, or create some script to enable discrete video card and load nvidia modules to test. Edit: |
Do your test app have V-Sync enabled? |
@leonmaxx possibly, V-Sync might be the issue here you're right. Maybe I need to apply that modesetting flag too I'll try that when I get the chance, cheers for the tip! As for the bumblebee question, this is probably right but I can't use it here as I get some error, but I am not worried about power usage in my workstation so no big deal... :) |
One thing I noticed is that vulkaninfo will display that the device does exist, but it segfaults when looking for available outputs, which makes sense as we are loading a vulkan instance from EGL in an environment which it is not expecting (perhaps that modesetting flag |
@boberfly If you use kernel 4.17+, you can use in-kernel pci-e power management. All you need is just to unload nvidia kernel modules and set |
If interested I use this udev rule to apply pm automatically on boot
|
Sadly anything past kernel 4.15 absolutely does not work on my machine, the amdgpu driver doesn't seem to work anymore in 4.17 (it did before) and past 4.18 onwards there is something weird with my hardware topology which does a kernel panic on startup, something I need to bug up about but haven't had the chance or patience yet... |
I can confirm it's working! I just launched WoT with suggested changes to |
If anyone wants to test I added |
Good to hear @leonmaxx is the performance decent, and do you have nvidia-drm.modeset=1 set with vsync on/off? |
I have a patch set which will come soon which allows 2 environment variables to set which GPU does what via vendorID:deviceID hex numbers, at least in my case I need to do this with 2 discrete GPUs. |
Performance is good, I have stable 60 FPS with V-Sync on. Mouse latency seems to be better. |
And I didn't noticed any stuttering. |
@leonmaxx hey I got vsync working, it has fixed the hitching but it is very very slow on The-Forge unfortunately Also I just made a PR which allows to set env vars on what GPU to use for display and rendering if you wanted to test it, but I guess you don't need it on optimus laptops... |
This seems to be working like a charm - in fact it is the only way for me to get wine/dxvk up & running on an (Optimus) Nvidia GTX 860M using proprietary drivers v418.56 on Debian. If I can contribute with some test results please let me know. |
@wirr00 I also have the proprietary drivers v418.56 and am using primus_vk as described in the README (with wrapper and Generally to the idea to always use the vulkan driver from |
Hi @felixdoerre |
Hi all,
I was looking around and discovered something kind of amazing and can potentially resolve the need for the nv_vulkan_wrapper entirely. This is what I did:
{ "file_format_version" : "1.0.0", "ICD": { "library_path": "libEGL_nvidia.so.0", "api_version" : "1.1.84" } }
I'm doing this with The-Forge and the log file now tells me it is using my Nvidia card instead of my AMD card. I am not using an optimus laptop here also, so this seems to work on a dual-gpu setup in a regular PC. My display is going through a Vega Frontier Edition but it is being rendered on a Quadro K2000 (I will later test on an RTX 2070 and see if it works).
I have noticed some crazy stutter though, so there might be something else which needs to be fixed here.
The text was updated successfully, but these errors were encountered: