为什么我无法控制亮度/背光级别?

为什么我无法控制亮度/背光级别?

为什么我无法控制亮度/背光级别?

一开始:

Notebook Positivo BGH - C500 Series. 
Processor: AMD C60 series (dual core 800 mhz-1ghz)
GPU: Radeon HD 6290 (worked with fglrx/Catalyst)

大家好,这是我的第一篇帖子8年使用Ubuntu/Kubuntu,我从来没有遇到过任何版本的问题,但是当我从 Willy 升级到 Xenial 时,我没有注意到最新版本中的 AMD/ATI 属性驱动程序(韓國)已被停止或不再得到开发人员的支持,他们建议不要不升级对于 AMD 用户来说。Fn 键不起作用!

但是,升级后,当我进行配置时,我想从控制台安装驱动程序:

sudo apt-get install fglrx fglrx-updates 
"fglrx" and "fglrx-updates" has no candidates

在 Willy 版本(以及以前的版本)中,我无法控制或降低亮度/背光,除非安装了属性驱动程序。

在 Ubuntu 16.04 中,驱动程序是:

xserver-xorg-video-amdgpu
xserver-xorg-video-radeon

这些都是开放的驱动程序,但这并不是真正的问题。

我尝试过以下步骤:

我尝试放了各种链接,但新手无法发布超过 2 个链接

抽象的:

1. 无法通过安装驱动程序来改变背光级别。

    sudo apt-get install xserver-org-video-amdgpu
    sudo apt-get install xserver-org-video-radeon

##2. 尽管修改了 /sys/class/backlight,它仍然保持高亮度,并且提示符显示(radeon_bl0 存在):

    lspci | grep ati
    00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Wrestler [Radeon HD 6290]
    ls /sys/class/backlight
    radeon_bl0

在文件夹内,亮度最大亮度实际亮度bl_power还有其他人在场

    echo > 10 /sys/class/backlight/radeon_bl0/brightness 

没有效果

    echo > 100 /sys/class/backlight/radeon_bl0/max_brightness
    permission denied
    chmod 0777 /sys/class/backlight/radeon_bl0/max_brightness
    nano /sys/class/backlight/radeon_bl0/max_brighness
    modifing 255 to 100
    Ctrl+O > I/O Error 
    chmod 0777 /sys/class/backlight
    The same result >  I/O Error 

并找到另一种方法:

    ls -alh /sys/class/backlight
    lrwxrwxrwx  1 root root 0 abr 23 12:23 radeon_bl0 -> ../../devices/pci0000:00/0000:00:01.0/drm/card0/card0-LVDS-1/radeon_bl0

并尝试同样的做法,但没有效果。

3.修改grub:

    GRUB_CMDLINE_LINUX="acpi_osi=Linux" | No effect
    GRUB_CMDLINE_LINUX="acpi_backlight=none" | No effect
    GRUB_CMDLINE_LINUX="acpi_backlight=vendor" | No effect
    GRUB_CMDLINE_LINUX="acpi_backlight=video" | No effect
    GRUB_CMDLINE_LINUX="acpi_backlight0" | No effect
    GRUB_CMDLINE_LINUX="acpi_backlight=radeon_bl0" | No effect

在启动 Ubuntu 之前重新启动并编辑 grub(使用相同的语句),奇怪的是它没有启动。在“恢复模式”下启动,/sys/class/backlight,显示:

     acpi_video0

但 SDDM 无法启动。

4.添加X11配置。

      cd /usr/share/X11/xorg.conf.d
      dir > 10-amdgpu.conf is present
      nano 10-amdgpu.conf | shows me

               Section "OutputClass"
                 Identifier "AMDgpu"
                 MatchDriver "amdgpu"
                 Driver "amdgpu"
               EndSection
I added

              Section "Device"
                Identifier "card0" | put also "AMDgpu"
                Driver "amdgpu" 
                Option "Backlight" "radeon_bl0"
                BusID "PCI:00:01:01"
             End Section

但它不起作用,因为“背光”选项是针对英特尔驱动程序的。我修改了 amdgpu 手册,但找不到这个选项。几次都无法启动 SDDM。

5.使用命令setpci:

     setpci -s 00:01.0 F4.B=7F | Not work
     setpci -s 00:01.0 F4.B=FF | Not work
     setpci -s 00:01.0 F4.B=50 | Not work
     setpci -s 00:01.0 F4.B=80 | Not work

该显卡不受 setpci 支持

6. 安装x背光

     sudo apt-get install xbacklight
     xbacklight -s 80 | there is no effect 
     No outputs have backlight property 
     xbacklight -d LVDS -s 80
     RANDR Query Version returned error -1

它不起作用,我已经搜索过了,xbacklight 已被弃用,因为 xf86-video-ati 可用于控制背光,我已经安装了脚本“light”(lightscript)但它也不起作用。

7.制定udev规则:

          nano /etc/udev/rules.d/81-backlight.rules

          # Set backlight level to 8
         SUBSYSTEM=="backlight", ACTION=="add", KERNEL=="acpi_video0", ATTR{brightness}="8"
          Save & Exit and there is no effect after boot

8.使用 systemd-backlight 服务。

           I don't understeand how this works, but I've got this from the prompt: 
           systemctl list-units | grep -i backl

           systemd-backlight@backlight:radeon_bl0.service     loaded active exited    Load/Save Screen Backlight Brightness of backlight:radeon_bl0

           system-systemd\x2dbacklight.slice       loaded active active    system-systemd\x2dbacklight.slice

已为 /sys/class/backlight 加载 systemd-backlight 服务!但它不起作用,背光没有变化。

9. 使用兰德

       Finally I put in the console:
xrandr --output LVDS-1 --brightness 0.6 | 0.4 | 0.3
Previously identified output 

这对我来说“有效”,但当我重新启动 xrandr 的值时,它会恢复为默认值,比我在启动会话时输入的 xrandr --output LVDS1 --brightness 0.5 要多。(在 Kde 上,通过系统设置>启动和关闭)

结论

在所有情况下,亮度/背光都很高,无论我怎么做,Fn 键都不起作用,亮度的 Kde 指示器变为 0,LCD 看起来像圣诞树,因为它无限地向上/向下转动。

还有人有更多想法吗?

对不起,我的英语不好!

答案1

您用于写入 中的文件的语法有些奇怪/sys/class/backlight/。请尝试以下方法:

echo 128 | sudo tee /sys/class/backlight/radeon_bl0/brightness

顺便说一句,您无法修改“max_brightness”,因为该文件只是让您知道可以使用的最大亮度。您需要更改名为“brightness”的文件。

关于你的 shell 语法:shell 重定向运算>符仅当你已经以 root 身份运行 shell 时才有效(例如,使用sudo -s),但我应该让你知道,这样做通常被认为是坏的想法。登录到 root shell 会赋予您强大的能力;而强大的能力也伴随着巨大的错误。很容易忘记您是以 root 身份运行的,然后意外地弄乱整个系统。这就是为什么我推荐sudo,如上例所示。Sudo提醒您小心:该词后面的任何内容sudo通常都是禁区,并且可能很危险。

但是,如果您很好奇,可以>按照您要求的方式使用文件重定向运算符,但您需要更改参数。后面的部分是>要写入的文件名,前面的部分是要重定向其输出的命令。因此,例如,

$ sudo -s
# cd /sys/class/backlight/*/
# echo 128
128
# echo 100 > brightness
# cat brightness
100
# echo 200 > brightness
# cat max_brightness
255
# cat max_brightness > brightness
# cat brightness
255
# exit
$ 

(当您运行 root shell 时,您会注意到提示符变成了井号。这是一个微妙的警告信号。输入后exit您将回到正常的用户帐户的安全状态。)

答案2

在通用实现中没有标准的亮度级别分辨率。例如,我的一个 Linux 机器是 Toshiba Satellite L510,具有 8 位分辨率。即我的/sys/class/backlight/acpi_video0/brightness仅接受 [0,7] 中的值。我还看到过另一个系统的分辨率为 23 位。即 [0-22]。

要了解亮度值的范围,请阅读/sys/class/backlight/radeon_bl0/max_brightness文件。此外,max_brightness 文件的值很可能由系统固件设置,您无法写入它。但/sys/class/backlight/radeon_bl0/brightness只要写入的值介于 0 和结果之间,就可以写入该文件

cat /sys/class/backlight/radeon_bl0/max_brightness

另外,暂停系统并唤醒它通常可以解决与 ACPI 和 UEFI 有关的某些问题 - 通过扩展功能键。要暂停系统,请使用以下命令。

sudo pm-suspend

然后按下电源按钮唤醒系统并检查功能键是否正常工作。

相关内容