今天(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
:)