You are not logged in.

#1 2017-11-26 14:31:59

oeht
Member
Registered: 2017-11-04
Posts: 20

[SOLVED] Brightness control with Nvidia GeForce 320M

Hello,

I'm running arch linux on my Macbook Air 2011. My graphic card is a  NVIDIA Corporation MCP89 [GeForce 320M] and I'm using xf86-video-nouveau as driver.
To get the brigthness control work, I've followed these steps from the wiki :

For MacBooks with NVIDIA graphics, for the backlight to work properly you may need the nvidia-bl [AUR] package.
Tip:

    If backlight control does not work after installing nvidia-bl, you should blacklist apple_bl kernel module.
    If backlight control does not work even this way, try setting module parameters. Uncommenting options nvidia_bl max_level=0x1ffff shift=11 in /etc/modprobe.d/nvidia_bl.conf should do the trick.

When I click the brightness-control-key, the regulator pops up and the values in /sys/class/backlight/nvidia_backlight/brightness are chaning as expected. But the brightness doesn't change at all.

What can I do to fix it?
If posting any files/outputs/logs is necessary, please tell me.

Thank you for your help!

Last edited by oeht (2017-12-30 20:15:40)

Offline

#2 2017-11-26 17:49:39

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,435

Re: [SOLVED] Brightness control with Nvidia GeForce 320M

That package is for the nvidia driver,  it won't work with nouveau.

Offline

#3 2017-11-26 19:33:28

oeht
Member
Registered: 2017-11-04
Posts: 20

Re: [SOLVED] Brightness control with Nvidia GeForce 320M

Thank you for your answer!
I'm sorry for this newbie mistake and I have now removed nvidia-bl and installed https://aur.archlinux.org/packages/pommed-light/ from the AUR and enabled pommed.service.

The package is flagged-out-of-date and I can't see any entries in /sys/class/backlight.
The output of pommed is

# pommed -f
I: pommed v1.45lw Apple laptops hotkeys handler
I: Copyright (C) 2006-2011 Julien BLACHE <jb@jblache.org>
pommed configuration:
 + General settings:
    fnmode: 1
 + sysfs backlight control:
    initial level: -1
    step: 1
    on_batt: 6
 + ATI X1600 backlight control:
    initial level: -1
    step: 10
    on_batt: 80
 + Intel GMA950 backlight control:
    initial level: 0x6f
    step: 0xf
    on_batt: 0x40
 + nVidia GeForce 8600M GT backlight control:
    initial level: -1
    step: 1
    on_batt: 6
 + Audio volume control:
    card: default
    initial volume: -1
    step: 10%
    beep: yes
    volume element: PCM
    speaker element: Front
    headphones element: Headphone
 + Keyboard backlight control:
    default level: 100
    step: 10
    auto on threshold: 20
    auto off threshold: 40
    auto enable: yes
    idle timer: 60s
    idle level: 0
 + CD eject:
    enabled: yes
    device: /dev/dvd
 + Beep:
    enabled: no
    beepfile: /usr/share/pommed/goutte.wav
 + Apple Remote IR Receiver:
    enabled: no
I: DMI machine check: running on a MacBookAir3,2
I: sysfs backlight probe failed, falling back to nv8600mgt

So I'm not sure: Is this is the right way? What do I have to change?

Offline

#4 2017-12-29 17:02:35

oeht
Member
Registered: 2017-11-04
Posts: 20

Re: [SOLVED] Brightness control with Nvidia GeForce 320M

With nvidia-bl [AUR] installed, I noticed, that in one of 20 boots, there are two folders:
- /sys/class/backlight/nvidia_backlight
- /sys/class/backlight/nv_backlight

If I adjust the value in /sys/class/backlight/nv_backlight/brightness, the screen change it's brightness as desired.

So my question is: How can I make sure, that the I can see this folder always?

Here is the output of a succesfull boot:

$ journalctl -b | grep backlight
Dez 29 17:48:03 arche kernel: nvidia_backlight: invalid backlight type
Dez 29 17:48:03 arche kernel: WARNING: CPU: 1 PID: 187 at drivers/video/backlight/backlight.c:358 backlight_device_register+0x1fc/0x210
Dez 29 17:48:03 arche kernel: RIP: 0010:backlight_device_register+0x1fc/0x210
Dez 29 17:48:06 arche systemd[1]: Created slice system-systemd\x2dbacklight.slice.
Dez 29 17:48:06 arche systemd[1]: Starting Load/Save Screen Backlight Brightness of backlight:nv_backlight...
Dez 29 17:48:06 arche systemd[1]: Started Load/Save Screen Backlight Brightness of backlight:nv_backlight.
$ modinfo nvidia-bl
filename:       /lib/modules/4.14.8-1-ARCH/extramodules/nvidia_bl.ko
license:        GPL
description:    Nvidia-based graphics adapter display backlight driver
author:         Mario Schwalbe <schwalbe@inf.tu-dresden.de>
srcversion:     7AE8EFABFD194263F1FD63C
alias:          dmi*:svn*TOSHIBA*:pn*SATELLITEPROU500*:
alias:          dmi*:svn*DellInc.*:pn*Vostro3500*:
alias:          dmi*:svn*DellInc.*:pn*Inspiron1370*:
alias:          dmi*:svn*SonyCorporation*:pn*VPCCW2S1E*:
alias:          dmi*:svn*SonyCorporation*:pn*VPCCW21FX*:
alias:          dmi*:svn*SonyCorporation*:pn*VPCCW27FX*:
alias:          dmi*:svn*SonyCorporation*:pn*VGN-FZ11E*:
alias:          dmi*:svn*SonyCorporation*:pn*VGN-FZ38M*:
alias:          dmi*:svn*SonyCorporation*:pn*VGN-AW11*:
alias:          dmi*:svn*AppleInc.*:pn*MacBookAir3,2*:
alias:          dmi*:svn*AppleInc.*:pn*MacBookAir3,1*:
alias:          dmi*:svn*AppleInc.*:pn*MacBookPro7,1*:
alias:          dmi*:svn*AppleInc.*:pn*MacBook7,1*:
alias:          dmi*:svn*AppleInc.*:pn*MacBook6,1*:
alias:          dmi*:svn*AppleInc.*:pn*MacBookPro5,5*:
alias:          dmi*:svn*AppleInc.*:pn*MacBookPro5,4*:
alias:          dmi*:svn*AppleInc.*:pn*MacBookPro5,3*:
alias:          dmi*:svn*AppleInc.*:pn*MacBookPro5,2*:
alias:          dmi*:svn*AppleInc.*:pn*MacBookPro5,1*:
alias:          dmi*:svn*AppleInc.*:pn*MacBookAir2,1*:
alias:          dmi*:svn*AppleInc.*:pn*MacBook5,2*:
alias:          dmi*:svn*AppleInc.*:pn*MacBook5,1*:
alias:          dmi*:svn*AppleInc.*:pn*MacBookPro4,1*:
alias:          dmi*:svn*AppleInc.*:pn*MacBookPro3,2*:
alias:          dmi*:svn*AppleInc.*:pn*MacBookPro3,1*:
depends:        
name:           nvidia_bl
vermagic:       4.14.8-1-ARCH SMP preempt mod_unload modversions 
parm:           debug:Set to one to enable debugging messages. (int)
parm:           shift:Shift the value by n bits to reduce the range. (int)
parm:           dev_id:Disable auto-detection and attempt to drive exactly the device of this PCI ID if present. (int)
parm:           max_level:Maximum brightness level to use in the range 0 ... max_level. Use with care. (int)
parm:           force:Force loading of the driver even if the device is an unknown Nvidia graphics adapter. Use with care. (int)

Offline

#5 2017-12-30 11:15:52

spegesilden
Member
From: Denmark
Registered: 2010-12-22
Posts: 17

Re: [SOLVED] Brightness control with Nvidia GeForce 320M

oeht wrote:

So my question is: How can I make sure, that the I can see this folder always?

Isn't it good enough to use the nvidia driver or isn't it consistant with the backlight entries?

Also does this nvidia-bl package provide a utility to cange the backlight? If not don't you need a utility to control the backlight then? I guess that would make changing the backlight easier. I use brightnessctl for my GeForce GT 730M since I couldn't get xbacklight to work.

Offline

#6 2017-12-30 12:45:01

oeht
Member
Registered: 2017-11-04
Posts: 20

Re: [SOLVED] Brightness control with Nvidia GeForce 320M

Thanks for your answer!

spegesilden wrote:

Isn't it good enough to use the nvidia driver or isn't it consistant with the backlight entries?

You mean instead of the nouveau driver? I've already tried to install the proprietary nvidia driver, but I haven't succeeded.

spegesilden wrote:

Also does this nvidia-bl package provide a utility to cange the backlight? If not don't you need a utility to control the backlight then?.

No, it doesn't. I think that a utility can't do anything without the right entry /sys/class/backlight/. Searching a utility would be my next step.

EDIT: With /sys/class/backlight/nv_backlight this utility works as expected, with /sys/class/backlight/nvidia_backlight it doesn't.

Last edited by oeht (2017-12-30 13:05:56)

Offline

#7 2017-12-30 20:15:19

oeht
Member
Registered: 2017-11-04
Posts: 20

Re: [SOLVED] Brightness control with Nvidia GeForce 320M

Finally I found the solution:

I have to load nvidia_bl (be aware of "_" instead of "-") before any boot hooks are run. To do that, I've modified /etc/mkinitcpio.conf as follows:

[...]
MODULES=(nouveau)
[...]

changed to

[...]
MODULES=(nvidia_bl nouveau)
[...]

and run

mkinitcpio -p linux 

It is important to load nvidia_bl before nouveau.

Thanks you for your help and a happy new year!

Offline

Board footer

Powered by FluxBB