You are not logged in.

#1 2011-04-24 04:06:12

jwhendy
Member
Registered: 2010-04-01
Posts: 621

[SOLVED] Macbook 2,1 Intel 945GM: no backlight property custom kernel

Hi,


I just finished compiling a custom kernel for my Macbook and for the life of me cannot figure out which option enables backlight control. I'm suspecting it might be CONFIG_FB_BACKLIGHT, but I can't actually find it via 'make menuconfig.' In other words, I can grep it from the raw config, but don't know where it is:

$ grep -A10 -B10 CONFIG_FB_BACKLIGHT .config
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
# CONFIG_FB_SYS_FILLRECT is not set
# CONFIG_FB_SYS_COPYAREA is not set
# CONFIG_FB_SYS_IMAGEBLIT is not set
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_SYS_FOPS is not set
# CONFIG_FB_WMT_GE_ROPS is not set
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
[b]# CONFIG_FB_BACKLIGHT is not set[/b]
# CONFIG_FB_MODE_HELPERS is not set
# CONFIG_FB_TILEBLITTING is not set

#
# Frame buffer hardware drivers
#
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ARC is not set

But menuconfig is like this:

 --- Support for frame buffer 
[ ]   Enable firmware EDID
[ ] foreign endianness support  --->
[ ] Video Mode Handling Helpers
[ ] Tile Blitting Support

It's hard to reproduce entirely here, but the point is that the config grep returns fb_backlight just above mode helpers/tilebitting, but above those are foreign endianness, and that's not where the backlight setting is.

The card is the Intel 945GM; on the default Arch kernel I can use xbacklight to adjust brightness. With my custom compiled one, I get "no outputs have backlight property" with xbacklight and, indeed, /sys/class/backlight is empty.

Would someone kindly tell me which kernel option provides the backlight property for this card?

Last edited by jwhendy (2011-10-15 16:44:30)

Offline

#2 2011-04-24 09:13:05

byte
Member
From: Düsseldorf (DE)
Registered: 2006-05-01
Posts: 2,046

Re: [SOLVED] Macbook 2,1 Intel 945GM: no backlight property custom kernel

I would start by comparing the kernel configs directly and looking for "BACKLIGHT/ACPI"-related differences.
The default Arch kernel config is at http://projects.archlinux.org/svntogit/ … l26/trunk/ or in /proc/config.gz; 'abs' would be another option.

Then just edit your config and use 'make oldconfig' to test it.
To find out where in the menuconfig tree it is, you'd have to grep for the CONFIG_... string in all Kconfig files.


1000

Offline

#3 2011-04-24 17:50:30

jwhendy
Member
Registered: 2010-04-01
Posts: 621

Re: [SOLVED] Macbook 2,1 Intel 945GM: no backlight property custom kernel

@byte:

Thanks for the suggestion, and the link to the current config. I was wondering where I might find that. Not looking so promising so far:

$ diff --side-by-side default-config custom-config | grep BACKLIGHT
CONFIG_FB_BACKLIGHT=y                          |    # CONFIG_FB_BACKLIGHT is not set
CONFIG_FB_NVIDIA_BACKLIGHT=y                      <
CONFIG_FB_RIVA_BACKLIGHT=y                      <
CONFIG_FB_RADEON_BACKLIGHT=y                      |    # CONFIG_FB_ATY is not set
CONFIG_FB_ATY128_BACKLIGHT=y                      |    # CONFIG_FB_SIS is not set
CONFIG_FB_ATY_BACKLIGHT=y                      |    # CONFIG_FB_VOODOO1 is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y                    CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y                    CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_GENERIC=m                    CONFIG_BACKLIGHT_GENERIC=m
CONFIG_BACKLIGHT_PROGEAR=m                      |    # CONFIG_BACKLIGHT_PROGEAR is not set
CONFIG_BACKLIGHT_CARILLO_RANCH=m                CONFIG_BACKLIGHT_CARILLO_RANCH=m
CONFIG_BACKLIGHT_MBP_NVIDIA=m                      |    # CONFIG_BACKLIGHT_MBP_NVIDIA is not set
CONFIG_BACKLIGHT_SAHARA=m                      |    # CONFIG_BACKLIGHT_SAHARA is not set
CONFIG_BACKLIGHT_WM831X=m                      |    # CONFIG_BACKLIGHT_ADP8860 is not set
CONFIG_BACKLIGHT_ADP8860=m                      <
CONFIG_BACKLIGHT_PCF50633=m                      <
CONFIG_HID_PICOLCD_BACKLIGHT=y                      |    # CONFIG_HID_ROCCAT_KONEPLUS is not set
CONFIG_LEDS_TRIGGER_HEARTBEAT=m                      |    # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
CONFIG_LEDS_TRIGGER_BACKLIGHT=m                      |    # CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y                      <

I don't see much there to wonder about. CONFIG_FB_BACKLIGHT only gets triggered if certain drivers are enabled. But I don't have any of those. I'm re-compiling right now with one of them, just for kicks, to see what happens. I have the right LCD backlight options set to match the default. On the ACPI front, we have this:

]$ diff --side-by-side ~/def-config .config |grep ACPI
# Power management and ACPI options                # Power management and ACPI options
CONFIG_ACPI=y                            CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y                        CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_PROCFS=y                          |    # CONFIG_ACPI_PROCFS is not set
CONFIG_ACPI_PROCFS_POWER=y                      |    # CONFIG_ACPI_PROCFS_POWER is not set
CONFIG_ACPI_POWER_METER=m                      |    # CONFIG_ACPI_POWER_METER is not set
CONFIG_ACPI_EC_DEBUGFS=m                      |    # CONFIG_ACPI_EC_DEBUGFS is not set
CONFIG_ACPI_PROC_EVENT=y                      |    # CONFIG_ACPI_PROC_EVENT is not set
CONFIG_ACPI_AC=m                          |    CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=m                          |    CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=m                          |    CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=m                          |    CONFIG_ACPI_VIDEO=y
CONFIG_ACPI_FAN=m                          |    CONFIG_ACPI_FAN=y
CONFIG_ACPI_DOCK=y                          |    # CONFIG_ACPI_DOCK is not set
CONFIG_ACPI_PROCESSOR=m                          |    CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_IPMI=m                          <
CONFIG_ACPI_HOTPLUG_CPU=y                    CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_PROCESSOR_AGGREGATOR=m                  |    # CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
CONFIG_ACPI_THERMAL=m                          |    CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_CUSTOM_DSDT is not set                # CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_BLACKLIST_YEAR=0                    CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set                    # CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_PCI_SLOT=m                          |    # CONFIG_ACPI_PCI_SLOT is not set
CONFIG_ACPI_CONTAINER=m                          |    CONFIG_ACPI_CONTAINER=y
CONFIG_ACPI_SBS=m                          |    # CONFIG_ACPI_SBS is not set
CONFIG_ACPI_HED=m                          |    # CONFIG_ACPI_HED is not set
CONFIG_ACPI_APEI=y                          |    # CONFIG_ACPI_APEI is not set
CONFIG_ACPI_APEI_GHES=m                          |    # CONFIG_SFI is not set
CONFIG_ACPI_APEI_EINJ=m                          <
CONFIG_ACPI_APEI_ERST_DEBUG=m                      <
CONFIG_X86_ACPI_CPUFREQ=m                      |    CONFIG_X86_ACPI_CPUFREQ=y
CONFIG_X86_POWERNOW_K7_ACPI=y                      <
CONFIG_CARDBUS=y                          |    # CONFIG_HOTPLUG_PCI_ACPI is not set
CONFIG_HOTPLUG_PCI_ACPI=m                      <
CONFIG_HOTPLUG_PCI_ACPI_IBM=m                      <
CONFIG_PNPACPI=y                        CONFIG_PNPACPI=y
CONFIG_BLK_DEV_IDEACPI=y                      <
CONFIG_ATA_ACPI=y                        CONFIG_ATA_ACPI=y
CONFIG_PATA_ACPI=m                          |    # CONFIG_PATA_ACPI is not set
# ACPI drivers                            # ACPI drivers
# ACPI drivers                            # ACPI drivers
CONFIG_ACPI_QUICKSTART=m                      <
CONFIG_TC1100_WMI=m                          |    # CONFIG_THINKPAD_ACPI is not set
CONFIG_COMPAL_LAPTOP=m                          |    # CONFIG_ACPI_WMI is not set
CONFIG_SONY_LAPTOP=m                          |    # CONFIG_ACPI_ASUS is not set
CONFIG_IDEAPAD_LAPTOP=m                          |    # CONFIG_ACPI_TOSHIBA is not set
CONFIG_THINKPAD_ACPI=m                          |    # CONFIG_TOSHIBA_BT_RFKILL is not set
CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y                  |    # CONFIG_ACPI_CMPC is not set
# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set          |    # CONFIG_INTEL_IPS is not set
# CONFIG_THINKPAD_ACPI_DEBUG is not set                  |    # CONFIG_IBM_RTL is not set
# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set              <
CONFIG_THINKPAD_ACPI_VIDEO=y                      <
CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y                  <
CONFIG_ACPI_WMI=m                          <
CONFIG_ACPI_ASUS=m                          <
CONFIG_ACPI_TOSHIBA=m                          <
CONFIG_ACPI_CMPC=m                          <

Most of that seems about right, and the end stuff is all specific laptop drivers.

I'll post back when this is done. The only other thing I can think of is the fact that I compiled in i915 and intel_agp vs. having them as modules. Should that make any difference?

Offline

#4 2011-10-15 16:44:16

jwhendy
Member
Registered: 2010-04-01
Posts: 621

Re: [SOLVED] Macbook 2,1 Intel 945GM: no backlight property custom kernel

I'm wondering if this is just going away, period. Both on my work computer and my mac, xbacklight doesn't pick anything up. I've had to write scripts for both of them to simply change /sys/class/backlight/[nvidia/macbook]_backlight/brightness manually. Perhaps that's just the way things are now? This is now the case on my macbook even with the default kernel...

Marking as solved. Just use a script and alter the file manually.

Offline

Board footer

Powered by FluxBB