Ubuntu 14.04 nvidia Quadro 亮度问题

Ubuntu 14.04 nvidia Quadro 亮度问题

我最近从 Ubuntu 13.10 升级到了 14.04。一切都很好,除了我的笔记本电脑屏幕的亮度。当我改变亮度时,屏幕根本没有反应。我认为这是显卡驱动程序的问题,但更新并重新安装了所有 nvidia 驱动程序后,问题仍然存在。这相当糟糕,因为屏幕现在永久设置为最暗的设置,几乎看不到任何东西。

我也尝试了这里提出的解决方案:Ubuntu 14.04 - HP 混合笔记本电脑的亮度问题 但不幸的是,这也无济于事。

我有一台 HP Elitebook 8560w,配备 nvidia Quadro 1000M,正在运行 apt-get repo 中提供的最新 nvidia-current 驱动程序

顺便说一下,我尝试了实验性的 nvidia 驱动程序,结果导致我的整个操作系统崩溃。因此,我重新安装了 14.04,但这个问题仍然存在

答案1

这可能是驱动程序 > 304 的一个错误,该错误已经存在了一段时间:

根据这些错误报告,唯一的解决方案是回滚到驱动程序版本 <= 304。

答案2

这不是一个解决方案,而是一个变通方法。

应该有一个文件 /sys/class/backlight/acpi_video0/brightness

在此文件中,您有一个与亮度相对应的特定十进制值。

现在,当我使用 openbox 桌面环境时,我的 fn 键不起作用,这就是我使用以下脚本来设置它的原因:

#!/bin/mksh
printf " \n Entering file to change brightness in 3 seconds\n remember - no new line after number.  ";
sleep 3;
sudo nano /sys/class/backlight/acpi_video0/brightness

现在,您可能需要检查该/sys/class/backlight文件夹以确保那里有 acpi_video0 文件。它的名称可能与您的系统不同

如果你对设置亮度的各种解决方法感兴趣,我会链接一个相关的 askubuntu 问题

更新

我编写了另一个脚本,它使用 zenity(脚本的图形前端)和 xrandr,并带有桌面快捷方式。

您需要的工具

  • xrandr(应该默认安装,不要引用我的话)并知道你的显示器的名称
  • zenity(应该默认安装,不要引用我的话)
  • 桌面快捷方式 backlight.desktop

桌面快捷方式

在桌面上创建backlight.desktop文件并使之可执行sudo chmod a+x ~/Desktop/backlight.desktop。(注意,您可能希望通过右键单击 -> 属性使其可执行,并允许在 Nautilus -> 编辑 -> 属性 -> 行为中将文本文件作为可执行文件运行)。

[Desktop Entry]
Type=Application
Exec=/usr/bin/backlightscript
Terminal=false
Icon=/usr/share/icons/HighContrast/16x16/status/display-brightness.p
ng

注意,图标部分是可选的。

剧本

将此文件放入/usr/bin文件夹中,命名为backlightscript

#!/bin/sh
# Name: backlightscript
# Author: Serg Kolo
# Date: March 2 , 2015
# Description: Simple script to change screen brightness using xrandr

# uncomment this for debugging as needed
# set -x

NEWVAL=$( zenity --scale --min-value=0 --max-value=7 --text="Enter number between 0 and 7" ) && brightness=$(($NEWVAL+2))

if [ $(echo $?) = 0  ]
  then
    xrandr --output LVDS --brightness 0.$brightness

fi

脚本说明

我发现最佳亮度介于 0.2 和 0.9 之间。如果低于 0.2 或 1,屏幕要么太暗要么太亮。在此脚本中,用户双击 backlight.desktop 快捷方式,它将调用带有刻度的图形弹出窗口,用户可从 0 到 7 选择所需的亮度。该值增加 2(因此最大值为 7+2=9,最小值为 0+2=2)并存储在亮度变量中。该变量随后成为小数点后的值xrandr --output LVDS --brightness 0.$brightness

if - then 块用于测试用户是否实际选择了某些内容。如果没有它,xrandr 会将亮度设置为 0,在这种情况下,您将无法在屏幕上看到任何内容,甚至 tty1 也看不到,并且必须重新启动或执行Alt+ SYSRQ+ R+ E+ I+ S+ U+B

笔记,xrandr 是一个软件解决方案,而不是硬件解决方案,即您不会直接改变屏幕亮度。

看起来应该如何

在此处输入图片描述

关于 xrandr 的说明 运行 xrandr 而不使用任何参数来确定您的主要连接显示器

我的例子

Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
   1366x768       60.0*+
   1280x720       59.9  
   1152x768       59.8  
   1024x768       59.9  
   800x600        59.9  
   848x480        59.7  
   720x480        59.7  
   640x480        59.4  

来源

答案3

/usr/share/X11/xorg.conf.d/20-nvidia.conf我通过创建以下内容使其在带有 Quadro FX 880M 的联想 W510 上运行:

Section "Device"
    Identifier    "Device0"
    Driver        "nvidia"
    VendorName    "NVIDIA Corporation"
    BoardName     "Quadro FX 880M"
    Option        "RegistryDwords" "EnableBrightnessControl=1"
EndSection

重启后,我的亮度控制可以正常工作。

答案4

最后,使用 Nvidia 发布的最新驱动程序进行了修复,发布日期为:2017.5.4,版本号为:375.66

发行说明包括以下解释:

修复了导致某些带有 DisplayPort 内置面板的笔记本电脑的背光亮度无法控制的错误。

相关内容