Bug 217026
Summary: | Backlight control broken on kernels 6.1.4+ | ||
---|---|---|---|
Product: | ACPI | Reporter: | albimarini4283 |
Component: | ACPICA-Core | Assignee: | acpi_acpica-core (acpi_acpica-core) |
Status: | RESOLVED WILL_FIX_LATER | ||
Severity: | normal | CC: | albimarini4283, bruce, jwrdegoede |
Priority: | P1 | ||
Hardware: | AMD | ||
OS: | Linux | ||
Kernel Version: | 6.1.11 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: | [PATCH] platform/x86: nvidia-wmi-ec-backlight: Add force module parameter |
Description
albimarini4283
2023-02-12 20:57:03 UTC
(In reply to albimarini4283 from comment #0) > The only parameters applied at boot on my system are: nvidia-drm.modeset=1 Have you tried what happens without that parameter? (In reply to The Linux kernel's regression tracker (Thorsten Leemhuis) from comment #1) > (In reply to albimarini4283 from comment #0) > > The only parameters applied at boot on my system are: nvidia-drm.modeset=1 > > Have you tried what happens without that parameter? Yes, I did. It makes no difference on 6.1.3, and on 6.1.11 the behavior is still the same. Only nvidia_wmi_ec_backlight is present in /sys/class/backlight, and if I also add acpi_backlight=native to the parameters on 6.1.11, amdgpu_bl0 appears in /sys/class/backlight, and the nvidia backlight disappears. Yes this has already been reported on the malinglist. There unfortunately is a firmware bug on the Lenovo Legion models. On models with the Nvidia WMI EC backlight interface, when the laptop is configured in dynamic mux mode in the BIOS (1) the backlight should always be controlled by the Nvidia WMI EC backlight interface. So in theory the kernel is behaving as it should according to the documentation here. But as you found out, some Legion models are not behaving as the Nvidia WMI spec says they should behave. This is also why you needed the hack/script to write brightness values to both backlight devices at the same time with older kernels. Daniel Dadap from Nvidia is looking into this, but I'm afraid that we don't have a solution yet. 1) So that you can switch at runtime which GPU is connected to the builtin LCD panel Created attachment 303727 [details]
[PATCH] platform/x86: nvidia-wmi-ec-backlight: Add force module parameter
I don't know if you know how to build your own kernels.
If you do here is a patch which adds a force parameter to the nvidia-wmi-ec-backlight driver. This allows specifying the following on the kernel commandline to get the old behavior back (as a workaround for now).
This is not a proper fix, we are still investigating how to fix this properly.
(In reply to Hans de Goede from comment #4) > Created attachment 303727 [details] > [PATCH] platform/x86: nvidia-wmi-ec-backlight: Add force module parameter > > I don't know if you know how to build your own kernels. > > If you do here is a patch which adds a force parameter to the > nvidia-wmi-ec-backlight driver. This allows specifying the following on the > kernel commandline to get the old behavior back (as a workaround for now). > > This is not a proper fix, we are still investigating how to fix this > properly. I managed to apply the patch to kernel 6.1.2, using the kernel commandline "acpi_backlight=native nvidia_wmi_ec_baclight.force=1" restored the previous behaviors of kernels 6.1.3 and prior on the latest stable release. Thank you for the clarification about the problem with the Nvidia WMI EC backlight interface, and I'll definitely be interested in hearing about future development with the Legion models. Meant to write kernel 6.1.12*, not 6.1.2 Thank you for testing the patch. I have pushed this to pdx86/for-next now so that it will go to Linus during the upcoming merge-window and on to the stable kernel series from there. (In reply to Hans de Goede from comment #7) > Thank you for testing the patch. > > I have pushed this to pdx86/for-next now so that it will go to Linus during > the upcoming merge-window and on to the stable kernel series from there. Sounds good, I'll look forward to the patch on new stable releases Marked as WILL_FIX_LATER for the time being until a working implementation of the nvidia_wmi_ec interface is present on Lenovo Legion laptops, since the patch isn't a true fix as stated before |