brightness adjustment on a macbook pro mid-2010

Hello,

Would anyone know a way to adjust the brightness on a macbook pro mid-2010? I really need to do this because the display is quite dark.

I have tried xbacklight, backlight, sysctl ... to no avail.

A few pieces of information on that machine:
dmesg
Code:
root@here:~ # dmesg
( ... )
FreeBSD 14.2-RELEASE-p1 GENERIC amd64
FreeBSD clang version 18.1.6 ([URL]https://github.com/llvm/llvm-project.git[/URL] llvmorg-18.1.6-0-g1118c2e05e67)
VT(efifb): resolution 1440x900
module_register: cannot register tmpfs from kernel; already loaded from tmpfs.ko
Module tmpfs failed to register: 17
CPU: Intel(R) Core(TM) i5 CPU       M 540  @ 2.53GHz (2527.31-MHz K8-class CPU)
  Origin="GenuineIntel"  Id=0x20652  Family=0x6  Model=0x25  Stepping=2
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x298e3ff<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,POPCNT,AESNI>
  AMD Features=0x28100800<SYSCALL,NX,RDTSCP,LM>
  AMD Features2=0x1<LAHF>
  Structured Extended Features3=0xc000000<IBPB,STIBP>
  VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID
  TSC: P-state invariant, performance statistics
real memory  = 8589934592 (8192 MB)
avail memory = 8191389696 (7811 MB)
Event timer "LAPIC" quality 600
ACPI APIC Table: <APPLE  Apple00>
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s) x 2 hardware threads
( ... )
vgapci0: <VGA-compatible display> port 0x2000-0x207f mem 0xd2000000-0xd2ffffff,0xc0000000-0xcfffffff,0xd0000000-0xd1ffffff at device 0.0 on pci1
hdac0: <NVIDIA (0x0be2) HDA Controller> mem 0xd3080000-0xd3083fff at device 0.1 on pci1
vgapci1: <VGA-compatible display> port 0x3130-0x3137 mem 0xd3400000-0xd37fffff,0xb0000000-0xbfffffff at device 2.0 on pci0
agp0: <Intel Ironlake (M) SVGA controller> on vgapci1
WARNING: Device "agp" is Giant locked and may be deleted before FreeBSD 15.0.
agp0: aperture size is 256M, detected 32764k stolen memory
vgapci1: Boot video device
( ... )
asmc0: <Apple SMC MacBook Pro (Mid 2010, 15-inch)> port 0x300-0x31f irq 6 on acpi0
( ... )
nvidia0: <GeForce GT 330M> on vgapci0
vgapci0: child nvidia0 requested pci_enable_io
vgapci0: child nvidia0 requested pci_enable_io
Cuse v0.1.37 @ /dev/cuse
acpi_video1: <ACPI video extension> on vgapci1
( ... )
pciconf
Code:
root@here:~ # pciconf -lv | grep -B4 VGA
vgapci1@pci0:0:2:0:    class=0x030000 rev=0x12 hdr=0x00 vendor=0x8086 device=0x0046 subvendor=0x0000 subdevice=0x0000
    vendor     = 'Intel Corporation'
    device     = 'Core Processor Integrated Graphics Controller'
    class      = display
    subclass   = VGA
--
vgapci0@pci0:1:0:0:    class=0x030000 rev=0xa2 hdr=0x00 vendor=0x10de device=0x0a29 subvendor=0x106b subdevice=0x00c7
    vendor     = 'NVIDIA Corporation'
    device     = 'GT216M [GeForce GT 330M]'
    class      = display
    subclass   = VGA
kldstat
Code:
root@here:~ # kldstat 
Id Refs Address                Size Name
 1  134 0xffffffff80200000  1f3c6c0 kernel
 2    1 0xffffffff8213d000     89d8 wsp.ko
 4    1 0xffffffff8215c000     97f8 nullfs.ko
 5    1 0xffffffff82166000    2edb8 asmc.ko
 6    1 0xffffffff82195000    2e7b8 bwn_v4_lp_ucode.ko
 7    1 0xffffffff821c4000     e160 bwn_v4_n_ucode.ko
 8    1 0xffffffff821d3000    2ce90 bwn_v4_ucode.ko
 9    1 0xffffffff83200000   963c38 nvidia.ko
10    1 0xffffffff83118000    30a80 linux.ko
11    5 0xffffffff83149000     c2a8 linux_common.ko
12    1 0xffffffff83156000     6760 cuse.ko
13    1 0xffffffff8315d000     4388 acpi_video.ko
14    1 0xffffffff83162000     4250 ichsmb.ko
15    1 0xffffffff83167000     2178 smbus.ko
16    1 0xffffffff8316a000    63158 if_bwn.ko
17   14 0xffffffff83b64000    38060 bhnd.ko
18    2 0xffffffff831ce000     6740 gpiobus.ko
19    4 0xffffffff831d5000     b240 bhndb.ko
20    1 0xffffffff831e1000     5540 bhndb_pci.ko
21    1 0xffffffff831e7000     2300 bhnd_pci_hostb.ko
22    2 0xffffffff831ea000     3244 bhnd_pci.ko
23    1 0xffffffff831ee000     21b0 bcma_bhndb.ko
24    1 0xffffffff831f1000     50c8 bcma.ko
25    1 0xffffffff831f7000     2364 siba_bhndb.ko
26    1 0xffffffff83b9d000     60c8 siba.ko
27    1 0xffffffff83ba4000    2de10 linux64.ko
28    1 0xffffffff831fa000     2278 pty.ko
29    1 0xffffffff83bd2000     3560 fdescfs.ko
30    1 0xffffffff83bd6000     73c0 linprocfs.ko
31    1 0xffffffff83bde000     440c linsysfs.ko
32    1 0xffffffff83be3000     b0b0 tmpfs.ko
33    1 0xffffffff83bef000     3360 uhid.ko
34    1 0xffffffff83bf3000     3360 wmt.ko
35    1 0xffffffff83bf7000     4364 ums.ko
36    1 0xffffffff83bfc000     4d20 ng_ubt.ko
37    6 0xffffffff83c01000     abb8 netgraph.ko
38    2 0xffffffff83c0c000     a250 ng_hci.ko
39    4 0xffffffff831fd000     2670 ng_bluetooth.ko
40    1 0xffffffff83c17000     48e0 atp.ko
41    1 0xffffffff83c1c000     e268 ng_l2cap.ko
42    1 0xffffffff83c2b000    1bf68 ng_btsocket.ko
43    1 0xffffffff83c47000     38f8 ng_socket.ko
/boot/loader.conf
Code:
root@here:~# cat /boot/loader.conf
security.bsd.allow_destructive_dtrace=0
wsp_load="YES"
asmc_load="YES"
hw.bwn_pci.preferred="0"
bwn_v4_ucode_load="YES"
bwn_v4_n_ucode_load="YES"
bwn_v4_lp_ucode_load="YES"
wlan_wep_load="YES"
wlan_ccmp_load="YES"
wlan_tkip_load="YES"
/etc/rc.conf
Code:
root@here:~ # cat /etc/rc.conf
clear_tmp_enable="YES"
syslogd_flags="-ss"
hostname="here"
ifconfig_bge0="DHCP"
sshd_enable="YES"
powerd_enable="YES"
moused_nondefault_enable="NO"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
kld_list="i915kms nvidia nvidia-modeset cuse acpi_video"
dbus_enable="YES"
lightdm_enable="YES"
webcamd_enable="YES"
moused_port="/dev/wsp0"
moused_enable="YES"
lpd_enable="YES"
cupsd_enable="YES"
avahi_daemon_enable="YES"
wlans_bwn0="wlan0"
ifconfig_wlan0="WPA DHCP"
/etc/sysctl.conf
Code:
root@here:~ # cat /etc/sysctl.conf 
#
#  This file is read when going to multi-user and its contents piped thru
#  ``sysctl'' to adjust kernel values.  ``man 5 sysctl.conf'' for details.
#

# Uncomment this to prevent users from seeing information about processes that
# are being run under another UID.
#security.bsd.see_other_uids=0
security.bsd.see_other_uids=0
security.bsd.see_other_gids=0
security.bsd.see_jail_proc=0
security.bsd.unprivileged_read_msgbuf=0
security.bsd.unprivileged_proc_debug=0
kern.randompid=1
xbacklight
Code:
root@here:~ # xbacklight
RANDR Query Version returned error -1
backlight
Code:
root@here:~ # backlight
backlight: cannot open /dev/backlight/backlight0: No such file or directory
sysctl dev
Code:
root@here:~ # sysctl dev | grep video
dev.acpi_video.1.%iommu: 
dev.acpi_video.1.%parent: vgapci1
dev.acpi_video.1.%pnpinfo: 
dev.acpi_video.1.%location: 
dev.acpi_video.1.%driver: acpi_video
dev.acpi_video.1.%desc: ACPI video extension
dev.acpi_video.%parent:
sysctl hw
Code:
root@here:~ # sysctl hw | grep video
hw.acpi.video.lcd0.levels: 80 50 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
hw.acpi.video.lcd0.economy: 50
hw.acpi.video.lcd0.fullpower: 80
hw.acpi.video.lcd0.brightness: 50
hw.acpi.video.lcd0.active: 0
hw.acpi.reset_video: 0
root@here:~ # sysctl hw.acpi.video.lcd0.brightness=100
hw.acpi.video.lcd0.brightness: 50 -> 100
This very last sysctl command returns this message on the brightness changing from 50 to 100 but it actually does not change anything in the display as it continues being dark.

I can provide more information if needed.

Thanks.
 
it continues being dark.
How dark? As in really, really, dark? You can barely see anything dark? Do you know it works? I mean a broken backlight is pretty common on old laptops, the high voltage circuitry for the backlight has a tendency to burn out after several years.
 
Not really, really dark... but I would say really dark. I know it works because before I installed FreeBSD 14.2 on it, that machine was running with Debian Linux and the brightness could be adjusted with the second and third multimedia keys of its us keyboard.
 
you dont need to run the backlight command as root

Code:
backlight 100

heres my root config files for my macs running freebsd

macbook air 2011


macbook pro retina 2015

 
First, I'd like to thank you for sharing your files.
Regarding the backlight command, you're right, no need to run as root. I should have mentioned that I have done so because running as a ordinary user I got the same 'backlight: cannot open /dev/backlight/backlight0: No such file or directory' output.
Last, but not least, on the contrary, your post on BCM43224 wifi is a very good one and I should thank you for it as well, since I succeeded in getting the wifi on that macbook to work flawlessly.
 
On my MacbookPro 3,1 with GeForce 8600, the brightness control option in the XOrg conf did the magic:

Code:
Section "Device"
    Identifier "NVIDIA Card"
    VendorName "NVIDIA Corporation"
    Driver "nvidia"
    Option "RegistryDwords" "EnableBrightnessControl=1"
EndSection

I found it myself somewhere in the forums.
This seems to enable brightness control via the nvidia driver (I have to use nvidia340 in BIOS mode).
With this option, xrandr is able to set brightness and the 'MonBrightnessUp /MonBrightnessDown' keys started working in XFCE.
Maybe it helps as well on your mac, since it also has an nvidia GPU.
 
On my MacbookPro 3,1 with GeForce 8600, the brightness control option in the XOrg conf did the magic:

Code:
Section "Device"
    Identifier "NVIDIA Card"
    VendorName "NVIDIA Corporation"
    Driver "nvidia"
    Option "RegistryDwords" "EnableBrightnessControl=1"
EndSection

I found it myself somewhere in the forums.
This seems to enable brightness control via the nvidia driver (I have to use nvidia340 in BIOS mode).
With this option, xrandr is able to set brightness and the 'MonBrightnessUp /MonBrightnessDown' keys started working in XFCE.
Maybe it helps as well on your mac, since it also has an nvidia GPU.
Thank you for the advice. I tried the code to no avail. I got the same 'backlight: cannot open /dev/backlight/backlight0: No such file or directory' output.
Curiosity: you mentioned a 'BIOS' mode. Do these old macbooks have a BIOS? If not, what did you mean?
 
I got the same 'backlight: cannot open /dev/backlight/backlight0: No such file or directory' output.
To get a backlight(8) device, a drm-kmod graphics driver has to be installed and the kernel module loaded.

Here an example for an AMD iGPU with "amdgpu" kernel module loaded (from package graphics/drm-61-kmod):
Rich (BB code):
% ls -l /dev/backlight
total 0
lrwxr-xr-x  1 root wheel    23 Mar  9 10:34 amdgpu_bl00 -> ../backlight/backlight0
crw-rw----  1 root video 0x19f Mar  9 10:34 backlight0

You have set
kld_list="i915kms nvidia nvidia-modeset cuse acpi_video"
but there is no "i915kms" module shown in the kldstat output in your opening post, which suggests no graphics/drm-kmod driver is installed.
 
To get a backlight(8) device, a drm-kmod graphics driver has to be installed and the kernel module loaded.

Here an example for an AMD iGPU with "amdgpu" kernel module loaded (from package graphics/drm-61-kmod):
Rich (BB code):
% ls -l /dev/backlight
total 0
lrwxr-xr-x  1 root wheel    23 Mar  9 10:34 amdgpu_bl00 -> ../backlight/backlight0
crw-rw----  1 root video 0x19f Mar  9 10:34 backlight0

You have set

but there is no "i915kms" module shown in the kldstat output in your opening post, which suggests no graphics/drm-kmod driver is installed.
My bad. The kld_list line should instead be: 'kld_list=nvidia'
I ended up removing drm-kmod since it was mentioned in this post, if I understood it correctly, that DRM is not possible with the nvidia (390) driver. Although in my case, the nvidia driver is 340, I thought it could be the same case of DRM impossibility.
Anyway, I am dropping this issue since I have to return the macbook to its owner, who will decide what's next.
Thank you anyway. I appreciate your advice.

Edit: I forgot to embed the link to the post I mentioned. It's the following:
 
Thank you for the advice. I tried the code to no avail. I got the same 'backlight: cannot open /dev/backlight/backlight0: No such file or directory' output.
Curiosity: you mentioned a 'BIOS' mode. Do these old macbooks have a BIOS? If not, what did you mean?
yes, there is a hidden bios mode that is enabled when the boot disk is partitioned with an MBR, maybe this was required by Bootcamp.
On my hardware, the nvidia 340 driver does not work when the system has been booted in EFI mode.
The xorg setting indeed does not reveal a backlight device, but enables display backlight setting with xrandr
 
Back
Top