Asus ROG Zephyrus G14 / 幻14 Ubuntu 外接HDMI显示屏检测不到,AMD核显驱动配置,AMD+Nvidia双显卡配置

Linux新手,入门时候用过Intel+Nvidia的配置,摸索了一段时间就稳定了。
最近新买了华硕的玩家国度 幻14 笔记本,配置AMD+Nvidia,具体如下

  • AMD Ryzen™ 9 4900HS
  • NVIDIA® GeForce RTX™ 2060 with Max-Q Design

按照传统方法(nomodeset=0)可以正常安装Ubuntu,但是安装Nvidia驱动后仍然无法检测到HDMI外接显示器,设置界面里的显示器只显示内置显示器为 Unknow DIsplay,并且没有多屏控制的UI界面。使用xrandr指令会报错 failed to get size of gamma for output default。启动nvidia-settings的时候会报错,并且运行后UI只有简单三行选项,并无多屏/切换驱动的选项。

以下为我的解决过程,主要参考 https://askubuntu.com/questions/1244376/cant-get-internal-and-external-monitor-working-simultaneously-with-20-04-on-lap,如有错误欢迎指出!

花了接近一周,试过各种普遍的解决方法,试过基于Debian的各种发行版以及不同版本的Nvidia驱动都是同样的问题,最后在尝试 Deepin 的时候,启动时看到报错 **ERROR** VGACON disables amdgpu kernel modesetting,才突然意识到AMD的核显可能出了故障,上网查询发现官网并未提供AMD Ryzen™ 9 4900HS核显的Linux驱动。Deepin的显卡管理器也同样报错,不支持此种双显卡组合,于是基本确定是AMD显卡导致的多屏故障。

网上关于AMD核显驱动的教程过于少,大费周章终于找到了一篇详尽的配置教程 :
https://askubuntu.com/questions/1244376/cant-get-internal-and-external-monitor-working-simultaneously-with-20-04-on-lap
包涵AMD显卡驱动支持,Nvidia显卡驱动安装,以及设定Nvidia为首要GPU。
英文过关的可以直接访问上面链接,我也在这里翻译总结一下当做笔记:)括号内为个人注释。
新手比较习惯使用图形界面,因此全部操作均在Ubuntu图形界面下操作。如有黑屏/登录界面循环,可以尝试Recovery模式下操作。

  1. 添加 amdgpu.exp_hw_support=1(实验性的Renior驱动支持) 到 /etc/default/grub.
    方法:

    打开grub

    sudo gedit /etc/default/grub
    

    GRUB_CMDLINE_LINUX_DEFAULT=一行双引号内的末尾,添加 amdgpu.exp_hw_support=1. 例如(前面参数因人而异,但是应该删除nomodeset):

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amdgpu.exp_hw_support=1"
    

    保存退出,并运行以下指令更新grub:

    sudo update-grub
    

    然后重启

  2. 将 nouveau driver加入黑名单.
    /etc/modprobe.d/ 内创建配置文件

    sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
    

    并加入以下属性:

    blacklist nouveau
    options nouveau modeset=0
    

    保存退出,并运行以下指令更新

    sudo update-initramfs -u
    

    然后重启
    (可运行lsmod | grep nouveau,无输出代表禁用成功)

  3. 安装Nvidia驱动(和网上众多教程基本一样)
    3.1 卸载已有驱动

    sudo apt-get remove --purge '^nvidia-.*'
    sudo apt-get install ubuntu-desktop
    sudo rm /etc/X11/xorg.conf (如果没有该文档并不影响)
    

    重启
    3.2 安装新驱动(多种方法都行)
    例如:

    sudo apt-get install nvidia-driver-440
    
  4. 将Nvidia设为首要显卡。
    编辑amdgpu nvidia的X11配置文件. 文件路径 /usr/share/X11/sorg.conf.d/.
    修改amdgpu显卡配置:

    sudo gedit /usr/share/X11/xorg.conf.d/10-amdgpu.conf
    

    修改为

    Section "OutputClass"
        Identifier "AMDgpu"
        MatchDriver "amdgpu"
        Driver "amdgpu"
        Option "PrimaryGPU" "no"
    EndSection
    

    修改Nvidia显卡配置:

    sudo gedit /usr/share/X11/xorg.conf.d/10-nvidia.conf
    

    修改为

    Section "OutputClass"
    	Identifier "nvidia"
    	MatchDriver "nvidia-drm"
    	Driver "nvidia"
    	Option "AllowEmptyInitialConfiguration"
    	Option "PrimaryGPU" "yes"
    	ModulePath "/usr/lib/x86_64-linux-gnu/nvidia/xorg"
    EndSection
    

    重启。

此时启动后,设置->显示 应该包括多屏控制界面,终端运行xrandr也不再报错,nvidia-settings应正常运行所有功能。连上外接屏幕后就可以正常配置双屏了。

如有错误,欢迎指正!

参考链接:
https://askubuntu.com/questions/1244376/cant-get-internal-and-external-monitor-working-simultaneously-with-20-04-on-lap

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值