You are not logged in.

#1 2017-10-28 23:24:08

xtian
Member
Registered: 2013-08-25
Posts: 179

Thinkpad W541 brightness key not working

I found this Arch Forum thread, Thinkpad_acpi unsupported brightness interface. There doesn't seem to be any answers here, but the post is from 2015.

I'm also having general difficulty with special keys. `thinkpad_acpi` module is loaded according to the instructions at Obtaining Information section of the Kernel Module wiki page. I'm using the LTS kernel, v4.9.56. I don't know what else to try, anyone?

---
This laptop has an unusual Thinkpad key layout as you can see from this google images picture.

---
Strangely a goto resource for Thinkpads, thinkwiki.org, doesn't include the W541 (or the E550 noted by the image search). Is this resource no longer being updated? This post at Reddit /r/thinkpad says the maintainer is unresponsive.

Last edited by xtian (2017-10-28 23:35:27)

Offline

#2 2017-10-28 23:36:38

jasonwryan
Anarchist
From: .nz
Registered: 2009-05-09
Posts: 30,424
Website

Re: Thinkpad W541 brightness key not working


Arch + dwm   •   Mercurial repos  •   Surfraw

Registered Linux User #482438

Offline

#3 2017-10-29 00:33:36

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,139

Re: Thinkpad W541 brightness key not working

xtian wrote:

This laptop has an unusual Thinkpad key layout as you can see from this google images picture.

It looks pretty similar to mine, so I'm not sure it is that unusual.

Some of my keyboard keys are not recognised at all (2 out of 12, if I remember correctly), so they cannot be configured, as I understand it as pressing them does not result in anything being registered.

You need to say what isn't working and what lower-level output you get from the tests described in the wiki.


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#4 2017-10-29 21:28:11

xtian
Member
Registered: 2013-08-25
Posts: 179

Re: Thinkpad W541 brightness key not working

ACPI is installed, running, with these buttons seen,

% journalctl -f                         
-- Logs begin at Mon 2017-10-16 22:29:29 EDT. --
[...]
Oct 29 09:35:12 spaceghost root[868]: ACPI group/action undefined: button/mute / MUTE
Oct 29 09:35:14 spaceghost root[870]: ACPI group/action undefined: button/volumedown / VOLDN
Oct 29 09:35:14 spaceghost root[872]: ACPI group/action undefined: button/volumeup / VOLUP
Oct 29 09:35:15 spaceghost root[874]: ACPI group/action undefined: button/f20 / F20
Oct 29 09:35:16 spaceghost root[876]: ACPI group/action undefined: video/brightnessdown / BRTDN
Oct 29 09:35:17 spaceghost root[878]: ACPI group/action undefined: video/brightnessup / BRTUP
[...]

I thought it might be the 'undefined keys', but while I was working on the laptop I found other things to try.

TL;DR Seems the problem has to do with using the NVIDIA proprietary drivers. I have dual graphics NVidia/Intel and I've chosen the NVidia Optimus proprietary NVidia/xorg-xrandr installation route.

Here are some of the Solutions I found:

1) Nvidia Tips and Tricks:Enabling brightness control

1.1) Xorg `Device Option`. Add under section Device: `Option "RegistryDwords" "EnableBrightnessControl=1"`

>> Didn't work.

1.2) Try installing nvidia-bl (AUR) or nvidiabl (AUR):
The upstream links for nvidia-bl point to a Apple/Intel support for NVIDIA. Suggests I should try the other package, nvidiabl. This upstream link gives as a dependency Dynamic Kernel Module Support.

Do I also need the `nvidia-dkms` package? A post suggests you install one or the other: Nvidia vs nvidia-dkms ""You install 'nvidia-dkms' if you're using/compiling custom kernels that do not have an accompanying nvidia package."

>> Not sure how to proceed here. Do I uninstall nvidia-lts package and install nvidia-dksm? Do I then need to switch to the main kernel (not lts?)


2)
https://wiki.archlinux.org/index.php/Ba … #Udev_rule
""Udev rule: If the ACPI interface is available, the backlight level can be set at boot using a udev rule:"

/etc/udev/rules.d/81-backlight.rules
# Set backlight level to 8
SUBSYSTEM=="backlight", ACTION=="add", KERNEL=="acpi_video0", ATTR{brightness}="8"

3) Kernel command-line options "Sometimes, ACPI does not work well due to different motherboard implementations and ACPI quirks, resulting in, for instance, inaccurate brightness notifications. This includes some laptops with dual graphics (e.g. Nvidia/Radeon dedicated GPU with Intel/AMD integrated GPU). Additionally, ACPI sometimes needs to register its own acpi_video0 backlight even if one already exists (such as intel_backlight), which can be done by adding one of the following kernel parameters"

acpi_backlight=video
acpi_backlight=vendor
acpi_backlight=native

4) Laptop Mode Tools: "Laptop Mode Tools is a laptop power saving package for Linux systems. It is the primary way to enable the Laptop Mode feature of the Linux kernel, which lets your hard drive spin down. In addition, it allows you to tweak a number of other power-related settings using a simple configuration file...[...] Display and graphics: LCD brightness"

Problems with 2-4
I'm not sure if I'm going to get anywhere with 2-4. Reading a post Can't control brightness with nvidia (2012) the instructions for Laptop Mode Tools list directories not present in my system. Instead, these are replaced by directories specific to my hardware: `/sys/class/backlight/intel_backlight`

In this thread, snoxu starts off with,

# /sys/class/backlight/
acpi_video0
intel_backlight

A reply asks why is `intel_backlight` present despite the nvidia install? Snoxu does some more configurations and ends up with the Nouveau backlight class:

# /sys/class/backlight/
nv_backlight
sony

And finally, `nvidiabl` works to install a different class,

# /sys/class/backlight/
nvidia_backlight
sony

But these don't work, and Snoxu ends with: "Until I find a solution for Nvidia drivers I'll make do with nouveau [...] even with nvidiabl brightness control does not work.""

Offline

#5 2017-10-30 00:34:03

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,139

Re: Thinkpad W541 brightness key not working

So is the problem not with the brightness keys not working, but that you cannot control the backlight at all? Can you adjust values directly in the relevant files in those sub-directories? What is the content of those directories? The fact that you have directories there is something, at least. Look in the journal or examine dmesg output for relevant messages. There is no point looking at stuff about buttons until you figure out whether and how to control the backlight, since you don't know right now what the buttons should be doing.


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#6 2017-10-30 02:05:29

xtian
Member
Registered: 2013-08-25
Posts: 179

Re: Thinkpad W541 brightness key not working

In the directory I have,

# /sys/class/backlight/
intel_backlight

The system is setup to use NVIDIA driver, so this isn't a good sign. The `nvidiabl` AUR package is noted in one of my links as installing the file `nvidia_backlight`. However, I'm confused about the instructions requirement of  Dynamic Kernel Module Support and the implications for the installed driver.

Offline

#7 2017-10-30 04:15:35

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,139

Re: Thinkpad W541 brightness key not working

OK. Back up a bit.

What graphics card(s) does your laptop actually have?

Presumably, you at least have Intel graphics. What does

lspci | grep -i vga

give?


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#8 2017-10-30 23:20:40

xtian
Member
Registered: 2013-08-25
Posts: 179

Re: Thinkpad W541 brightness key not working

Maybe my other post, How to set the correct display rezsolution for Lenovo W541 with Xorg?, will answer most of your questions?

Offline

#9 2017-10-31 00:10:30

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,139

Re: Thinkpad W541 brightness key not working

Can you clarify what you end up with in /sys/class/backlight with the different options? As opposed to what somebody else got or what you're meant to get? Do you only have the intel_backlight directory regardless of e.g. which kernel option you use and so on? As I understand it, the listings for that directory you gave are not the ones you get, but I'm not clear what you do get in each case.


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#10 2017-10-31 00:33:05

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,139

Re: Thinkpad W541 brightness key not working

xtian wrote:

1.2) Try installing nvidia-bl (AUR) or nvidiabl (AUR):
The upstream links for nvidia-bl point to a Apple/Intel support for NVIDIA. Suggests I should try the other package, nvidiabl. This upstream link gives as a dependency Dynamic Kernel Module Support.

Do I also need the `nvidia-dkms` package? A post suggests you install one or the other: Nvidia vs nvidia-dkms ""You install 'nvidia-dkms' if you're using/compiling custom kernels that do not have an accompanying nvidia package."

>> Not sure how to proceed here. Do I uninstall nvidia-lts package and install nvidia-dksm? Do I then need to switch to the main kernel (not lts?)

I would try building nvidiabl. See what it says. I am not certain, but I think that DKMS is really just a way of automating the rebuilding of kernel modules. If you prefer to build them yourself each time you install a new kernel, I think you can do that. It just means you won't get automatic rebuilding, but presumably you are already familiar with this if you use NVIDIA, so perhaps I've misunderstood the query here.

I agree that nvidia-bl doesn't look hopeful. I wonder why the package description doesn't mention the specificity, though. Seems odd.


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#11 2017-11-01 02:18:04

xtian
Member
Registered: 2013-08-25
Posts: 179

Re: Thinkpad W541 brightness key not working

I want to install the `nvidiabl` package.
`dkms` is a dependency according to the README.
I'm using `linux-lts` + `nvidia-lts`.

Can I install the `dkms` package and  `nvidiabl` and still have it work with LTS packages?
Or, do I have to switch to `nvidia-dkms` + `linux` (main)?

The response from Omar007 in the post quoted above and in the post Nvidia vs nvidia-dkms is ambiguous on this point.

I would check with the `nvidiabl` package maintainer at github, but the README says they're no longer maintaining the package.

// UPDATE:
Tracking down an ACPI Warning...Argument #4 type mismatch...ACPI requires [Package] I also found an Arch bbs post where user Rethil suggests nvidia-dkms works with lts.

Last edited by xtian (2017-11-04 15:00:40)

Offline

#12 2017-11-05 16:48:46

xtian
Member
Registered: 2013-08-25
Posts: 179

Re: Thinkpad W541 brightness key not working

I'm adding to this thread some new information from a related thread concerning installing the NVIDIA backlight AUR package `nvidiabl`. User V1del reports on recent (less than a week) update to the NVIDIA module:

V1del wrote:

There are some comments on the AUR package.

... according to the release notes nvidia provides a native implementation with the current driver, so enabling that might be a better option [than nbidiabl`] in the long term.

nvidia.NVreg_EnableBacklightHandler=1

on your kernel commandline or a corresponding modprobe line should activate it. I don't have a system where this would be relevant so I can't test if or how well it does work.

----
For my part, after removing the `dkms` related packages, I added the module parameter to my grub conf file `/etc/default/grub` and regenerated the main grub configuration file. Out of the box, this was not sufficient to enable the brightness button.

The NVIDIA announcement: "Added an nvidia.ko kernel module parameter, NVreg_EnableBacklightHandler, which can be used to enable experimental handling of laptop backlight brightness through /sys/class/backlight/."

After installation, the contents of this directory are not what I expect:

# ls /sys/class/backlight
intel_backlight@

This laptop has both NVIDIA and Intel graphics hardware, so in parity I expect something named after nvidia here. (and I have updated the system).

// UPDATE, I'm installing Bumblebee with NVIDIA and will work to set this up this weekend.

Last edited by xtian (2017-11-10 02:47:40)

Offline

Board footer

Powered by FluxBB