Ubuntu 20.04 Lenovo IdeaPad 5 Ryzen 4800u 显示屏亮度不起作用

Ubuntu 20.04 Lenovo IdeaPad 5 Ryzen 4800u 显示屏亮度不起作用

我无法让更改显示亮度功能正常工作。我有一台联想 IdeaPad 5,配备 AMD Ryzen 4800u CPU 和集成 Vega 显卡。

我尝试了以下解决方案:Grub 属性 acpi_backlight、xbacklight、直接在 /sys/class/backlight/... 中更改背光、xgamma、xrandr、gdbus 和 setpci。

我按照这些答案的说明进行操作,但均不起作用:

我可以看到,例如 xrandr 或 xgamma 或 backlight 的值已设置,但它们对笔记本电脑的显示没有影响。

猜测它与 AMD 驱动程序有关,但我不知道......

现在我不知道该往哪个方向进一步搜索。也许是驱动程序或内核的问题。

那么,有人可以帮忙吗?:)

答案1

该问题与 AMD 4000 系列处理器中的 Renoir 显卡有关。这里这是一篇 Phoronix 文章,其中对其进行了简要描述。从 Linux 内核 5.5 开始,Renoir 支持被标记为不再是实验性的。内核 5.7 是最新内核,因此更新到该内核可为您的处理器提供支持。

我有一台 4500U 笔记本电脑。升级到 5.7 版后,除了亮度控制之外,其他所有问题都解决了。

以下步骤安装内核来自这个答案这是来自用户 lykwydchykyn 的 ubuntuforums.org 帖子的通用版本。以下步骤包含一些我发现在安装内核时有用的补充:

  1. 转至此处(按最新构建排序):https://kernel.ubuntu.com/~kernel-ppa/mainline/?C=N;O=D

  2. 选择您想要的版本,然后导航到 amd64/ 目录。

  3. 下载 3 个(也可能是 4 个)deb 文件到某个文件夹:

     linux-headers-VERSION-NUMBER_all.deb
     linux-headers-VERSION-NUMBER_amd64.deb
     linux-image-VERSION-NUMBER_amd64.deb
     linux-image-extra-VERSION-NUMBER_amd64.deb    # if available
    
  4. 使用您使用的任何包管理器前端安装 debs,或者使用以下命令:

     cd /path/to/folder/where/you/put/the/debs
     sudo dpkg -i *.deb
    

另一个资源是 Ubuntu wiki,它解释了如何使用通用指令安装上游内核。这有利于了解您选择通用内核或低延迟内核,而不要下载所有内核(就像我最初做的那样):https://wiki.ubuntu.com/Kernel/MainlineBuilds

答案2

将内核升级到 5.7 即可工作。

答案3

我在这台笔记本上使用内核 5.7.1,显示亮度可调。看看https://wiki.ubuntu.com/Kernel/MainlineBuilds了解使用说明。

答案4

我在联想 ThinkPad T14、AMD Ryzen 5 PRO 4650U 和集成 AMD Radeon 显卡上也遇到了这个问题。

对我有用的是亮度控制器,在尝试了所有方法后,包括使用“acpi_backlight”修改 GRUB,将 BIOS(从 1.05 更新到 1.09)更新到一些较新的内核(5.8.11 和 5.7.19)。但仍在寻找合适的解决方案,因为亮度控制器在调暗时会使屏幕变灰(即对比度略有降低)。

更新 2020_12_04:

实际上,“5.4.0-54”内核似乎已经修复了这个问题,我不再需要亮度控制器了(尽管它是一个很棒的小工具,可用于许多其他用途)。现在唯一的问题是重启后,亮度级别无法被记住。为了解决这个问题,我有两个脚本作为服务运行:

  1. 关机前运行 - 将当前亮度级别存储到文件中:echo $(brightnessctl -c backlight g) > lastBrigh.txt

  2. 登录屏幕出现后立即运行:

lastBrigh=$(<"lastBrigh.txt")

for i in {1..200}; do
    if [ $(brightnessctl -c backlight g) = $lastBrigh ]; then
        break
    else
        sudo brightnessctl -c backlight s $lastBrigh
        sleep 0.1
    fi
done

它不断尝试将亮度设置为上次记录的级别约 20 秒,然后放弃。顺便说一句,“5.4.0-56”内核又要完蛋了(桌面环境无法启动),所以我会跳过这个。

相关内容