您尚未登录。

#1 2024-03-10 14:38:30

ErrorPower
会员
注册时间: 2024-03-10
帖子: 2

求助,NVIDIA 专有驱动在启用 DRM KMS 后,在启动任何图形界面前 vConsole 无法进行亮度调节

机器配置

联想拯救者 笔记本电脑 R7000P 2020H(82GR)
CPU:AMD Ryzen 7 4800H
GPU:NVIDIA RTX 2060(TU106M)
以独显直连模式启动系统,不经过集成显卡


描述

首先默认全新安装情况(根据 archlinux wiki 的安装指南)下,使用的 Nouveau 驱动可以通过写入 /sys/class/backlight/nv_backlight/brightness 更改亮度。我使用的 gnome 45 桌面也可以在 gdm 里选择 Wayland 还是 Xorg。

根据 NVIDIA 安装了 nvidia 包,并且修改了 /etc/mkinitcpio.conf 中的 HOOKS 删除了 kms;
为了启动 DRM KMS,添加了内核参数 nvidia_drm.modeset=1;
尝试解决本主题问题(Early loading: ...or are noticing startup issues),遂进行早启动 DRM KMS,在 /etc/mkinitcpio.conf 中添加了 nvidia、nvidia_modeset、nvidia_uvm、nvidia_drm 模块;
最后重新生成了 initramfs:

$ cat /boot/EFI/refind/refind.conf
...
menuentry "Arch Linux" {
    ...
    options "... nvidia_drm.modeset=1"
    ...
}
$ cat /etc/mkinitcpio.conf
...
MODULES=( nvidia nvidia_modeset nvidia_uvm nvidia_drm )
...
#HOOKS=( ... kms ... )
HOOKS=( ... ... ... )
...
# mkinitcpio --allpersist

此时重启后可以验证 nvidia_drm.modeset=1 正确应用:

# cat /sys/module/nvidia_drm/parameters/modeset
Y

安装与配置完成后,背光路径变更为:/sys/class/backlight/nv_backlight/brightness --> /sys/class/backlight/nvidia_0/brightness,Nouveau 驱动也正确的被 nvidia-utils 屏蔽


出现的问题

当前,对新的路径写入亮度时 vConsole 不会发生变化;gdm 也消除了 Wayland 的启动选项,但是根据 ArchWiki 描述这是 gdm 故意为之,可更改配置文件。

但若,此时启动一些图形界面(我尝试启动过 gdm+gnome、xinit+bspwm,貌似这两者在本主题的情况下,都是以 Xorg 启动的,那么可以认为我是没有测试过 Wayland),图形界面启动后 亮度值会被正常应用,此时 vConsole 和图形界面的亮度 都可以通过 /sys/class/backlight/nvidia_0/brightness 调整

总结:问题的关键在于,是什么控制了亮度?为什么它在系统刚启动的时候不起作用?又是什么在启动了图形界面后让它起了作用?


不确定的问题

我的题目描述可能有误,使用 NVIDIA 专有驱动时不启用 DRM KMS 也可能会出现本主题问题,但是发布时未经测试。
不进行 DRM KMS 早启动也存在本主题的问题。

Update: 禁用了内核参数 nvidia_drm.modeset=1 且不论保留 DRM KMS 早启动,ACPI 接口 /sys/class/backlight/ 都变得不可用。
添加任意 acpi_backlight 内核参数 问题依旧存在。


求助

我是不是个例?是否有解决办法?


第一次发帖,有误请见谅!

最近编辑记录 ErrorPower (2024-03-13 16:07:07)

离线

页脚