云网牛站
所在位置:首页 > Linux教程 > 在Deepin v20 Beta系统上实施Nvidia Prime方案

在Deepin v20 Beta系统上实施Nvidia Prime方案

2020-04-19 11:21:54作者:risez稿源:深度站

本文介绍在深度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。

在Deepin v20 Beta系统上实施Nvidia Prime方案

然后注销,重新登录,打开nvidia-settings,如果你是像下图那样显示,证明Prime已经在运作,大功告成。你可能会遇到一个提示,说要用nvidia-xconfig创建文件,不用管它。

在Deepin v20 Beta系统上实施Nvidia Prime方案

如果因为某种原因,没有像上图那样显示,那么你需要在/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

截图:

在Deepin v20 Beta系统上实施Nvidia Prime方案

若要获得最佳游戏体验,这么做:

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,但用着舒服还省电。

 

相关主题

显卡驱动切换到nvidia prime后噪音过大和过热的解决办法

精选文章
热门文章