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
Remove the need for a patched nvidia library for NvFBC. #2471
base: nightly
Are you sure you want to change the base?
Conversation
Thank you for the PR! I also didn't know we could handle it like this. If this affects NVENC as well, I think there might need to be an additional change somewhere in https://github.com/LizardByte/Sunshine/blob/nightly/src/nvenc/nvenc_base.cpp |
Yeah so I'm a bit confused by NVENC. It almost seems like enabling this patch also allows NVENC.. I never thought about it but using Moonshine I never use a patched NVIDIA library and NVENC encoding works fine there. I feel like this might trigger something in the NVIDIA library that also allows encoding, but I'm not sure. I tried rebooting, but I still see that I can encode, even if I use
It might also mean that if you use NVENC, but not NvFBC, that you still need a patched driver 🤷 . I haven't been able to trigger this case at least. Can you test this to see how this works for you? Whether you can capture & encode using this PR but can't capture nor encode without this PR? |
There might be some confusion. The Currently I don't have a quick way to test your PR, but I could ask for testers on our Discord server? |
Ah I see. I'm curious, why isn't ffmpeg used on Windows? I never looked into it much but I thought it was cross platform?
Yeah I think that would be nice 👍 |
We do use ffmpeg on Windows as well. I'm not up to speed on the standalone nvenc encoder, but I know the other capture methods do use ffmpeg. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NVENC is not (meaningfully) limited for our purposes on consumer GPUs. Only NvFBC has this restriction of being completely unavailable on consumer GPUs, so only making this change for NvFBC seems correct to me.
If someone can validate that this still works on cards with official NvFBC support, it seems safe to merge.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## nightly #2471 +/- ##
==========================================
- Coverage 6.17% 6.17% -0.01%
==========================================
Files 86 86
Lines 17546 17549 +3
Branches 8190 8190
==========================================
Hits 1083 1083
- Misses 15410 15414 +4
+ Partials 1053 1052 -1
Flags with carried forward coverage won't be shown. Click here to find out more.
|
Description
This PR is based on hgaiser/nvfbc-rs#5 , which in turn is based on https://github.com/keylase/nvidia-patch/blob/master/win/nvfbcwrp/nvfbcwrp_main.cpp#L23-L25 .
With this change you don't need a patched NVIDIA library to use NvFBC. My best guess is that this is what GeForce Experience uses to allow it to work on GTX / RTX cards.
Screenshot
N/A
Issues Fixed or Closed
N/A
Type of Change
.github/...
)Checklist
Branch Updates
LizardByte requires that branches be up-to-date before merging. This means that after any PR is merged, this branch
must be updated before it can be merged. You must also
Allow edits from maintainers.