# Brightness is not working

**URL:** <http://forum.hypr.land/t/brightness-is-not-working/2126>\
**Category:** Bugs / FRs / Support\
**Tags:** hyprland, bug, other\
**Created:** [August 30, 2026, 2:31am UTC](http://forum.hypr.land/t/brightness-is-not-working/2126 "2026-08-30T02:31:14Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![harshjeet0](http://forum.hypr.land/letter_avatar_proxy/v4/letter/h/4af34b/32.png) [@harshjeet0](http://forum.hypr.land/u/harshjeet0)\
**Post date:** [August 30, 2026, 2:31am UTC](http://forum.hypr.land/t/brightness-is-not-working/2126/1 "2026-08-30T02:31:14Z")

</div>

Hi,

Recently I installed hyperland on my laptop.

I have a OLED panel. When it boots up the screen brightness is on the full and when I decrease the brightness it is not working I had tried all the way brightnessctl, changed kernel parameter but didn’t worked.

Please help

---

<div class="post-metadata">

**Author:** ![vito](http://forum.hypr.land/user_avatar/forum.hypr.land/vito/32/1354_2.png) [@vito](http://forum.hypr.land/u/vito)\
**Post date:** [August 30, 2026, 7:04am UTC](http://forum.hypr.land/t/brightness-is-not-working/2126/2 "2026-08-30T07:04:56Z")

</div>

I’m on arch, and have an oled monitor, but had never tried adjusting brightness…  
After reading this, I tried adjusting my monitor brightness and have the same issue…  
I’ll look into it and if I solve it I’ll post back here.

If you happen to sort it out before I post back, would you mind giving an update on what you did?

---

<div class="post-metadata">

**Author:** ![vito](http://forum.hypr.land/user_avatar/forum.hypr.land/vito/32/1354_2.png) [@vito](http://forum.hypr.land/u/vito)\
**Post date:** [August 31, 2026, 7:03am UTC](http://forum.hypr.land/t/brightness-is-not-working/2126/3 "2026-08-31T07:03:03Z")

</div>

Ok, after some rabbithole digging, i have found that brightnessctl doesn’t support external monitors, without a kernel module for loading [ddc/ci](https://wiki.archlinux.org/title/Display_control#(E-)DDC/CI) protocols, to load the backlight as a system device.

I’m not sure if your issue will be the same, as you are on a laptop, but depending on the interface you’re laptop manufacturer decided on, it may help?

People seemed to have varying degrees of success installing the `ddcci-driver-linux-dkms`AUR package.

I noticed issues in the comments of the AUR package, regarding it being out of date, and not working on modern kernels, with the resolution being to use the `ddcci-driver-linux-dkms-git`AUR package instead.

I don’t personally like running stuff from the AUR if i can help it, especially git versions (not pinned to a release), so i kept hunting.

After trying a few methods to get it working, i found the `ddcutil` package, which worked fine for me.

Here is the process i followed on Arch Linux. (If you are on a different distro, im sure it should be the same, except for possibly a slightly differently named package, and obviously a different package manager)

# Install brightness support for external monitor

## Required packages

- ddcutil
- read-edid (optional but allows better hardware detection)

### Install (for arch linux)

```sh
sudo pacman -S ddcutil read-edid

```

> Note: Needed a reboot to load the `i2c-dev` kernel module (automatically added by `ddcutil`)

### Detect monitor id

```sh
ddcutil detect

```

output looks like:

```sh
Display 1 #<-- This is the ID for your monitor
   I2C bus: /dev/i2c-4
   DRM_connector: card1-DP-1
   EDID synopsis:
      Mfg id: GSM - LG Electronics
      Model: LG ULTRAGEAR+
      Product code: 23676 (0x5c7c)
      Serial number: xxxxxxxxxxxx
      Binary serial number: 44407 (0x0000ad77)
      Manufacture year: 2024, Week: 3
   VCP version: 2.1

```

### Get current monitor brightness

```sh
# ddcutil <operation> <featurecode 10 = brightness> --display <diplayId>
ddcutil getvcp 10 --display 1

```

Outputs:

```sh
VCP code 0x10 (Brightness ): current value = 100, max value = 100

```

### Set current monitor brightness

Set to 80% brightness

```sh
# ddcutil <operation> <featurecode 10 = brightness> <new brightness value> --display <diplayId>
ddcutil setvcp 10 80 --display 1

```

Set back to 100% brightness

```sh
# ddcutil <operation> <featurecode 10 = brightness> <new brightness value> --display <diplayId>
ddcutil setvcp 10 100 --display 1

```

Decrease brightness by 10%

```sh
# ddcutil <operation> <featurecode 10 = brightness> <new brightness value> --display <diplayId>
ddcutil setvcp 10 - 10 --display 1

```

Increase brightness by 10%

```sh
# ddcutil <operation> <featurecode 10 = brightness> <new brightness value> --display <diplayId>
ddcutil setvcp 10 + 10 --display 1

```
