Controlling Screen brightness on an iMac 21,5" (late-2012) doesn't work

I recently blew new life into an old iMac (21,5" late-2012) for my daughter, using F37 gnome-desktop.

The live USB seemed to have no problem controlling the display brightness. Even the automatic light-sensor worked.

I noticed after the install was done, the installation itself doesn’t have any ability to control the screen brightness anymore.

On the live USB I had an extra slider in the gnome top corner menu, for the brightness. Now it’s gone. What other packages do I need to install to bring that back?

1 Like

I’m working through figuring out the same thing on my system - the resources I’m working with are this reference on how Linux determines what driver handles the backlight:

And this solved problem that used that reference:

Hopefully these are helpful - I’m still working through myself!

Okay, I tried this, but unfortunately I have no success with this.

I did learn how I can disable the the fancy Fedora bootscreen so I can follow the systemd initialization during boot. (which I’m leaving off for now so I can see wth is going on)

I also learned that; if I try to look for backlight devices with ls /sys/class/backlight i see no devices at all.

I just switched from the nvidia driver to the nouveau driver, i don’t know if that is the reason it’s not detected (backlight didn’t work in both cases, so that’s why i tried switching drivers). But if it does work with the nvidia driver … I can say bye-bye to Wayland… :frowning: That would be a bummer. I’ll try to keep updating this thread with any findings.

For context, my iMac has a nVidia GT 640M.

Tried ls /sys/class/backlight again, with the nvidia proprietary drivers. Still no devices to be found there. Do specific driver packages exist for specific Apple computers to deal with these specific device features?

Okay, this is very frustrating…

I thought I was going mental, but no… the install USB does have the slider. It knows what hardware to address. What’s the best way to backpedal this information, so I can implement it on the actual installation… I’ve actually had this experience before, where the live install actually gave me a better experience then the install itself… How is this possible?

It even uses the light sensor. :sob:


ls /sys/class/backlight now also results acpi_video0

idk if this is in any way related, but i had this somewhat similar issue after the kernel update from 6.0 to 6.1 on a late 2011 mbp - it stuck on 100% brightness with brightness key not responding and no slider available (though i’m running kde).

and since i kind of accepted that kernel updates keep breaking things past version 6 at least on my system i decided against posting it here. so i just went for a previous kernlev version and stuck with it indefinitely.

1 Like

The live USB uses:

and we’re currently at:

So yeah, you could be right… that would truly be a bummer in that case.

yep. the last legit one for me is 6.0.18. and .1.5, .1.6 and .1.7 are all faulty.

A friend just forwarded this to me: Kernel 6.1-rc# might break backlight control on old/weird laptops, please test - Hans' hacking log — LiveJournal

Edit: and a follow up: Second request for Linux backlight testing for changes planned for 6.2 - Hans' hacking log — LiveJournal

1 Like

Okay, I e-mailed Hans and he replied me with a temporary fix and noted that they are aware of this issue. It would probably be fixed in the coming stable kernel series. Here’s the reply I got:

Thank you for reporting this and sorry about the regression.

This issue was already reported to me recently
and a set of fixes is on its way to the stable
kernel series:

[GIT PULL] platform-drivers-x86 for 6.2-3 - Hans de Goede

You can either build a kernel with the fixes from:

[PATCH v2 0/3] ACPI: video/apple-gmux: Fix apple gmux backlight detection - Hans de Goede

Or for now you can add “acpi_backlight=video” to your kernel
commandline as a workaround. To do this run:

sudo grubby --update-kernel=ALL --args="acpi_backlight=video"



I took the short route and did the last command as he suggested and now I can select an older kernel that temporary fixes the issue.

So it’s solved (sort of)

1 Like

it seems to be fixed on 6.1.9.

I just tried it, unfortunately the problem persists. Then again, Hans mentioned they were aiming for 6.2. So I’m just waiting until then.

Weirdly enough, I also have an 2011 MBP and that machines has no issues with F37 on 6.1.x

The ACPI controlls for keyboard backlight & screen backlight work just fine.

btw, have you managed to get broadcom-wl working?

Yes, after setting up RPM fusion, it just shows up in the Software manager.

it shows for sure. it just stopped working after 6.0 kernel update. at least for me and some other users.

On my iMac 27 inch late 2013 I can use:

% doas ddcutil capabilities | grep "Feature: 10"
   Feature: 10 (Brightness)
% doas ddcutil getvcp 10
VCP code 0x10 (Brightness                    ): current value =  9408, max value = 65535
% doas ddcutil setvcp 10 20000

It’s not perfect, since the wifi just randomly drops sometimes… (which I’m fairly sure is the ndis wrapped driver crashing)

same problem here :
no brightness control from gnome settings nor from apple keyboard.

apple imac 27 14,2
Fedora 38 (6.2.6-300.fc38.x86_64)
akmod-nvidia driver from rpm-fusion repo.
(I tried the nouveau driver, but it was unsuable because of glitches on an external apple display)

any solution?

Did you check to see if ddcutil supports “Feature 10” in your configuration (it does on a similar iMac using nouveau graphics)?