本文介绍在深度Deepin v20 Beta系统上实施Nvidia Prime方案,经过本人简单移植测试,在Deepin v20 Beta上Prime方案运行成功。不过有一点需要提前提示:我的方法有风险,不考虑清楚就胡乱照做后果自负。所测试的平台是:Deepin v20 Beta操作系统。
要求和操作方法 turing架构的GPU(真自动切换,即不用时会自动关闭N卡),非turing架构(假自动切换,你会发现独显一直跑着xorg,以此来实现“自动切换”,目前本人已知pascal、maxwell架构可以使用该方案,欢迎大家测试)。 NVIDIA版本:>=435.17(beta源已符合要求) Xorg-server版本:>=1.20.6-1(beta源低于这个版本:1.20.4) 如果你之前安装过其它方案比如bumblebee,请在做下列步骤前全部卸载掉。 安装好系统后,首先更新你的系统,然后安装nvidia驱动: sudo apt install nvidia-driver nvidia-smi nvidia-settings 安装过程中如果提示你禁用nouveau,那么安装完成后重启。这个过程如此简单大家都懂。 由于Xorg-server版本不符合要求,接下来需要添加源,终端执行: sudo nano /etc/apt/sources.list.d/debian.list 然后添加进如下内容: deb http://mirrors.ustc.edu.cn/debian/ unstable main contrib non-free 保存并退出,为了防止依赖关系混乱,还需要再执行: sudo nano /etc/apt/apt.conf 往里面加入如下内容: APT::Default-Release "apricot"; #这么一来,除非你自己指定使用unstable源安装软件,否则apt是不会用的 保存并退出。 接下来刷新你的源列表: sudo apt update 升级Xorg-server: sudo apt -t unstable install xserver-xorg xserver-xorg-core 升级完成后,还没完。安装这个包,使用dpkg -i: sudo dpkg -i nvidia-prime.deb 下载并解压以下这个包,解压得到.deb包再安装(不是改后缀名,我把.deb包用tar命令给压缩了): nvidia-prime.tar.gz下载在:https://bbs.deepin.org/forum.php?mod=viewthread&tid=191741。
然后注销,重新登录,打开nvidia-settings,如果你是像下图那样显示,证明Prime已经在运作,大功告成。你可能会遇到一个提示,说要用nvidia-xconfig创建文件,不用管它。
如果因为某种原因,没有像上图那样显示,那么你需要在/etc/X11/xorg.conf中显示指定(参见Arch wiki,以下将附上链接): sudo nano /etc/X11/xorg.conf 添加如下内容: Section "Device" Identifier "iGPU" Driver "modesetting" EndSection Section "Screen" Identifier "iGPU" Device "iGPU" EndSection Section "Device" Identifier "dGPU" Driver "nvidia" EndSection 注销重登,Prime应该会运作了。如果还不行,请在配置文件中添加BUSID参数,具体方法参考Arch wiki。 有些应用会自动调用你的独显运行,比如虚幻4,如果没有,这么做: prime-run command #使用prime-run运行软件 以Blender为例: prime-run blender 截图:
若要获得最佳游戏体验,这么做: export GAMEMODERUNEXEC=prime-run && gamemoderun command #别忘了安装gamemode 比如我的世界(Minecraft): #一个创建脚本的示例 #!/bin/bash PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/lib/jvm/default/bin cd $HOME/Minecraft && export GAMEMODERUNEXEC=prime-run && gamemoderun java -jar $HOME/Minecraft/HMCL-3.2.149.jar 如果你是用steam玩游戏的话,像古墓丽影9,它有可能识别不到你的显卡,你只需往启动参数设置粘贴如下内容,即可畅玩游戏: export GAMEMODERUNEXEC=prime-run && gamemoderun %command% 实际上要想发挥极致性能还得安装一些软件包,这里就不说了,超出了主题范围。虽然Windows才是打游戏的最佳选择,但是我已经习惯在Linux上玩游戏了,我的是Linux单系统。而且能在Linux上打游戏可以获得统一的Linux桌面体验,不用切换来切换去了。
后记 1.换源是一种非常危险的、破坏系统稳定的行为,所以我希望深度官方尽快将Deepin源的Xorg-server(习惯了Arch,我故意打错包名的,Debian包叫xserver-xorg)更新。 2.我是一名Arch Linux普通用户,之前我用过4年debian系发行版,不过现在Arch也用了快一年了,很多以前我在Debian上折腾过的操作都忘了,所以我只会一点简单的打包技术。 3.我最早知道Prime方案是在这里: https://wiki.archlinux.org/index.php/PRIME#PRIME_render_offload 所以说,用Linux,英语不好,天天骂Nvidia,老黄两行泪。 我发现的关于Prime新方案讨论:deepin v20支持NVIDIA的PRIME GPU offloading技术了吗? 问:NVIDIA开始提供类似于Windows上的双显卡自动切换技术PRIME Render Offload。前提条件是1,X.Org X Server 1.21、2.驱动版本到435,deepin v20能否满足这些条件?是否支持NVIDIA的PRIME Render Offload显卡自动切换技术? 答:目前为止只适用于图灵架构的gpu,如果你的gpu是pascal架构的,那就不用尝试了。turing架构基本上就是16系列和20系列,10系列的gpu是pascal的。 4.这个nvidia-prime包是我从Arch移植过来的。其实这个包里面就只有几个配置文件。
结语 1.GTX 1050就是pascal的,装了驱动也不会自动关闭N卡。GTX16**系列才是turing,RTX系列也是turing。 2./etc/X11/xorg.conf文件不需要再去手动创建,原生PRIME的原理是创建了一个虚拟显示器,需要独显渲染时候就调用虚拟显示器进行运算,并把结果反向输出到核显显示。 3.如果prime方案因某种原因没启用,就用xorg.conf显式启用。 4.实话说,linux重度使用者超过90%都不会拿来玩游戏,所以linux系统的笔记本最好买AMD的独立显卡,官方驱动不仅开源效果好,还支持Wayland,虽然打游戏的确不如nvidia,但用着舒服还省电。
相关主题 |