Skip to content

NVRM 2.3.6: internal panel detected (EDID read), but NVRMBacklightHandler is never created - no brightness control #78

Open

Description

@Game-5040

Environment

  • macOS 15.8.1 (24H32), OpenCore, SMBIOS MacBookPro16,2
  • CPU: AMD Ryzen 9 9955HX
  • GPU: NVIDIA (PCI 10de:..., class 0x030000), driver com.nullmoth.NVRM / NVRMFB / NVAccel 2.3.6
  • Boot-args include: nvfb=1 nvaccel=1 nvfbheads=4 -nvkmsnosmooth
  • Internal panel: EDID is read correctly (IODisplayEDID present); EDID vendor 0x09e5 (BOE)
  • Display works otherwise: resolution, refresh, acceleration all fine

Symptom

  • No brightness slider in Control Center / System Settings
  • Brightness keys do nothing
  • ioreg -c AppleBacklightDisplay → 0 instances
  • ioreg -c NVRMBacklightHandler → 0 instances
  • ioreg -c NVRMNVDAFramebuffer shows the framebuffer up with IODisplayEDID and
    IODisplayConnectFlags = 0x00080000

Relevant strings in your binaries

NVRMFB.kext:

fb%u: backlight handler allocation failed
fb%u: backlight handler attach failed
fb%u: internal panel, but NVKMS registered no backlight (0x%x) -- no brightness control
fb%u: panel backlight at %u%% -- brightness keys and slider through AppleBacklightDisplay
NVRM-fb: backlight: brightness parameters on %s, panel at %d%%
NVRM-fb: backlight: setting %u%% failed (0x%x)

NVRM.kext:

backlight: display 0x%x brightness query status 0x%x, level %u
backlight: internal displays status 0x%x, mask 0x%x, available mask 0x%x
backlight: no internal display answered the brightness query, none registered

So the failure path looks like -- no brightness control (NVKMS reports no backlight for
this panel) rather than a driver bug on the macOS side.

What I have tried

  • SSDT-PNLF is not applicable here (the ACPI backlight device
    \_SB.PCI0.GP17.VGA.LCD with _BCL/_BCM belongs to the AMD iGPU, and your driver
    goes through AppleBacklightDisplay itself), so I did not add it.
  • No backlight-related boot-arg found in the 2.3.6 binaries.

Questions

  1. Does 2.3.6 support backlight on a BOE panel that only exposes brightness through
    DPCD (eDP AUX) — or does it require a PWM / EC path?
  2. Is there a boot-arg or Info.plist switch to force-register a backlight
    (NVRMBacklightHandler) for a panel NVKMS does not classify as backlight-capable?
  3. If this needs a code change, would you accept a patch / a log run with debug output to
    see what backlight: internal displays status ... mask ... reports on this panel?

I can provide a full ioreg dump of NVRMNVDAFramebuffer, the EDID blob, and run any
debug build you want to try.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions