protonscr

Does NVFBC actually work on consumer level graphic cards on linux (Geforce)?

steamopen questionStreaming
ValveSoftware/steam-for-linux#4811 · opened 2017-01-14 by tpruzina · updated 2025-03-03 · 7 comments · github
Ttpruzina 2017-01-14 github

Title says it all, it's my understanding that it does work on windows side of things (presumably with some backstage deal with nvidia since GRID API doesn't officially work on geforce or low-end quadros).

Can you actually make it work on geforce and linux (in fullscreen naturally) and if so, what cards/drivers are supported? Does it work without RAM trips (frame grab (VRAM) -> RAM -> nvenc (VRAM) -> RAM)
or does it work in cuda (screengrab -> vram (cuda) > nvenc -> ram)?

Mmwp-foss 2019-08-26 github

Can we get a definitive answer to this, because as it stands, Steam streaming on Linux has never shown NVFBC to be in use despite it being enabled, at least not for me. I am using the latest Nvidia proprietary driver with a Geforce 1080 ti.

Ttpruzina 2019-08-28 github

@mwpow3ll It doesn't work on Linux and last time I checked it doesn't work with windows either.

Cchkuendig 2020-12-09 github

Can confirm it not working.

To debug this, I managed to run the Nvidia Capture SDK samples both in 32bit and 64bit either ith the “leaked” magic values to enable NvFBC and stock driver (32+64bit - FYI: only the ones from gfe worked, the one from Steam didn't) or with a patched driver from nvidia-patch (64bit only). So I'm pretty sure my setup is compatible with NvFBC.

My conclusion is that either the NvFBC implementation in Steam in general is broken or that Valve doesn't support this anymore on consumer-class cards (or Nvidia has disabled Valve’s keys)

In the second case, maybe https://github.com/keylase/nvidia-patch/issues/350 will help.

Cchkuendig 2020-12-10 github

PS: I spent a bit more time looking into this, and it looks like that NvFBC isn't active anymore - though it would be nice to have that confirmed.

I tried:

  • LD_PRELOAD both 32bit and 64 binaries to catch any calls to nvFBCCreateInstance andnvFBCCreateHandle (to set the correct magic values). These calls never happen.
  • Checked for any references in any of the steam binaries - there's no references to libnvidia-fbc - only libnvidia-encode.

OTOH. since this feature always included some undocumented Nvidia APIs and magic values, it's possible that this has been obfuscated enough to slip through my experiments...

Iinsanemal 2022-02-05 github

What is the current status of this ticket. I really need NvFBC for my rig to get decent performance.

Ccurtmgray 2025-03-01 github

Curious to know what the state of this is.

Cchkuendig 2025-03-03 github

I don't think anything has changed in the last 4 years, so just going to share my previous write-up here:
December 11, 2020: Does Steam Remote Play support NvFBC on Linux?
. This goes a bit into more details beyond what I summarized earlier in this issue.

Nothing extracted yet.