Kernel parameters and display backlight for MORPHIUS (AMD Picasso)

Hello,

I installed Arch Linux on my Lenovo ThinkPad C13 Yoga a while back. In accordance with the supported devices page, I had added iommu=pt to my kernel arguments, which was working fine.

Recently, I realized that I was unable to adjust my display backlight after the system had suspended. If I pressed the backlight buttons on the keyboard immediately after the system booted, it would work fine, but if I put the laptop to sleep by closing the lid, then open it again, the backlight would be stuck on 100% fullbright. This is very annoying when I’m trying to work in the dark, so I decided to take a crack at fixing it this morning.

Some preliminary Google searching led me to discover that many laptops using the AMDGPU driver have backlight issues which can be solved by adding amdgpu.backlight=0 to the kernel arguments. I added that argument to my bootloader and rebooted, and my system locked up during boot. Weirdly, removing the newly added kernel argument did not seem to fix the problem, but I was able to boot into the fallback entry that has no extra kernel options and edit the bootloader configuration.

After a lot of additional trial and error (including briefly being under the impression I had somehow bricked my GPU) I discovered that removing iommu=pt would make my system boot just fine with amdgpu.backlight=0, and now my backlight adjustment keys work even after suspending!

During the aforementioned trial and error, I seemed to pretty consistently have the system lockup during boot whenever I tried to boot with both iommu=pt and amdgpu.backlight=0. It also seems like it always locks up during the subsequent boot, no matter what kernel arguments you use (WHAT?).

The supported devices page seems to imply that iommu=pt is important on Linux for all Picasso devices. Anyone who can attempt to explain why that’s the case? It seems to work fine without it on my machine and I really want that backlight working. What it did when I tried using both scared the crap out of me, though.

I don’t use iommu=pt on my morphius and have no issues

I haven’t noticed any issues yet, either. Thank you. I’ll keep it like this and report back if anything crops up.