Bug 213259
Summary: | i915 dpcd backlight brightness control stopped working with kernel v5.12 | ||
---|---|---|---|
Product: | Drivers | Reporter: | André Najda (andre) |
Component: | Video(Other) | Assignee: | drivers_video-other |
Status: | RESOLVED MOVED | ||
Severity: | normal | CC: | edeadlink, lyude |
Priority: | P1 | ||
Hardware: | Intel | ||
OS: | Linux | ||
URL: | https://gitlab.freedesktop.org/drm/intel/-/issues/3680 | ||
Kernel Version: | 5.12 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: |
bisect 'log'
dmesg xorg.conf kernel config dmesg with drm.debug=0x116 log_buf_len=15M v5.13.0-rc5 dmesg with drm.debug=0x116 log_buf_len=15M v5.10 without dpcd_backlight parameter dmesg with drm.debug=0x116 log_buf_len=15M v5.10 with dpcd_backlight parameter dmesg v5.13.0-rc5 without acpi vendor without dpcd_backlight parameter |
Created attachment 297023 [details]
dmesg
Created attachment 297025 [details]
xorg.conf
Created attachment 297027 [details]
kernel config
XC1507v2 ~ # get-edid This is read-edid version 3.0.2. Prepare for some fun. Attempting to use i2c interface No EDID on bus 1 No EDID on bus 2 No EDID on bus 3 2 potential busses found: 0 4 Will scan through until the first EDID is found. Pass a bus number as an option to this program to go only for that one. Bus 0 doesn't really have an EDID... 256-byte EDID successfully retrieved from i2c bus 4 ��������R�C50 ▒�"x���XT�'PT�q��p8>@l0�X�▒�q��p8�Dl0�X�▒�AUO �B156HTN05.2 Looks like i2c was successful. Have a good day. Let me know if I can help any further in providing information or testing. :] I have the same issue on my clevo P65_67HSHP. I ran a more limited bisect: $ git bisect start v5.12 v5.11 -- drivers/gpu/drm/i915/display/ And found this commit as the first bad one: fe7d52bccab674a22776a2f31236bf4232e85410 - drm/i915/dp: Don't use DPCD backlights that need PWM enable/disable https://patchwork.freedesktop.org/patch/415303/ The clevo P65_67HSHP can not control the brightness using PWM only. Maybe it needs a mix of AUX and PWM, maybe that patch is just BAD. Sorry it's taken me so long to get back to this, this week and last have been extremely busy. Have you tried a kernel from drm-tip or directly from Linus's tree? As well, if that doesn't fix your issue could you try getting me more logs with the following kernel parameters added: drm.debug=0x116 log_buf_len=15M (Also, please make sure to remove the i915.enable_dpcd_backlight setting you added or set it to -1 as I'd like to see what i915 thinks your system actually uses for backlight controls) Created attachment 297265 [details]
dmesg with drm.debug=0x116 log_buf_len=15M v5.13.0-rc5
Created attachment 297269 [details]
dmesg with drm.debug=0x116 log_buf_len=15M v5.10 without dpcd_backlight parameter
Created attachment 297271 [details]
dmesg with drm.debug=0x116 log_buf_len=15M v5.10 with dpcd_backlight parameter
Wait. have you tried this without the acpi_backlight=vendor string in your kernel cmdline? You really shouldn't need that these days, and I'm actually kind of suspicious there's a chance that might be causing the problems here acpi_backlight=vendor can't be it, I don't use it and have the same issue. Created attachment 297273 [details]
dmesg v5.13.0-rc5 without acpi vendor without dpcd_backlight parameter
Thanks for taking your time. Unfortunately backlight still is at 100%.
I removed the acpi_backlight=vendor string and it still works with v5.10. (In reply to André Najda from comment #13) > I removed the acpi_backlight=vendor string and it still works with v5.10. So just to confirm - your backlight does work on v5.10, and it works by default on v5.10 without i915.enable_dpcd_backlight=1? Or did you have to manually enable dpcd backlight controls there as well? (In reply to Lyude Paul from comment #14) > (In reply to André Najda from comment #13) > > I removed the acpi_backlight=vendor string and it still works with v5.10. > > So just to confirm - your backlight does work on v5.10, and it works by > default on v5.10 without i915.enable_dpcd_backlight=1? Or did you have to > manually enable dpcd backlight controls there as well? No. It works without acpi_backlight=vendor but i915.enable_dpcd_backlight=1 is still needed. So no dpcd_backlight string no joy. Just to clarify: It doesn't work with kernel >=v5.12 as reported neither with dpcd_backlight=1 nor with dpcd_backlight=-1 (In reply to André Najda from comment #15) > (In reply to Lyude Paul from comment #14) > > (In reply to André Najda from comment #13) > > > I removed the acpi_backlight=vendor string and it still works with v5.10. > > > > So just to confirm - your backlight does work on v5.10, and it works by > > default on v5.10 without i915.enable_dpcd_backlight=1? Or did you have to > > manually enable dpcd backlight controls there as well? > > No. > > It works without acpi_backlight=vendor but i915.enable_dpcd_backlight=1 is > still needed. > > So no dpcd_backlight string no joy. ugh sorry I forgot to ask one last question - is this problem affected at all by the fact that you're loading the nvidia driver? I doubt this is the case, but I'd like to just confirm because unfortunately your laptop is breaking quite a number of assumptions about intel backlight configs :(. Also - is this a System76 machine? (In reply to Lyude Paul from comment #17) > ugh sorry I forgot to ask one last question - is this problem affected at > all by the fact that you're loading the nvidia driver? I doubt this is the > case, but I'd like to just confirm because unfortunately your laptop is > breaking quite a number of assumptions about intel backlight configs :(. > > Also - is this a System76 machine? No, it's not. I once tried especially not to taint the kernel but the issue is the very same. If it's of any help I could provide a dmesg w/o the nvidia-blob. No, this is not a System76 machine. It would just work if I'd disable the intel gpu and go for the nvidia dGPU, only. But battery becomes an issue there. Please let's try to bring all the drm/i915 bugs over at fdo gitlab; basically nobody in the i915 team has been looking at kernel.org bugzilla for years. https://gitlab.freedesktop.org/drm/intel/issues/new |
Created attachment 297021 [details] bisect 'log' So this is a clevo based laptop P65_67HSHP XC1507v2 ~ # lspci | grep -i vga 00:02.0 VGA compatible controller: Intel Corporation HD Graphics 630 (rev 04) 01:00.0 VGA compatible controller: NVIDIA Corporation GP104BM [GeForce GTX 1070 Mobile] (rev a1) where the NVIDIA is the dGPU. To have backlight brightness control working I have to set: XC1507v2 ~ # cat /proc/cmdline root=UUID=c90317de-bed0-4a71-beaf-b5acfbc3d98f crypt_root=UUID=73cc64d2-e973-4e6e-bbf8-31c1d00f6ad8 resume=UUID=1c793108-f3db-4a52-99de-cf24b894dd0b dolvm luks rw initrd=\intel-uc.img initrd=\initramfs-5.12.7.img acpi_backlight=vendor keymap=de i915.enable_dpcd_backlight=1 where the dpcd thing is the important part. When I updated from kernel v5.11 to a kernel v 5.12 I discovered the backlight brightness control not working anymore. I then did a bisect, but unfortunately I had to skip a few commits because the kernel won't build since make throws errors. See the attachment for a "bisect log". As far as I can see and understand the commits I read there seems to be several changes in the way the i915 driver addresses the backlight control mechanism. I also tried enable_dpcd_backlight with the option 2 and 3 as it was mentioned in one of the commits. I'm kind of lost at this point and I'm looking for help to solve this. Thank you.