xbacklight控制所需的每一步

xbacklight控制所需的每一步

我使用的是带有英特尔视频驱动程序的联想笔记本电脑,并且我正在尝试控制亮度。我安装了xbacklightxserver-xorg-video-intel软件包,将这些行添加到/etc/X11/xorg.conf

Section "Device"
    Identifier  "Card0"
    Driver      "intel"
    Option      "Backlight"  "intel_backlight"
EndSection

我验证了该/sys/class/backlight/intel_backlight/目录确实存在。当我运行时xbacklight,我收到错误:

No outputs have backlight property

如何配置背光?我使用的是 Debian 9 x64,系统是完全最新的。

编辑:我可以通过提升权限sudo并写入文件来手动更改亮度brightness

echo 500 > /sys/class/backlight/intel_backlight/brightness

编辑:如果我xbacklight以 root 身份运行或使用sudo.

答案1

导致此方法无效的原因可能有很多,而且这些原因都很复杂,无法在问题评论中提出,因此我将在此保留此资源 - 如果这些方法均无效,请随时发表评论,而不是投反对票,然后我将删除它(或者离开给那些最终遇到同样问题但原因不同的其他人)

您可以尝试的第一件事是添加以下内核参数之一:

acpi_osi=Linux
acpi_osi="!Windows 2012"
acpi_osi=

这是一个非常常见的问题,背光在暂停后停止工作(我知道这没有直接关系,但可能值得一提)。

另一个问题可能是您缺乏足够的权限来实际修改亮度(同样,可能与OP无关,因为错误消息通常不同并且OP已经尝试过)。如果是这种情况,请通过更改/添加以下内容来修改 udev-rules /etc/udev/rules.d/backlight.rules

ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="intel_backlight", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="intel_backlight", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"

另一个常见问题是与多个显卡或混合显卡结合使用时(如擎天柱项目)

如果是这样,您可以尝试添加以下内核参数之一:

acpi_backlight=video
acpi_backlight=vendor
acpi_backlight=native
acpi_backlight=none    # <-- Mainly for AMD/ATI drivers

最后,OP 可能在这里做什么:

更改/etc/X11/xorg.conf.d/20-intel.conf以反映:

Section "Device"
    Identifier  "Intel Graphics" 
    Driver      "intel"
    Option      "Backlight"  "intel_backlight"
EndSection

可能性是 xrandr 或 xbacklight 刚刚获得了针对 的错误映射/sys/class/backlight/<path>。因此,手动设置它intel_backlight可能会解决您的问题。从问题来看,唯一可能出错的是标识符。如果它仍然不起作用,请验证并确保设备配置实际上是正在使用的设备配置,因为这听起来确实像是 xrandr/xbacklight 和它认为可以找到背光目录的路径之间的映射问题。

其中任何一个都可能为您提供有关正在使用哪个驱动程序和配置的线索或提示:

lspci | grep VGA
lsmod | grep "kms\|drm"
find /dev -group video
cat /proc/cmdline
find /etc/modprobe.d/
cat /etc/modprobe.d/*kms*
glxinfo | grep -i "vendor\|rendering"
grep LoadModule /var/log/Xorg.0.log
egrep -i " connected|card detect|primary dev|Setting driver" /var/log/Xorg.0.log
udevadm info -a -p /sys/class/backlight/intel_backlight/

我希望事情就这么简单;如果不是,我很乐意更改我的答案或将其全部删除。只是分享一些在处理同一件事时收集的知识。bugs.debian.org 问题

哦,内核参数nomodeset往往会干扰背光设置。我不知道为什么。但如果最终来到这里的人使用了它,请尝试将其移除并看看至少背光是否会再次启动。

答案2

如果有人使用 Arch Linux 发现这个,我只需替换xorg-backlightacpilight, 然后就sudo backlight -set 10可以正常工作了。

答案3

xbacklight控制所需的每一步

按着这些次序:

  1. $ sudo nano /etc/default/grub将相应行替换为 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"
  2. $ sudo update-grub
  3. 别开玩笑了,请确保实际安装了适当的驱动程序$ sudo apt install xbacklight xorg xserver-xorg-video-intel
  4. 发行$ find /sys -type f -name brightness应该产生类似的结果/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight/brightness
  5. $ cd /sys/class该目录应包含一个软链接,该软链接调用brightness到上一步中发现的亮度设备。如果缺少,请创建它:$ sudo ln -s /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight/brightness /sys/class/brightness
  6. $ sudo nano /etc/X11/xorg.conf应该读:
Section "Device"
    Identifier      "Device0"
    Driver          "intel"
    Option          "Backlight"      "intel_backlight"
EndSection

Section "Monitor"
    Identifier      "Monitor0"
EndSection

Section "Screen"
    Identifier      "Screen0"
    Monitor         "Monitor0"
    Device          "Device0"
EndSection
  1. XF86MonBrightnessDown物理和按键的分配XF86MonBrightnessUp此处为 Xubuntu LTS 或 XFCE 用户解释
  2. 最后,重启以使这些更改生效。

相关内容