Ok, I've got something new to try out. You can rut it on 7.2-rc5
mainline kernel.

Purpose of the test:

The computer exposes two different brightness-control devices:
intel_backlight and nvidia_0. I need to determine:

1. Which device changes when you move Ubuntu’s brightness slider.
2. Whether changing intel_backlight directly changes the physical brightness of 
the screen.

A changing number or slider position is not enough. The important result
is whether the OLED panel actually becomes brighter or darker.


Step 1 - preparation

Paste the following command:

printf 'Running kernel: '
uname -r
printf 'Kernel command line: '
cat /proc/cmdline

Step 2 - set brightness slider to ~20%

After setting brightness slider to approx 20%, run following commands:

echo '=== SLIDER SET TO 20% ==='
for backlight in /sys/class/backlight/*; do
    printf '%s: brightness=%s actual=%s max=%s type=%s\n' \
        "$(basename "$backlight")" \
        "$(cat "$backlight/brightness")" \
        "$(cat "$backlight/actual_brightness")" \
        "$(cat "$backlight/max_brightness")" \
        "$(cat "$backlight/type")"
done

Step 3 - set brightness slider to ~80%

After setting brightness slider to approx 80%, run following commands:

echo '=== SLIDER SET TO 80% ==='
for backlight in /sys/class/backlight/*; do
    printf '%s: brightness=%s actual=%s max=%s type=%s\n' \
        "$(basename "$backlight")" \
        "$(cat "$backlight/brightness")" \
        "$(cat "$backlight/actual_brightness")" \
        "$(cat "$backlight/max_brightness")" \
        "$(cat "$backlight/type")"
done

Step 4 - bypass Ubuntu slider and set brightness via Intel driver

Please paste the following block at once:

backlight=/sys/class/backlight/intel_backlight
original=$(cat "$backlight/brightness") || exit
maximum=$(cat "$backlight/max_brightness") || exit
low=$((maximum / 4))
high=$((maximum * 3 / 4))

restore() {
    printf '%s\n' "$original" | sudo tee "$backlight/brightness" >/dev/null
}

trap restore EXIT INT TERM

printf 'Original value: %s\n' "$original"
printf 'Values to test: %s and %s\n' "$low" "$high"

for test_value in "$low" "$high"; do
    printf '\nSetting intel_backlight=%s\n' "$test_value"
    printf '%s\n' "$test_value" | sudo tee "$backlight/brightness"

    printf 'brightness='
    cat "$backlight/brightness"
    printf 'actual_brightness='
    cat "$backlight/actual_brightness"

    read -r -p 'Observe the physical screen, then press Enter to continue: '
done

restore
trap - EXIT INT TERM
echo 'The original value has been restored.'

The script will pause twice:

1. After setting the lower value, check whether the screen physically becomes 
darker.
2. After setting the higher value, check whether the screen physically becomes 
brighter.

If the screen behaves unexpectedly, press Ctrl+C. The script should
restore the original value.

Step 5 - check the firmware interface

Paste this command:

result=$(find /sys/bus/wmi/devices -maxdepth 1 \
    -iname '603e9613-ef25-4338-a3d0-c46177516db7*' -print)

if [[ -n "$result" ]]; then
    echo 'NVIDIA WMI EC interface found:'
    echo "$result"
else
    echo 'NVIDIA WMI EC interface not found.'
fi


This command only checks whether a firmware-controlled brightness interface 
exists. It does not change anything.

Step 6 - summarize these steps

Please provide me the logs and also if you have observed any brightness
change, error message or unexpected behavior.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2163244

Title:
  Ubuntu 26.04 LTS -- Lenovo Yoga 7 Pro 15IPH11 Screen Brightness not
  Working

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2163244/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to