Deepin V20 Beta双显卡安装NVIDIA驱动(联想拯救者Y7000)

NVIDIA安装前

需要在安装驱动之前首先禁止nouveau驱动,在Deepin中运行以下命令:

sudo nano /etc/modprobe.d/blacklist.conf

然后在打开的blacklist.conf文件中添加如下内容:

blacklist nouveau

options nouveau modeset=0

然后执行命令:

sudo update-initramfs -u

一直等到检测结束,退出重启电脑,重新启动后验证是否成功,运行以下命令:

lsmod | grep nouveau

注:如果页面没什么反应、无输出什么内容即为成功。

 

NVIDIA安装过程

1、如果之前在Deepin中安装过NVIDIA驱动或大黄蜂方案,请将其全部删除:

sudo apt remove  nvidia*  bumblebee*

2、卸载完成后,使用快捷键CTRL+ALT+F3进入init3模式。

3、暂时关闭图形界面:

sudo service lightdm stop

4、给下载好的nvidia驱动文件设置执行权限,以下为下载440.82版本:

sudo chmod a+x  /home/用户名/Downloads/NVIDIA-Linux-x86_64-440.82.run

5、驱动安装(根据个人情况选择驱动文件所在目录):

sudo  sh  /home/用户名/Downloads/NVIDIA-Linux-x86_64-440.82.run

6、安装过程中,开始两个选项选YES,第三个选项选中间那个带over的,最后一步问你是否重启系统,选NO;因为驱动完成了还要配置,不然开机可能黑屏。

以下配置信息是从Deepin论坛一楼主那里复制过来的,亲测前半部分有效,后半部分没有遇到所说的现象,所有没有测试

7、配置xorg
查看显卡的BusID,后面配置要用。
终端输入:lspci | egrep "VGA|3D" 
我的2张显卡分别对应的是 
00:02:00    intel
01:00:00    nvidia
然后新建一个xorg.conf
sudo vim /etc/X11/xorg.cnf
这里要进行转换一下,00:02:00 --> 0:2:0  01:00:00 --> 1:0:0
配置内容如下
Section "Device"
  Identifier "nvidia"
  Driver "nvidia"
  BusID "PCI:1:0:0"
  Option "AllowEmptyInitialConfiguration"
EndSection
Section "Device"
  Identifier "intel"
  Driver "modesetting"
  BusID "PCI:0:2:0"
EndSection
再接着新建一个display_setup.sh
sudo vim /etc/lightdm/display_setup.sh
内容如下
#!/bin/sh
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
然后赋予权限
sudo chmod +x /etc/lightdm/display_setup.sh
然后在lightdm里配置启用这个脚本
sudo vim /etc/lightdm/lightdm.conf
找到 display-setup-script这一行,去掉前面的注释,将display_setup.sh这个目录填进去
display-setup-script=/etc/lightdm/display_setup.sh
做完这些操作就可以重启了。
如果发现重启之后无法进入桌面,按CTRL+ALT+F3进入TTY命令行模式,可以试试排错,一般来说不能进入桌面,应该是lightdm.service出了问题,可以用
systemctl status lightdm.service
来查看lightdm的状态。
还可以尝试看看日志来确认错误,一般出错的可能在ligthdm和xorg连接上,可以查看x-0.log这个文件来看看问题处在哪里。

如果很幸运重启进入桌面了,终端输入nvidia-smi,显示显存被使用了,恭喜你,NVIDIA驱动安装成功了。

(本人就这么幸运安装成功了,驱动安装到此为止)

 也有显存占用一直为0的,下面有解决方案,未经测试,小心配置

配置NVIDIA渲染资源
终端输入nvidia-smi命令发现nvidia的显存占用一直是0,那说明显卡根本没起作用,接下来需要配置一下
终端输入:nvidia-xconfig
会备份之前的xorg.conf为xorg.conf.backup,生成一个新的xorg.conf,按照以下格式来修改xorg.conf文件,需要修改或新增的地方我用 {} 标注出来,其他地方能不动最好别动。
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 440.82

Section "ServerLayout"
    Identifier     "Default Layout"
    Screen         "{nvidia}" 0 0 //修改,原先应该是Default Screen
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Inactive        "intel"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "Device"
    Identifier     "intel"
    Driver         "{modesetting}" //修改 原先应该是nvidia
    {BusID        "PCI:0:2:0"} //新增
EndSection

{Section "Screen" //新增
        Identifier        "intel"  //新增
        Device        "intel"  //新增
        DefaultDepth        24 //新增,这行内容来自下面nvidia生成的,必须跟下面那个Screen的DefaultDepth一致
EndSection}

Section "Device"
    Identifier     "nvidia"
    Driver         "nvidia"
   {BusID          "PCI:1:0:0"} //新增,生成之后不包括这个参数 这行下面的Option 移到 Screen里去了
EndSection

Section "Screen"
    Identifier     "{nvidia}" //修改 原先的值为Default Screen
    Device         "nvidia"
{Option        "AllowEmptyInitialConfiguration"} //新增 这行原先属于上面那个Section "Device" Identifier "nvidia" 的,不过官方文档说的是加上这里
    DefaultDepth    24 //这个下面还有一个SubSection 官方文档没有我给删除了
EndSection

主要修改的是2个Device和2个Screen,每个显卡对应1个Device 1个Screen,然后在内容最上面那条的Screen引用n卡的Screen。
然后加一个内核启动参数
sudo vim /boot/grub/grub.cfg
找到 'Deepin 20 Beta GNU/Linux' 下面的 linux  /boot/vmlinuz-5.3.0-3-amd64 这一行, 在最末尾加上nvidia-drm.modeset=1,按ESC输入:wq保存

配置完成之后重启,再试试nvidia-smi,就可以看到n卡占用不再是0了。而且还有一个很重要的标识
 
你会发现,你运行的程序的进程都会在这里出现。这才是真正的用上了N卡驱动。

你可能感兴趣的:(Deepin V20 Beta双显卡安装NVIDIA驱动(联想拯救者Y7000))