Ubuntu解锁N卡VGpu记录:解锁帧数限制,降压超频等

这篇具有很好参考价值的文章主要介绍了Ubuntu解锁N卡VGpu记录:解锁帧数限制,降压超频等。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Ubuntu解锁N卡VGpu记录以及DLC
前言:
把N卡解锁VGPu好处基本就是host DockerENvCu118和KVM-Guset-windows等都可以使用Cuda而且性能基本没什么损失,大概只支持包含20系以下的显卡,30系安培代码里包含,支持不支持我不清楚.

开搞:
根据这位写的做的:https://bytehorizon.net/archives/crystalast/74/
概况就是下驱动,打补丁合并融合,建立服务,原来地址复制有水印,我直接拿过来做个记录
我的环境:
Ubuntu 22.04.2 LTS
12400FOC4.9G 2080TI-22G
没什么好说的:

  1. apt update && apt upgrade -y
  2. apt install -y git build-essential dkms unzip python3-pip mdevctl jq -y
  3. pip3 install frida --break-system-packages

复制代码


下工具和补丁:

  1. git clone https://github.com/VGPU-Community-Drivers/vGPU-Unlock-patcher.git -b 525.105 --recursive
  2. git clone https://github.com/mbilker/vgpu_unlock-rs.git

复制代码


开启IOMMU和加载VFIO模块 PASS

  1. 编辑 /etc/default/grub ,添加下面的参数,开启iommu。
  2. # Intel处理器写入下面内容
  3. GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on"
  4. # AMD处理器写入下面内容
  5. GRUB_CMDLINE_LINUX_DEFAULT="amd_iommu=on"

复制代码


禁止N卡开源驱动为了安装解锁后的驱动 PASS
Ubuntu不加载开源驱动照样可以显示界面,无所谓,不用担心只能用命令行.

  1. echo "blacklist nouveau" >> /etc/modprobe.d/disable-nouveau.conf
  2. echo "options nouveau modeset=0" >> /etc/modprobe.d/disable-nouveau.conf
  3. update-initramfs -u
  4. reboot now

复制代码


更新Rust,反正我更新了

  1.     curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

复制代码


Grid驱动难搞要注册,烦!直接从这里下

  1. 此Github仓库有本文对应的NVIDIA GRID 15.2(525.105)驱动,下载 Linux-KVM 后缀的驱动包。
  2. https://github.com/justin-himself/NVIDIA-VGPU-Driver-Archive/releases
  3. 解压下载下来的驱动包,将解压后的 Host_Drivers 文件夹里面的 NVIDIA-Linux-x86_64-525.105.14-vgpu-kvm.run 移动到 vGPU-Unlock-patcher 下。

复制代码


下消费显卡驱动

  1. wget https://download.nvidia.com/XFree86/Linux-x86_64/525.105.17/NVIDIA-Linux-x86_64-525.105.17.run

复制代码


移动到vGPU-Unlock-patcher文件夹下
目录文件分布大概这样:

  1. doc
  2. nsigpatch.c
  3. NVIDIA-Linux-x86_64-525.105.14-vgpu-kvm.run
  4. NVIDIA-Linux-x86_64-525.105.17.run
  5. patches
  6. patch.sh
  7. README.md
  8. unlock

复制代码


vGPU-Unlock-patcher下执行命令,22.04STL更新完内核5.19所以直接执行:

  1. ./patch.sh general-merge
  2. 如果你的内核是6.1~6.3版本的,可以尝试下列选项:
  3. ./patch.sh --lk6-patches general-merge

复制代码


生成NVIDIA-Linux-x86_64-525.105.17-vgpu-kvm-merge-patched目录,进入执行:

  1. ./nvidia-installer --dkms

复制代码


一路无脑yes

  1. 安装和配置vgpu_unlock-rs
  2. 进入到 vgpu_unlock-rs 目录后,输入下面命令:
  3. cargo build --release
  4. cp './target/release/libvgpu_unlock_rs.so' /usr/local/lib

复制代码


------------

  1. 为了让NVIDIA驱动使用vgpu_unlock,这里修改NVIDIA驱动的Systemd服务文件:
  2. mkdir /etc/systemd/system/nvidia-{vgpu-mgr,vgpud}.service.d
  3. echo '[Service] \
  4. Environment=LD_PRELOAD=/usr/local/lib/libvgpu_unlock_rs.so' | tee /etc/systemd/system/nvidia-{vgpu-mgr,vgpud}.service.d/vgpu_unlock-rs.conf > /dev/null
  5. 完成上面的操作后,运行下面命令将两个服务设置为开机运行:
  6. systemctl enable nvidia-{vgpu-mgr,vgpud}.service

复制代码


以上命令生成的了两个服务文件长这样:
两个vgpu_unlock-rs.conf内容:

  1. [Service]
  2. Environment=LD_PRELOAD=/usr/local/lib/libvgpu_unlock_rs.so

复制代码


重启

  1. mdevctl types

复制代码


生成一堆内容:

  1. .............
  2. nvidia-262
  3. Available instances: 1
  4. Device API: vfio-pci
  5. Name: GRID RTX6000-12Q
  6. Description: num_heads=4, frl_config=60, framebuffer=12288M, max_resolution=7680x4320, max_instance=2
  7. ............

复制代码


如果没输出就要尝试重启服务:

  1. systemctl restart nvidia-{vgpu-mgr,vgpud}.service

复制代码


反正反正选Q系列,我选择了上面那个RTX600-12Q 代表12G显存,然后执行命令:

  1. uuidgen
  2. 67b12fbc-dd76-4dd5-9bc4-f216190801d6
  3. mdevctl start -u 67b12fbc-dd76-4dd5-9bc4-f216190801d6 -p 0000:01:00.0 --type nvidia-262
  4. mdevctl define -a -u 67b12fbc-dd76-4dd5-9bc4-f216190801d6

复制代码


这个基本上就完事了:建立KVM虚拟机时候,添加MDEV Host Device就可以了,然后解决授权问题,这里KVM虚拟机选择default nat网络默认那个就行,windows驱动在下载那个驱动包里Guset_Drivers文件夹中
授权要申请,烦,直接docker拿现成的:

  1. docker run --name dls -d -e DLS_URL=192.168.122.1 -e DLS_PORT=1234 -p 1234:443 makedie/fastapi-dls
  2. docker update --restart=always dls

复制代码


这个192.168.122.1就是default nat虚拟网络的host地址

  1. 让虚拟机的GRID驱动获取许可
  2. 在虚拟机内,使用刚才填的DLS_URL和DLS_PORT访问容器并下载Token,例如上面的例子就是:
  3. https://192.168.122.1:1234/client-token
  4. 注意!在写地址时一定要加上HTTPS后缀,否则无法访问!
  5. Windows下,把下载的token文件放进虚拟机的 C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken 文件夹内,然后重启 NvContainerLocalSystem 服务。

复制代码


DLC部分:
但是如果你要跑3d程序你会发现一个问题,被限制在60帧,用以下命令解锁,有需求就加入启动命令行进行固化:

  1. echo "frame_rate_limiter=0" > /sys/bus/mdev/devices/67b12fbc-dd76-4dd5-9bc4-f216190801d6/nvidia/vgpu_params

复制代码


uuid根据自己需求改写
Linux可以降压超频达到小飞机拉平曲线的效果,三个命令结合在一起,示例如下:

  1. nvidia-settings -a '[gpu:0]/GPUGraphicsClockOffset[4]=260'
  2. nvidia-settings -a '[gpu:0]/GPUMemoryTransferRateOffsetAllPerformanceLevels=2000'
  3. nvidia-smi --lock-gpu-clocks=300,1875

复制代码


加入到启动命令中就可以固化
windows免费的远程控制软件推荐:RustDesk,512M内存用一键脚本自建一个debian Rust中继服务器就行,安装时候注意清空那个下载文件,他脚本写的时候没考虑过下载失败改怎么办.
End;
 

vgpu_unlock,ubuntu,linux,运维


 

vgpu_unlock,ubuntu,linux,运维



 文章来源地址https://www.toymoban.com/news/detail-825832.html

到了这里,关于Ubuntu解锁N卡VGpu记录:解锁帧数限制,降压超频等的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解锁ChatGPT的潜能:API调用中运用聊天记录

    视频讲解 在过去我通过chatgpt调用api时只知道进行孤立的调用,即这一次调用时,chatgpt并没有拿到上一次调用的上下文,这无疑损失很大。通过探索,我知道了如何通过修改messages这个字典类型的list来告知chatgpt我和它的聊天历史。 关键代码如下 让我们近距离观察一下传入请

    2024年02月15日
    浏览(36)
  • OllyDbg 使用 快捷键 界面 实战:修改数据 修改代码 获取正确序列号,重要数据等 跳过关键验证 改试用期 解锁限制的功能 安防安全行业基础

    1、按住F8直到 找到位置 (弹出一个MessageBox窗口) 2、再次,进入到位置里, 找到要改的值 3、修改值(根据数据地址,到数据面板 按下Ctrl+G 输入 地址 鼠标选中要改的地方,按下空格键输入要改动字符。) 4、永久保存(选中改过的部分–右键选择复制到可执行程序–备份

    2024年02月21日
    浏览(32)
  • 记录--前端实现并发请求限制

    前两天我的新同事告诉我一个困扰着他的问题,就是低代码平台中存在很多模块,这些模块的渲染是由模块自身处理的,简言之就是组件请求了自己的数据,一个两个模块还好,要是一次请求了几十个模块,就会出现请求阻塞的问题,而且模块的请求都特别大。 大量的并发请

    2024年02月08日
    浏览(26)
  • 尝试给笔记本超频

    超频(英语:overclocking)是 把一个电子配件的时脉速度提升至高于厂方所定的速度运作,从而提升性能的方法 ,但此举有可能导致该配件稳定性以及配件寿命下降。 笔记本配置为: 处理器    AMD Ryzen 7 7730U with Radeon Graphics            2.00 GHz 机带 RAM    16.0 GB (13.8 GB 可用

    2024年04月23日
    浏览(52)
  • 阿里云访问端口被限制解决方法记录

    阿里云服务器,80端口可以访问,但是加入了安全组端口8080 通过公网访问改端口策略,发现不能被访问 问题出在防火墙,需要重置一下 解决方法: 在运行的服务器上执行如下命令: 刷新页面即可

    2024年02月12日
    浏览(26)
  • CPU超频烤机温度多少算正常?

    随着CPU生产工艺及控制程序的逐步发展,进行CPU超频最大的问题就是温度控制问题,温度控制得当,CPU就能在较高的工作频率稳定运行。那么,CPU超频烤机温度多少算正常,CPU一直超频怎么解决?本文结合实例,向大家作简要说明。 一、CPU超频烤机温度多少算正常 一般来说

    2024年02月09日
    浏览(52)
  • Ubuntu 限制 指定端口和IP 访问

    限制端口和IP的时候 要注意别自己登陆不进去了,要不就惨了。 只允许指定的IP访问服务器的指定端口:22 只允许访问的ip: 192.168.1.1 192.168.1.2 192.168.1.3,禁止其他IP访问 注意: 上面执行的命令是有先后顺序的,一定要先禁止端口访问,在允许指定的IP访问。 然后 执行 

    2023年04月08日
    浏览(28)
  • AMD老电脑超频及性能提升方案及实施

    收拾电子元件的时候找到了若干古董的CPU 其中有一个X3 440 是原来同学主板烧了之后给我的,我从网上配了AM2 昂达主板,然后又买了AMD兼容内存,组成了win7 64位电脑,用起来非常不错,我把硬件配置和升级过程说明下,先看现在的配置: 处理器: 其中前端总线和总线速度都

    2024年02月05日
    浏览(36)
  • xilinx zynq7000系列 sdio时钟超频详解

    zynq7000的时钟系统很简单,首先是PS_CLK输入时钟,这是外部33.33333Mhz晶振时钟,直接输入到三路PLL(锁相环),分别是 ARM PLL、I/O PLL、DDR PLL;ARM PLL给 CPU核心、SCU(用来管理多核通信)、OCM、AXI总线提供时钟;I/O PLL给各类外设包括SDIO、USB、Ethernet等提供时钟;DDR PLL仅用来给DDR2/3提供

    2023年04月08日
    浏览(33)
  • Opencv获取当前视频长宽、总帧数、fps

    Opencv提供了类似java中静态变量的参数,可以通过get(参数)获取当前视频的信息,参数类别还是挺多的,按照需求查手册或源码即可。 还有很多其他的参数可以获取,大家可以按照自己的需求查取。

    2024年01月22日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包