无法更改亮度 Ubuntu 22.10,Razer Blade 15 2021 Advanced

无法更改亮度 Ubuntu 22.10,Razer Blade 15 2021 Advanced

我搜索了互联网,但没有找到可行的解决方案。我下载了 ubuntu 用于机器学习工作负载。但是,我无法使亮度控制正常工作。键盘上的功能键将更改滑块,我可以手动更改滑块,但它不会更改亮度级别。我甚至无法使用 xrandr 更改它。我使用的是内核 6.2.8 和 nvidia-driver-515。(我试过 525,也没有用。)任何帮助都非常感谢;我的眼睛很痛。

好的,调查后有一些更新:当功能键或滑块尝试更改亮度时,它会更改 /sys/class/backlight/nvidia_wmi_ec_backlight/brightness 文件中的值。但是,我可以通过更改 /sys/class/backlight/nvidia_0/brightness 文件中的值来手动更改亮度。似乎差异基本上是让 gui/功能键更改 nvidia_0/brightness 文件中的值,而不是 nvidia_wmi_ec_backlight/brightness 文件中的值。我不确定如何做到这一点。

答案1

好的,我找到了解决办法。我会在这里记录下来,以备将来需要重建机器或其他人遇到此问题时参考。

  1. 创建以下脚本:(我称之为/home/user/brightness.sh

    #!/bin/bash
    path=/sys/class/backlight/nvidia_wmi_ec_backlight
    inotifywait -q -m -e close_write $path |
    while read -r event; do        
        actual_brightness=$(cat $path/brightness)        
        scaled_brightness=$(echo "scale=0; (($actual_brightness - 5) * 99) / (255 - 5) + 1" | bc)        
        echo "Actual brightness: $actual_brightness, scaled brightness: $scaled_brightness"        
        echo $scaled_brightness > /sys/class/backlight/nvidia_0/brightness || echo "Failed to write brightness: $?"
    done
    
  2. 允许此脚本运行sudo,并且不需要密码。这相当简单;请使用此网站作为参考:https://www.cyberciti.biz/faq/linux-unix-running-sudo-command-without-a-password/。或者直接询问 chatgpt。

  3. 将此脚本作为命令添加到启动应用程序。例如:添加命令:

    sudo /bin/bash /home/user/brightness.sh
    

    在启动时运行。

我还遇到了一个问题,即在将机器从挂起状态唤醒后,触控板无法工作。我按照以下说明解决了这个问题:Razer Blade 15 在新安装 ubuntu 22 时出现错误 ACPI BIOS 错误 (bug) + 触控板在挂起后不工作

相关内容