How to control screen brightness?

Hello,
I use Fedora KDE 43 on my laptop which has an AMD CPU with GPU and an Nvidia GPU. This is however not only on version 43, 44 did the same thing and maybe 42 as well.
t the moment I only use the AMD because I want to try out what is the difference between using both GPU’s. Well, one difference is that I can’t seem to control the brightness of my internal monitor. The normal KDE slider in Brightness and color does control the external monitor. Is there a way to get brightness control working with just the AMD and Nouveau driver?
Here are my specs:

inxi -G
Graphics:
  Device-1: NVIDIA GA106M [GeForce RTX 3060 Mobile / Max-Q] driver: nouveau
    v: kernel
  Device-2: Advanced Micro Devices [AMD/ATI] Rembrandt [Radeon 680M]
    driver: amdgpu v: kernel
  Display: wayland server: X.Org v: 24.1.9 compositor: kwin_wayland driver:
    gpu: amdgpu,nouveau resolution: 1: 2816x1584~144Hz 2: 2560x1600~165Hz
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
  Info: Tools: x11: xdpyinfo, xprop, xrandr

And the whole bunch should that be needed:

$ inxi -Fzxx
System:
  Kernel: 6.19.10-300.fc44.x86_64 arch: x86_64 bits: 64 compiler: gcc
    v: 16.0.1
  Desktop: KDE Plasma v: 6 tk: Qt v: N/A wm: kwin_wayland dm: N/A
    Distro: Fedora Linux 44 (Toolbx Container Image)
Machine:
  Type: Laptop System: LENOVO product: 82RG v: Legion 5 Pro 16ARH7H
    serial: <superuser required> Chassis: type: 10 v: Legion 5 Pro 16ARH7H
    serial: <superuser required>
  Mobo: LENOVO model: LNVNB161216 v: SDK0T76461 WIN
    serial: <superuser required> part-nu: LENOVO_MT_82RG_BU_idea_FM_Legion 5
    Pro 16ARH7H Firmware: UEFI vendor: LENOVO v: JUCN68WW date: 12/05/2024
Battery:
  ID-1: BAT0 charge: 55.7 Wh (78%) condition: 71.5/80 Wh (89.3%) volts: 15.84
    min: 15.44 model: Celxpert L21C4PC1 serial: <filter> charging:
    status: not charging cycles: 185
  Device-1: hidpp_battery_0 model: Logitech Wireless Keyboard
    serial: <filter> charge: 55% (should be ignored) status: discharging
CPU:
  Info: 8-core model: AMD Ryzen 7 6800H with Radeon Graphics bits: 64
    type: MT MCP arch: Zen 3+ rev: 1 cache: L1: 512 KiB L2: 4 MiB L3: 16 MiB
  Speed (MHz): avg: 1729 min/max: 404/4787 boost: enabled cores: 1: 1729
    2: 1729 3: 1729 4: 1729 5: 1729 6: 1729 7: 1729 8: 1729 9: 1729 10: 1729
    11: 1729 12: 1729 13: 1729 14: 1729 15: 1729 16: 1729 bogomips: 102208
  Flags-basic: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3
Graphics:
  Device-1: NVIDIA GA106M [GeForce RTX 3060 Mobile / Max-Q] vendor: Lenovo
    driver: nouveau v: kernel arch: Ampere pcie: speed: 5 GT/s lanes: 8 ports:
    active: HDMI-A-1 empty: DP-1,DP-2,eDP-2 bus-ID: 01:00.0 chip-ID: 10de:2560
  Device-2: Advanced Micro Devices [AMD/ATI] Rembrandt [Radeon 680M]
    vendor: Lenovo driver: amdgpu v: kernel arch: RDNA-2 pcie: speed: 16 GT/s
    lanes: 16 ports: active: eDP-1 empty: DP-3, DP-4, DP-5, DP-6, DP-7, DP-8,
    Writeback-1 bus-ID: 34:00.0 chip-ID: 1002:1681 temp: 41.0 C
  Display: wayland server: N/A compositor: kwin_wayland driver:
    gpu: amdgpu,nouveau display-ID: 0
  Monitor-1: HDMI-A-1 model: Philips 27M1C5500V res: 2560x1440 dpi: 109
    diag: 685mm (27")
  Monitor-2: eDP-1 model: BOE Display 0x0a9b res: 2560x1600 dpi: 189
    diag: 406mm (16")
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
  Info: Tools: x11: xdpyinfo, xprop, xrandr
Audio:
  Device-1: NVIDIA GA106 High Definition Audio driver: snd_hda_intel v: kernel
    pcie: speed: 5 GT/s lanes: 8 bus-ID: 01:00.1 chip-ID: 10de:228e
  Device-2: Advanced Micro Devices [AMD/ATI] Radeon High Definition Audio
    vendor: Lenovo driver: snd_hda_intel v: kernel pcie: speed: 16 GT/s
    lanes: 16 bus-ID: 34:00.1 chip-ID: 1002:1640
  Device-3: Advanced Micro Devices [AMD] Audio Coprocessor vendor: Lenovo
    driver: snd_pci_acp6x v: kernel pcie: speed: 16 GT/s lanes: 16
    bus-ID: 34:00.5 chip-ID: 1022:15e2
  Device-4: Advanced Micro Devices [AMD] Ryzen HD Audio vendor: Lenovo
    driver: snd_hda_intel v: kernel pcie: speed: 16 GT/s lanes: 16
    bus-ID: 34:00.6 chip-ID: 1022:15e3
  API: ALSA v: k6.19.10-300.fc44.x86_64 status: kernel-api
  Server-1: PipeWire v: 1.6.2 status: active (process) with:
    1: pipewire-pulse status: active 2: wireplumber status: active
    3: pipewire-alsa type: plugin 4: pw-jack type: plugin
Network:
  Device-1: MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter
    vendor: Lenovo driver: mt7921e v: kernel pcie: speed: 5 GT/s lanes: 1
    bus-ID: 02:00.0 chip-ID: 14c3:0616
  IF: wlp2s0 state: up mac: <filter>
  Device-2: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    vendor: Lenovo driver: r8169 v: kernel pcie: speed: 2.5 GT/s lanes: 1
    port: 4000 bus-ID: 03:00.0 chip-ID: 10ec:8168
  IF: eno1 state: up speed: 1000 Mbps duplex: full mac: <filter>
  IF-ID-1: tun0 state: unknown speed: 10000 Mbps duplex: full mac: N/A
Bluetooth:
  Device-1: Foxconn / Hon Hai Bluetooth 5.2 Adapter [MediaTek MT7922]
    driver: btusb v: 0.8 type: USB rev: 2.1 speed: 480 Mb/s lanes: 1
    bus-ID: 3-3:3 chip-ID: 0489:e0d8
  Report: rfkill ID: hci0 rfk-id: 2 state: up address: see --recommends
Drives:
  Local Storage: total: 953.87 GiB used: 887.33 GiB (93.0%)
  ID-1: /dev/nvme0n1 vendor: Samsung model: MZVL21T0HCLR-00BL2
    size: 953.87 GiB speed: 63.2 Gb/s lanes: 4 serial: <filter> temp: 38.9 C
Partition:
  Message: No partition data found.
Swap:
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) priority: 100
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 46.5 C mobo: 40.0 C gpu: amdgpu temp: 40.0 C
  Fan Speeds (rpm): N/A
Info:
  Memory: total: 16 GiB note: est. available: 14.8 GiB used: 5.15 GiB (34.8%)
  Processes: 426 Power: uptime: 2h 9m wakeups: 0 Init: systemd v: 259
    default: graphical
  Packages: pm: rpm pkgs: N/A note: see --rpm Compilers: N/A Shell: conmon
    running-in: systemd inxi: 3.3.40

Thanks.

After a lot of searching I found a solution. There is a program called brightnessctl (who would expect that?) which can control the brightness of the internal monitor.

Install it with:
sudo dnf install brightnessctl

See what is the name of the device you want to control

brightnessctl -l
Available devices:
Device 'amdgpu_bl2' of class 'backlight':
        Current brightness: 19661 (30%)
        Max brightness: 65535

Set the brightness to a level which does not blind you:
brightnessctl -d amdgpu_bl2 set 30%

In .bashrc I connected an alias to it:
alias b="brightnessctl -d amdgpu_bl2 set "
I now only type:
b 30%
and the screen’s brightness is at 30%
It can also work with + and - percentages, so b +10% increments brightness with 10%.

Using one of the KDE keyboard shortcuts also in- or de-creases the brightness for the external monitor at the same time.

I know, it is not perfect but it works, plus how often do you change the brightness?