W530 2436CTO + Ubuntu 12.10 X64 上的 nvidia 驱动程序亮度控制不起作用

W530 2436CTO + Ubuntu 12.10 X64 上的 nvidia 驱动程序亮度控制不起作用

环境:ubuntu 12.10 x64,bios(已尝试过 2.06、2.50)。W530 2436CTO、3720QM、K1000M。

问题描述如下(乍一看可能重复)

安装 Nvidia 驱动(x-updates 上的 Nvidia 当前版本,或 Nvidia 下载站点上的 304.32~311.32 不同版本)后屏幕背光一直处于最高级别。更改值/sys/class/backlight/acpi_video/brightness没有任何效果。似乎亮度控制完全不起作用。

我曾尝试将acpi=thinkpad, acpi=vendor,添加acpi=legacy到 Linux 内核参数中,但没有成功(应该是的,因为从一开始我就能看到thinkpad_acpimod 已加载)。

我也尝试过修改/usr/share/X11/xorg.conf.d以包含一个conf文件来包含

Option "RegistryDwords" "EnableBrightnessControl=1" (either manually, or via modify /usr/share/ubuntu-drivers-common/quirks/   

允许包含参数...有点奇怪,在提供的材料中nvidia-current,这些选项被添加到屏幕部分。我试图将它们放在设备和屏幕部分,但仍然没有运气)什么都没有改变。

在任一情况下,cat /proc/driver/nvidia/parameter都显示空字符串RegistryDwords,但我可以在/var/log/Xorg.0.log下面包含字符串中找到日志:

19.745] (==) NVIDIA(0): RGB weight 888
[    19.745] (==) NVIDIA(0): Default visual is TrueColor  
[    19.745] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)  
[    19.745] (**) NVIDIA(0): Option "NoLogo" "True"  
[    19.745] (**) NVIDIA(0): Option "RegistryDwords" "EnableBrightnessControl=1"  
[    19.745] (**) NVIDIA(0): Enabling 2D acceleration    
[    20.588] (II) NVIDIA(GPU-0): Display (Lenovo Group Limited (D  

没有任何迹象表明该选项是非法的(因为我试图使用一些不可接受的选项名称)。

所以我不得不怀疑,是否还有其他因素影响了这一点?

我曾看到一些线程提到 gnome 设置守护进程中的某些内容可能会产生类似的问题,但是这些线程中的解决方案没有帮助。

Nvidiabl 模块可以帮助调暗屏幕,但是存在导致背光太暗的问题:/sys/class/backlight/nvidia-背光/亮度中读取的亮度值非常大(可能是随机的,从 3000+ 到 10k+),而max_brightness仅仅是127。设置下面的任何值127都会导致屏幕太暗而无法阅读,所以这种解决方法对我来说也不起作用。

因为我看到有人使用 W530 + Nvidia + Ubuntu X64 工作正常,并且我尝试过从支持 K1000m 的第一个测试版到最新版本的 nvidia 驱动程序,我怀疑是什么原因导致了这个问题,我应该如何继续分析?

答案1

希望这对其他人有帮助。在完成以下操作后,背光键对我来说可以正常工作:a. 升级到 bios 2.51(可能不是强制性的,但我还没有通过降级 bios 进行测试。b. 在 bios 中,关闭安全启动,在启动选项卡中打开 CSM 模式。

我的内核现在使用以下选项启动:“nox2apic acpi_backlight=vendor acpi_osi=Linux”,我的 nvidia 驱动程序版本是:nvidia-experimental-310.14

选项“RegistryDwords” “EnableBrightnessControl=1”仍然保留在 xorg 配置中。

现在在/sys/class/backlight/目录下只能看到thinkpad_screen,修改brightness文件的值对屏幕背光没有影响,但是热键F8/F9可以工作。(还是不知道为什么)。

答案2

我在 Lenovo W530 上运行 Mint 17 x64,配备 Quadro K1000M,采用独立模式,安装了 Nvidia 331.38。

经过一天的各种尝试后,我让亮度控制正常工作。

以下是我所做的事情的列表:

  • 我已将 bios 更新至最新可用版本 (G5ET99WW (2.59)) [ 以下是如何从 USB 闪存盘进行刷新的教程]

    • 使用“NVIDIA X 服务器设置”->“X 服务器显示配置”->“保存到 X 配置文件”生成新的 xorg.conf
  • 然后在 /etc/X11/xorg.conf 中的设备部分添加“EnableBrightnessControl=1”:

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro K1000M"
    Option         "RegistryDwords" "EnableBrightnessControl=1"
EndSection
  • 重新启动后,我在 /sys/class/backlight 中唯一能找到的是:

thinkpad_屏幕

  • 然后我尝试将 /etc/default/grub 中的“GRUB_CMDLINE_LINUX_DEFAULT”设置为:

GRUB_CMDLINE_LINUX_DEFAULT="安静启动 acpi_osi=Linux acpi_backlight=供应商"

或者

GRUB_CMDLINE_LINUX_DEFAULT="安静启动 nox2apic acpi_osi=Linux acpi_backlight=供应商"

但没有效果

  • 最后我将其设置为仅:

GRUB_CMDLINE_LINUX_DEFAULT="安静启动 nox2apic"

  • 重启后亮度控制按钮(Fn+F8 和 F9)开始工作,在 /sys/class/backlight 中我发现 acpi_video0 而不是 thinkpad_screen
$ ll /sys/class/backlight
total 0
lrwxrwxrwx 1 root root 0 Aug 10 10:14 acpi_video0 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/backlight/acpi_video0/

相关内容