diff --git a/src/platform/linux/cuda.cpp b/src/platform/linux/cuda.cpp index 129a23e6bd..0c73dcde0b 100644 --- a/src/platform/linux/cuda.cpp +++ b/src/platform/linux/cuda.cpp @@ -614,6 +614,12 @@ namespace cuda { make() { NVFBC_CREATE_HANDLE_PARAMS params { NVFBC_CREATE_HANDLE_PARAMS_VER }; + // Set privateData to allow NvFBC on consumer NVIDIA GPUs. + // Based on https://github.com/keylase/nvidia-patch/blob/3193b4b1cea91527bf09ea9b8db5aade6a3f3c0a/win/nvfbcwrp/nvfbcwrp_main.cpp#L23-L25 . + const unsigned int MAGIC_PRIVATE_DATA[4] = { 0xAEF57AC5, 0x401D1A39, 0x1B856BBE, 0x9ED0CEBA }; + params.privateData = MAGIC_PRIVATE_DATA; + params.privateDataSize = sizeof(MAGIC_PRIVATE_DATA); + handle_t handle; auto status = func.nvFBCCreateHandle(&handle.handle, ¶ms); if (status) {