在搭载 Ryzen 6800H、Radeon 显卡 + Nvidia RTX 3070 GPU 的笔记本电脑上,无法在 Ubuntu 22.04.3 中更改屏幕亮度/背光级别

在搭载 Ryzen 6800H、Radeon 显卡 + Nvidia RTX 3070 GPU 的笔记本电脑上,无法在 Ubuntu 22.04.3 中更改屏幕亮度/背光级别

今天(2023 年 12 月 12 日),我在华硕双启动笔记本电脑上重新安装了 Ubuntu 22.04.3,其规格为“Ryzen 6800H 带 Radeon 显卡 + Nvidia RTX 3070 GPU”。当我尝试更改屏幕亮度(使用FN + F7/F8组合键)时,亮度“条”似乎发生了变化,但屏幕仍保持在 100% 亮度(被屏幕弄得眼花缭乱)。“lshw”的输出为:

$ lshw -c video
*-display                 
       description: VGA compatible controller
       product: GA104M [GeForce RTX 3070 Mobile / Max-Q]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: vga_controller bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: iomemory:7c0-7bf iomemory:7e0-7df irq:105 memory:fb000000-fbffffff memory:7c00000000-7dffffffff memory:7e00000000-7e01ffffff ioport:f000(size=128) memory:fc000000-fc07ffff
  *-display
       description: VGA compatible controller
       product: Rembrandt
       vendor: Advanced Micro Devices, Inc. [AMD/ATI]
       physical id: 0
       bus info: pci@0000:05:00.0
       logical name: /dev/fb0
       version: c8
       width: 64 bits
       clock: 33MHz
       capabilities: vga_controller bus_master cap_list fb
       configuration: depth=32 driver=amdgpu latency=0 resolution=2560,1440
       resources: iomemory:7e0-7df iomemory:7e0-7df irq:49 memory:7e10000000-7e1fffffff memory:7e20000000-7e201fffff ioport:d000(size=256) memory:fc500000-fc57ffff

从上面的输出可以明显看出,我正在使用在“软件和更新”下激活的 Nvidia 专有驱动程序:

在此处输入图片描述

过去,大概几个月前,使用这些专有驱动程序可以让我控制亮度。但现在不行了。

我也尝试安装“亮度控制器”,但它也无法改变屏幕亮度。但是,我注意到可以通过更改文件内的值来控制屏幕亮度/sys/class/backlight/amdgpu_bl0/brightness(感谢我女朋友的网上搜索),该文件最初的值为255。如果我将其更改为 100,显示器的亮度确实会改变,但这不是理想的解决方案。

FN + F7/F8我该如何解决这个问题?我只想像在 Windows 11 中一样控制亮度。

答案1

根本问题是使用正在更改相应目录中文件FN + F7/F8内的亮度值:nvidia

/sys/class/backlight/nvidia*/brightness

而不是文件amd

/sys/class/backlight/amd*/brightness

因此亮度“条”似乎发生了变化,但实际上并没有改变屏幕亮度,因为我的显示实际上是由 Ryzen 6800H 附带的 AMD 集成 GPU 输出的。

通过编辑文件中的 Grub 配置解决了该问题:

/etc/default/grub

添加amdgpu.backlight=0以下行:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

因此你有:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amdgpu.backlight=0"

为了完整性,请按如下方式执行上述步骤:

$ sudo gedit /etc/default/grub

amdgpu.backlight=0然后按照上述说明添加说明符。然后保存并退出 gedit,然后执行以下操作:

$ sudo update-grub

然后重启。重启后,您现在应该能够使用 来控制屏幕亮度Fn + F7/F8。有趣的是,工具“亮度控制器”在此之后也可以使用。此外,如果您检查内部:

$ cat /sys/class/backlight/amdgpu_bl1/brightness

您可以看到,随着您使用按钮控制亮度,里面的值现在会发生变化FN + F7/F8:)

相关内容