2024年11月21日

HYEOS

随事而为

gentoo nvidia独立显卡黑屏问题解决

1 min read

今天在VIRTUALBOX安装MACOS 10.15安装HOMEBREW的时间段里空闲,于是在网上又找了一下关于GENTOO NVIDIA独立显卡驱动黑屏的问题,终于找到一篇中文博客上面比较详细的解释了之前我未能明白的原因。

想直接读原文博客的请前往CSDN原文地址:点击跳转阅读

顯卡 分 muxed 及 muxless

muxed顯卡可以單獨用來計算/處理3D並且顯示出來所以可以切換

muxless顯卡只用來計算/處理3D再交給Intel(或AMD)集成顯卡顯示(猜測這是3Dcontroller名稱的由來)一般不必切換

由於 muxless 顯卡 計算/處理 3D 再交給 Intel (或 AMD) 集成顯卡 顯示 的分工 可以使得 顯卡溫度降低 效能提高 具有 optimus 功能的 nVidia 顯卡 目前 大部分是 這種設計

简言之,多数双显卡不使用multiplexer(mux),独立显卡无法独立工作,它们只负责计算,而显示要靠集成显卡。如果你执行“lspci | grep nvidia -i”得到的显示是3D controller而不是VGA,那么你就属于muxless这种情况。

针对这种情况,一种解决方案是安装bumblebee,还有一种解决方案,就是使用X Resize and Rotate Extension1.4(xrandr1.4),这也是nvidia官方提供的解决方案。

一、首先编辑/etc/X11/xorg.conf。下面是一个例子。

Section "ServerLayout"
Identifier "layout"
Screen 0 "nvidia"
Inactive "intel"
EndSection

Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "01:00:0"
Option "RegistryDwords" "EnableBrightnessControl=1"
EndSection

Section "Screen"
Identifier "nvidia"
Device "nvidia"
Option "AllowEmptyInitialConfiguration"
EndSection

Section "Device"
Identifier "intel"
Driver "modesetting"
EndSection

Section "Screen"
Identifier "intel"
Device "intel"
EndSection

其中的BusID需要根据实际情况来改,不过示例中的BusID**貌似**能胜任大多数情况。

二、修改startx或DM的启动脚本
我用的DM是SDDM,需要修改/usr/share/sddm/scripts/Xsetup文件,在该文件末尾添加以下内容:

xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

结果如:

#!/bin/sh
# Xsetup - run as root before the login dialog appears

xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

其中第一句的内容是让nvidia作为modesetting的显示输出的源。

其它情况参考Genoo Wiki

 

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注