分享

在Linux下对Geforce系列显卡开启NVFBC功能

 金刚光 2023-01-06 发布于辽宁


NVFBC功能是nvidia给专业设备如Quadro系列产品上利用显卡缓存录像视频的功能。可大幅减少录像对游戏帧数造成的性能损失。但对于真正玩游戏和主播用户而言,大多数都是用的消费级Geforce系列显卡。就偏偏是这样皮衣刀客还是把这个功能在消费级显卡驱动中给关了,因此我们需要手动对驱动打补丁,再安装OBS的NVFBC插件。

1.驱动补丁

首先,NVFBC功能硬件需要开普勒(geforce 6xx)或更新版本的GPU支持。

其次,驱动最好更新到最新稳定版,但也不能太新,目前支持最新470.74。建议不要升级到beta版

可以通过nvidia显卡驱动控制面板或nvidia-smi命令来确认驱动版本

NVIDIA驱动控制面板


nvidia-smi命令查看显卡驱动信息

满足以上两个条件,即可继续安装驱动补丁

git克隆下载驱动补丁:

git clone https://github.com/keylase/nvidia-patch.git

进入下载路径打补丁

cd nvidia-patch

sudo ./patch.sh  

sudo ./patch-fbc.sh

在这里第一个patch是用来解除消费级显卡上同时利用nvenc功能录像的数量限制。属于可选项目。第二个patch-fbc则是真正开启nvfbc功能。

如果想退回未打补丁的状态:

sudo ./patch.sh  -r

sudo ./patch-fbc.sh -r

这个补丁也支持windows版本驱动

2.安装OBS-nvfbc插件


git克隆下载插件:

git clone https:///fzwoch/obs-nvfbc


安装依赖项:

Fedora/其他rpm系(需要RPMfusion源,当然OBS本身也需要这个源因此不详细介绍如何添加RPMfusion源)

sudo dnf install mesa-libGL-devel obs-studio-devel simde-devel meson ninja-build

Ubuntu/其他deb系

sudo apt install libgl-dev libobs-dev libsimde-dev meson ninja-build


进入源码路径编译

cd obs-nvfbc 

meson build && ninja -C build


将当前路径下 build/nvfbc.so 复制到~/.config/obs-studio/plugins/nvfbc/bin/64bit 

若此路径不存在则需先手动创建

安装完毕后再打开OBS就可以看到录制来源多了一个NvFBC source选项

NvFBC source

根据这个插件的项目主页介绍,暂时采用了现存和系统内存直接互相捣数据的方案,对于OBS来说还不是直接从显存的某个buffer直接读数据,因此还不是最优解。除非将来nvidia进一步开放api。

实测下来10700F+32G DDR4+1T NVME SSD(西数SN550)+1660ti 4K游戏+录像大约帧率损失在8%-10%。相比传统方式,大约70-80帧的原始性能,录像时动辄掉20-30帧;现在只损失6-8帧,有比较明显改善。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多