无法在Macbook Pro 10,1上调节屏幕亮度,运行Ubuntu 13.10。

我最近在我的Retina MacBook Pro上安装了Ubuntu(遵循这个指南)。

到目前为止,一切都运行良好,但是屏幕亮度/背光无法通过分配的键或其他任何方式进行调整。我知道,我不是第一个解决这个问题的人,但是我找到的所有建议的解决方案都没有对我起作用。我尝试了以下方法,但都没有成功:

  • /etc/X11/xorg.conf设备部分中包括选项RegistryDwords" "EnableBrightnessControl=1
  • 应用程序xbacklight
  • 我也没有在我的系统中找到任何文件,例如mbp_backlightapple_backlight,这可能是一个起点。

我正在使用Nvidia驱动程序。(顺便说一句:使用nouveau驱动程序,可以使用调节亮度的键。但是,使用nouveau驱动程序时,Ubuntu无法从挂起模式恢复)

有什么建议吗?谢谢!


我也尝试了最新的NVIDIA驱动程序331.25,但没有成功。 - pjvds
6个回答

我在我的15英寸MacBook Pro 11,3(2013年末款)上安装了Ubuntu 13.10,内核版本为3.14.0-031400rc5-generic,并且使用了331.49的Nvidia驱动程序。我的亮度控制键也无法正常工作。解决方法是将以下行添加到`/etc/rc.local`文件中:
``` setpci -v -H1 -s 00:01.00 BRIDGE_CONTROL=0 ```
现在亮度控制键可以正常工作了。

这在我的Macbook Pro 10,1上完美运行,使用Ubuntu 14.04(内核3.13.0-32-generic)和Nvidia驱动程序版本340.24。 - rcv
1这对我来说非常完美,在MacBook Pro 11,3 (2014年中)上和Ubuntu 14.04系统上都可以顺利运行。 - pcx
这在我的Macbook Pro 3,1(2007年末)和Xubuntu 14.04上没有任何作用,使用的是Nouveau驱动程序。尽管00:01.00确实是nvidia显卡的PCI桥接器。 - user478036
这对我的MacBookPro11,3 '14 Retina 15"运行Debian Stretch也完美适用。如果能引用来源,这个答案就更好了。 - Stephen Niedzielski
我正在尝试在我的MacBook Pro 11,3(2013年末款)上使用Ubuntu 17.04,但是不再有/etc/rc.local了。你知道应该把它放在哪里吗? - Mr.Gosh
很遗憾,这在我的2013年末发布的Macbook Pro上安装Ubuntu 14.04没有成功。 - ComputerScientist

如果你想在NVIDIA驱动中使用背光,请尝试以root身份运行:
setpci -v -H1 -s 00:01.00 BRIDGE_CONTROL=0

然后使用gmux_backlight sysfs文件调整背光亮度。
echo 200 > /sys/class/backlight/gmux_backlight/brightness
echo 800 > /sys/class/backlight/gmux_backlight/brightness

在我的 MacBook Pro 11,3 上运行 Debian Testing 很顺畅。 - nate
对我没用。setpci: 警告:未选择任何设备进行“BRIDGE_CONTROL=0”的操作。 /sys/class/backlight/gmux_backlight/brightness: 没有此文件或目录 - Cerin

在Ubuntu和Linux Mint中查找视频/图形卡 在终端中运行下面的命令,了解用于背光/亮度的视频卡
ls /sys/class/backlight/

在Ubuntu中查找图形驱动程序。
如您所见,对我来说,输出是dell_backlight和intel_backlight。这表明正在使用的图形卡是Intel。另一种查找图形卡的方法是进入“系统设置”->“详细信息”->“图形”。您可以看到正在使用的图形卡。
如果您的图形卡是Intel,则可以按以下步骤修复亮度控制问题:
打开终端并创建以下配置文件(如果不存在):
sudo touch /usr/share/X11/xorg.conf.d/20-intel.conf

现在我们需要编辑这个文件。您可以使用任何编辑器,无论是终端还是图形界面的。
sudo gedit /usr/share/X11/xorg.conf.d/20-intel.conf

请将以下行添加到此文件中:

Section "Device"
        Identifier  "card0"
        Driver      "intel"
        Option      "Backlight"  "intel_backlight"
        BusID       "PCI:0:2:0"

EndSection

保存它。退出并重新登录。现在应该可以通过功能键来调节亮度控制了:
修复Ubuntu 13.10中亮度控制无法工作的问题。

在Kubuntu 15.04上运行良好,适用于MacBook Pro 12,1。 - Kouber Saparev

嗯,我找到的最令人满意的解决方案是在OSX下使用gfxCardStatus禁用我的独立Nvidia-GPU,并重新启动进入Ubuntu。然而,这并不是非常优雅的方法,因此我仍在寻找类似的方法在Ubuntu中实现。 所以如果有人知道在Ubuntu下禁用Nvidia GPU的方法,请告诉我。我尝试过bumblebee,但没有成功。显然它与我的MacBook或MacBook一般不兼容,因为Mac不使用Optimus技术。 老实说,我对所有这些东西都没有真正的了解,我只是希望Ubuntu能够在我的系统上运行得更加优雅。


我使用命令行禁用了NVidia GPU。
echo 'OFF' > /sys/kernel/debug/vgaswitcheroo/switch

要在启动时实现这一点,请将上述行添加到/etc/rc.local中。
确保您已安装了英特尔驱动程序。
sudo apt-get install xserver-xorg-video-intel 

使用这个方法,挂起、恢复和调整屏幕亮度都能完美运行。
唯一仍未解决的问题是在注销/关机时出现卡顿,原因是这个bug(需要长按电源键5秒钟来强制关机)。

为了让背光正常工作而禁用整个显卡并不是一个解决办法... - Cerin

试试这个。
  • 执行$ sudo gedit /etc/default/grub

  • GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"这一行修改为:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"

  • 保存更改。

  • 执行$ sudo update-grub

  • 重新启动。

亮度控制的Archlinux Wiki 在这里