ubuntu18.04 让独显全部用于运算

首先说明一下我的电脑配置以及准备工作:
ubuntu18.04
华硕主板z390
双卡RTX 2080Ti

准备工作:必须保证你的CPU有核显,我在平常使用的时候已经把两个显示器都插在主板上了(没有插在GPU上),且在BIOS里面"高级—北桥—显示设置—首选显卡—选为CPU),同时将iGPU设置中改为enable"了

痛点来源:

  1. 因为每次看到代码跑起来时候卡0总会比卡1少1GB左右的显存,有的时候就是差这么点不能跑起来,
  2. 还有因为卡0有用于显示输出,所以温度平常都会很高,不利于长期寿命
  3. 大显存被占用时使用别的浏览器或者IDE之类的东西会有延迟
    放一张之前的图(拍的别人的,之前的没留一张):
    在这里插入图片描述
    可以看到总会有/usr/lib/xorg/Xorg/usr/bin/gnome-shell这样的进程占用独显显存,我自己电脑占用的更大,因为有两个显示器,下面的...AAAAAAAAA= --shared-files是开了谷歌浏览器的原因

想做的:
5. 就是没有运算的时候双卡都应该空载,只用核显做输出,当独显高负荷运转时不影响屏幕观看使用


主要看的教程就是来自这里: Intel for display, NVIDIA for computing

一. 卸载原有N卡驱动

1.1A 原来用PPA安装的

我之前用PPA源安装过NVIDIA显卡驱动,是带有OpenGL,所以需要卸载重装:

sudo apt purge nvidia*
sudo apt autoremove

可用下面的命令检查一遍,是否有关nvidia的东西都卸载干净了:

dpkg -l | grep nvidia

像我的话就还有libnvidia-compute-460:amd64这样的东西没删掉,所以我就用下面的命令手动删除了:

sudo dpkg -P <package_name> # 像我的话就是:sudo dpkg -P libnvidia-compute-460:amd64

其次有关nvidia仓库的东西也要清理,去/etc/apt/sources.list.d/下面查看,如果没有装过别的东西的话,应该会有graphics-drivers-ubuntu-ppa-bionic.list,这是上次安装显卡驱动的时候生成的.可以用下面的删除,不放心的话可以先备份一下:

sudo rm graphics-drivers-ubuntu-ppa-bionic.list

1.1B 原来用.run文件安装的

之前用.run文件安装的显卡驱动,可以这样卸载(因为我之前没有这样安装过,这里的命令我没有试过):

sudo nvidia-uninstall

1.2 重启

完成1.1以后就可以重启了,reboot.我重启之后没有发现显示不了或者分辨率改变的问题,因为我已经在bios里面设置为cpu为首选显示了,然后DP和HDMI线也都插在主板上了,有问题的可以从这两方面入手

二. 安装不带OpenGL的N卡驱动

这里我用的是PPA源安装的,其实步骤和原来的差不多,就是不带现在安装不带OpenGL了

2.1A 用PPA源安装

添加ppa源仓库:

sudo add-apt-repository ppa:graphics-drivers/ppa

安装无外设显示的NVIDIA驱动(这里可以用ubuntu-drivers devices看一下推荐的版本,我个人用的是450):

sudo apt install nvidia-headless-450 nvidia-utils-450

之前安装的时候都是用的nvidia-driver-450,这样是包括了用于外设显示的OpenGL,但是我们却不想这样.nvidia-utils-450是为了让我们可以使用nvidia-smi这样的工具.
注意这里不要急着重启,因为你现在重启会出现无限循环登录
安装好显卡驱动后还要进行配置文件的编写,请看步骤三

2.2B 用.run文件安装

这里依旧可以用.run文件安装,也只是不带OpenGL:

  1. 官网下载所需要的.run驱动文件
  2. 禁用nouveau,通过创建/etc/modprobe.d/blacklist-nouveau.conf文件,并写入:
    blacklist nouveau
    options nouveau modeset=0
    
  3. 执行下面的语句使之生效然后重启:
    sudo update-initramfs -u
    
  4. ctrl+alt+F1进入tty1命令行界面,关闭lightdm这些显示服务:
    sudo /etc/init.d/lightdm stop
    
  5. 运行.run文件安装驱动,这里以418版本为例,根据你自己下载的版本自行修改(一定要带命令--no-opengl-files):
    sudo ./NVIDIA-Linux-x86_64-418.56.run --no-opengl-files
    
    安装好后用nvidia-smi应该可以看到显卡信息了.这里最好也先不要重启,但是我没有用这样方法试过,所以也不好说,可以修到步骤三去修改配置文件

三. 配置Xorg

我们可以编写下面的配置文件来强制Xorg使用核显,新建/etc/X11/xorg.conf文件,并用sudo权限编写如下内容:

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "intel"
    VendorName     "Intel Corporation"
    BusID          "PCI:0:2:0
EndSection

如果你是单个显示器,那就像这样就差不多了,只是去看一下lspci | grep VGA输出的核显前面的填到上面的BusID,比如我的:
在这里插入图片描述
如果是双显示器,模仿下面的编写:

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "modesetting"
    VendorName     "Intel Corporation"
    BusID          "PCI:0:2:0
    Option         "TearFree" "true"
    Option         "monitor-DP-1" "DP"
    Option         "monitor-HDMI-2" "HDMI"
EndSection

Section "Monitor"
    Identifier "DP"
    Option     "Left"
    Option     "Primary" "true"
EndSection

Section "Monitor"
    Identifier "HDMI"
    Option     "RightOf " "DP"
EndSection

这里解释一下,主要多了两个Section “Monitor”,第一个设置首显示器因为我用的是dp,所以写DP,位置是在左边,而第二个显示器我用的是HDMI,是在用DP的显示器的右边

然后可以重启了
nvidia-smi应该可以看到显卡信息,并且是空载:
在这里插入图片描述
虽然我不知道我的这6MB是哪里来的,不过这已经可以忽略了,大功告成!

四. 在笔记本上怎么弄

我后来又在笔记本上试了一下,配置为1660ti,发现有几个地方与上面不同的,都为实测经验之谈:
1、发现笔记本用ppa源安装完之后确实也能达到0MB的显存空载,但是会有屏幕横纹出现,当用向日葵的时候屏幕会有一些黑条会浮动,后来重装ubuntu系统后用了.run方法装(唯一的与上面台式机不同就是没有编写xorg.conf去强制使用核显,这时会有xorg进程占用显存,但是非常小,只有4MB,而且不会增加,但是没有屏幕的上述问题,感觉也还是很好的)
2、当用.run装的时候需要注意几点:按ctrl+alt+F1进入tty1命令行界面这个得针对自己电脑,比如我的惠普就是按ctrl+alt+F3或者F4后面的几个键进入tty界面,反而按ctrl+alt+F1是进入图形化界面,这个尝试一下即可
3、这里需要去官网下载适合自己显卡的.run文件,注意最好用最新版的,比如我用了430的没有安装成功,用了465的就成功了,还有用.run装之前你得确保你gcc和g++已经装好了,因为它要编译
在这里插入图片描述

  • 8
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

laizi_laizi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值