(详细)安装nvidia专有驱动并且正确配置,arch linux + lightdm + deepin desktop

安装这个主要在于NVIDIAxconflightdmlightdm.conf的配置
如果使用的是gdm,请参考gdm的配置,在文章末尾第二个链接中。

我经历的整个流程:

安装NVIDIA

  • 安装nvidia驱动,这里要根据NVIDIA的版本选择合适的软件包,
    我的是NVIDIA GeForce 850M,运行以下命令之后会自动安装两个包
sudo pacman -S nvidia-lts
  • 可选的安装支持32位应用的包
sudo pacman -S lib32-nvidia-utils 
  • 重启,发现无法启动lightdm

  • ctrl+alt+F2切换到控制台, 登录账户,运行生成配置,指令如下

sudo nvidia-xconfig
  • 如果自动生成配置不行的话,用最小配置,之后在自动生成配置,merge到最小配置,以下是最小配置,需要配置busID:
/etc/X11/xorg.conf
Section "Module"
    Load "modesetting"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "<BusID for NVIDIA device here>"	修改相应的busID (用 lspci | egrep 'VGA|3D' 来查看)
    Option "AllowEmptyInitialConfiguration"
EndSection
  • 新建文件/etc/lightdm/display_setup.sh,并填写内容如下
sudo vim /etc/lightdm/display_setup.sh
#!/bin/sh
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
  • 对这个文件添加执行权限
chmod +x /etc/lightdm/display_setup.sh
  • 配置lightdm的文件,来运行display_setup.sh
sudo vim /etc/lightdm/lightdm.conf 在其中的[Seat:*]版块添加:

[Seat:*]
display-setup-script=/etc/lightdm/display_setup.sh
  • 重新启动

解决屏幕撕裂

要解决,需要开启DRM kernel mode setting设置项

  • 在内核选项中添加参数 sudo vim /etc/default/grub
添加`nvidia-drm.modeset=1`到内核参数中
  • 编辑/etc/mkinitcpio.conf
    添加nvidia nvidia_modeset nvidia_uvm nvidia_drm到module版块
    如图:
    这里写图片描述

  • 运行下面mkinit命令,因为我的内核是lts,所以是linux-lts,否则就是linux

sudo mkinitcpio -p linux-lts
  • 添加pacman hook,以便当nvidia更新时,自动更新mkinitcpio

参考资料:
1. NVIDIA
2. NVIDIA Optimus
3. [SOLVED] Error at Boot After Nvidia Driver Install

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值