Hack Boosts Video Encoding For Nvidia's Consumer GPUs

Nvidia
(Image credit: Nvidia)

Back on Saturday we reported that Nvidia's GPU virtualization capability only enabled on select GPUs for datacenters can be unlocked using a rather simple hack (albeit only in Linux) on GeForce and Quadro graphics cards for client PCs. Apparently, this is not the only datacenter-exclusive feature that can be enabled on client GPUs. A user created hack seemingly removes the restriction on the maximum number of video encoding sessions.

Graphics cards that companies such as AMD, Intel, and Nvidia sell to operators of datacenters can, among other things, decode and encode tens of video streams simultaneously. This capability is required for a multitude of applications, including video streaming services, games streaming services, virtual desktop infrastructure (VDI), and a number of others. Consumer products that use the same silicon (with the same video encoding/decoding hardware) that powers datacenter boards lack these capabilities and in Nvidia's case this means up to three simultaneous NVENC video encoding sessions and up to one NVDEC video decoding stream (see the whole Video Encode and Decode GPU Support Matrix). 

Apparently, the number of concurrent video streams supported by Nvidia's NVENC/NVDEC engines on consumer products can be removed using a simple patch for drivers that is available from Github. Another patch also enables support of NVFBC and NVIFR driver level capture paths required for streaming and VDI services on consumer hardware. 

(Image credit: Nvidia)

Nvidia does not widely advertise the number of concurrent video streams supported by its datacenter products at once, but a couple of years ago it disclosed in one presentation that select Turing-based Tesla and Quadro cards can support up to 11 high-quality NVENC streams and up to 17 low-latency NVENC streams. That said, it is plausible to expect higher-end GeForce RTX 2080/RTX 2080 Ti cards to have similar capabilities. 

Nvidia

(Image credit: Nvidia)

Unlocking the number of concurrent NVENC and NVDEC streams makes sense for those who encode many videos or have to work with multiple video streams at once. Meanwhile, far not all consumer-grade applications can support many concurrent video streams, so unlocking the capability may be useless. Meanwhile, those who use professional video applications usually have appropriate hardware that support their capabilities.

Anton Shilov
Contributing Writer

Anton Shilov is a contributing writer at Tom’s Hardware. Over the past couple of decades, he has covered everything from CPUs and GPUs to supercomputers and from modern process technologies and latest fab tools to high-tech industry trends.

  • ammaross
    And Plex server owners have been using a "hack" to unlock the simultaneous NVENC on Linux for a long time now. I thought the point of this hack was that it allowed for GPU virtualization on mainstream cards?
    Reply
  • mac_angel
    ammaross said:
    And Plex server owners have been using a "hack" to unlock the simultaneous NVENC on Linux for a long time now. I thought the point of this hack was that it allowed for GPU virtualization on mainstream cards?

    Exactly. And the crappy thing is, I'm the one that posted about that in the forums in response to their article about vGPU being hacked. I even posted the link with the instructions. This whole article came from my post, but no recognition.
    Reply