nvidia背光亮度问题
问题
当我按下Fn +增加/减少亮度时,Unity显示控制,但没有任何反应。 在X服务器运行时,控制台亮度也不起作用。
检查解决方案
我在谷歌尝试过这个问题的所有可能的解决方案,没有任何作用:
- 在grub中写acpi_backlight
- 使用apt purge nvidia重新安装驱动程序*
- 在xorg.conf中写“EnableBrightnessControl = 1”
- 安装nvidia-375.66,nvidia-378.13,381.22,384.47
- “xbacklight -set X”不起作用
- 改变/ sys / class /背光/亮度
- 将linux内核从4.8更新到4.10和4.12
- 从旧矩阵中取代EDID(它会破坏一切)
- setpci -v -H1 -s 00:01.0 3e.W = 0然后使用Fn +键更改背光。
- xrandr – 输出DP-0 – 亮度0.5 —糟糕的解决方案
我的系统和情况
我以前在笔记本电脑上使用过N173HHE-G32显示矩阵,一切都还可以。 但是今天我把它换成了B173HAN01.2,这个问题已经开始了。 在Windows 10上,我通过在官方MSI网站上重新安装nvidia-376上的驱动程序解决了这个问题。
所以,我可以看到下一个序列:在笔记本电脑启动亮度最大,然后它是最小(和工作),而“initramfs …”文本显示在控制台中。 并且在X服务器启动后亮度再次最大(损坏)。 当X服务器停止亮度再次工作!
MSI GT73VR 7RF, Ubuntu 16.04.2 LTS, NVidia GeForce GTX1080, B173HAN01.2 display matrix uname -a 4.8.0-58-generic #63~16.04.1-Ubuntu SMP Mon Jun 26 18:08:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux lspci | grep -i vga 01:00.0 VGA compatible controller: NVIDIA Corporation Device 1be0 (rev a1)
然而!
但是,当我使用nvidia-378时,它的工作原理 ! 不幸的是,在Unity界面中挂起模式后,378有一个严重的错误:(((
请帮助,我的眼睛是血液(对他们来说非常明亮),我不知道该怎么办……
最终的参考似乎是在Arch Linux中 ,这是一个我已经多次解决困难问题的网站。
内核参数
查看cat /proc/cmdline
,没有传递额外的内核参数。 以上链接指出:
有时,由于不同的主板实现和ACPI怪癖,ACPI无法正常工作。 这包括一些具有双显卡的笔记本电脑(例如带有Intel / AMD集成GPU的Nvidia / Radeon专用GPU)。 在Nvidia Optimus笔记本电脑上,内核参数nomodeset会干扰调整背光的能力。 此外,ACPI有时需要注册自己的acpi_video0 backlight
即使已经存在(例如intel_backlight
),这可以通过添加以下内核参数之一来完成:
acpi_backlight=video acpi_backlight=vendor acpi_backlight=native
如果您发现更改acpi_video0
背光并未实际更改亮度,则可能需要使用acpi_backlight=none
。
尝试grub内核参数线上的每个acpi_backlight=xxxx
选项
当xbacklight
不起作用时
您已经尝试过xbacklight
,上面的链接解决了这个问题:
在某些系统上,键盘上的亮度热键正确修改了/sys/class/backlight/acpi_video0/actual_brightness
中的acpi接口的值( 正如我们在注释中所尝试的那样 ),但屏幕亮度没有改变。 桌面环境中的 Brigthness applet(即Ubuntu亮度设置滑块 )也可能显示无效的更改。
如果您已经测试了推荐的内核参数并且只有xbacklight
可以工作,那么您可能会遇到BIOS和内核驱动程序之间的不兼容问题。
在这种情况下,唯一的解决方案是等待BIOS或GPU驱动程序制造商的修复。
解决方法是每当/sys/class/backlight/acpi_video0/actual_brightness
发生变化时,使用inotify
内核api来触发xbacklight
。
首先安装inotify-tools。 然后围绕inotify创建一个脚本,该脚本将在每次启动时或通过自动启动时启动。
下面是您需要创建的脚本: /usr/local/bin/xbacklightmon
#!/bin/sh path=/sys/class/backlight/acpi_video0 luminance() { read -r level < "$path"/actual_brightness factor=$((100 / max)) printf '%d\n' "$((level * factor))" } read -r max < "$path"/max_brightness xbacklight -set "$(luminance)" inotifywait -me modify --format '' "$path"/actual_brightness | while read; do xbacklight -set "$(luminance)" done
上面的链接还有很多,但这些步骤是一个很好的起点。
专用论坛
有关其他支持,有专门的Linux Graphics论坛:
- Phoronix Linux / AMD / Nvidia支持许多Ubuntu用户
- Nvidia Linux开发者论坛(有许多Ubuntu特定主题)
克隆此repo并将脚本backlight.sh
粘贴到/bin
。 然后使其可执行,然后打开根终端并执行以下命令。
sudo backlight.sh "brightness-level-number"
。
克隆存储库,
git clone https://github.com/el-beth/backlight.sh.git
您可以在终端中安装命令xbacklight的包:
sudo apt-get install –reinstall xbacklight
安装后,您可以使用命令xbacklight,如下所示:
xbacklight -inc 20#将背光增加20%
xbacklight -dec 30#减少30%
xbacklight -set 80#设置为最大值的80%
xbacklight -get#获取当前级别
命令xbacklight应该以这种方式工作。
嗨,我很抱歉,如果这是聪明的人已经排除的东西,因为我对命令行很熟悉,但重新安装后我遇到了这个问题,所有上述解决方案对我都不起作用(MSI pe706QE nvidia 960m )。
我正在编辑/etc/default/grub
:
gksudo 'insert editor of choice not in quotes' /etc/default/grub
并注意到nomodeset
仍然位于文件的底部(我不记得永久添加它)并将其删除。
保存文件并运行:
sudo update-grub
所有用快捷键再次工作#noobie失败希望这可以帮助某人。
我有索尼VPCEH笔记本,我有同样的问题。 我尝试了这个对我有用的解决方案: http : //ubuntuforums.org/showthread.php? t = 2221452#6简要说明:使用root权限,创建文件/usr/share/X11/xorg.conf.d/20- nvidia.conf具有以下内容
部分“设备”标识符“Device0”驱动程序“nvidia”VendorName“NVIDIA Corporation”BoardName“GeForce 410M”选项“RegistryDwords”“EnableBrightnessControl = 1”EndSection
退出并重新登录进行测试。 它轻轻地补充说:“如果出现问题,只需删除该文件并重启即可恢复系统。” 但我不需要这样的补充。 注销并登录后亮度控制再次开始工作。 我希望它也能帮到你……
或者这个用ubuntu 16.04在我的笔记本电脑索尼VPCEJ2C5E下工作但是用nvidia 378.13我暂时没有使用390.25驱动程序。
我能够在Ubuntu 12.04上的联想W530上运行亮度键。 这些天X自动配置自己,因此创建xorg.conf文件可能会使您的系统不灵活。 相反,您可以在/usr/share/X11/xorg.conf.d/中向文件添加一个部分,X将在其自动生成的配置中包含该部分。 因此,要使屏幕亮度键与Nvidia图形卡配合使用,请在xorg.conf.d目录中创建一个文件,例如:sudo gedit /usr/share/X11/xorg.conf.d/10-nvidia-brightness.conf将以下内容粘贴到文件中:
部分“设备”标识符“Device0”驱动程序“nvidia”VendorName“NVIDIA Corporation”BoardName“Quadro K1000M”选项“RegistryDwords”“EnableBrightnessControl = 1”EndSection
注销并重新登录或重新启动,您的亮度键现在应该可以正常工作!
在此处输入图像描述
根据wineunuuchs2unix的要求,我在这里重新回答了类似的问题 。
试试acpi_osi=
在几天前升级到Bionic时,我遇到了类似的问题(我有一个NVIDIA GeForce GTX 1060 Mobile,但对于我/sys/class/backlight
显示为空)。
在完成背光调试过程中 ,我通过内核参数发现了一种解决方法:
- 在“软件和更新”→“其他驱动程序”中,确保选择了
nvidia-driver-396
(或任何元数据包是最新的; 396是编写本文时最新的)。 - 通过运行命令
sudo nano /etc/default/grub
编辑sudo nano /etc/default/grub
(可选择用您喜欢的编辑器替换nano
)。 - 找到设置
GRUB_CMDLINE_LINUX_DEFAULT
的行,并在引号内的末尾添加acpi_osi=
。 在大多数系统上,这将为您提供一条读取GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi="
。 - 保存并退出编辑器。
- 运行命令
sudo update-grub
并重启。
(如果这些步骤不起作用,请通过重复该过程来恢复设置,但在编辑GRUB配置时删除acpi_osi=
。)
另一种解决方法,如果它是一个选项,是切换到主线内核 。 特别是,我没有看到主线内核版本4.17下的问题。
( 这里报告了 Bug。)