26 lines
993 B
Bash
Executable File
26 lines
993 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# blob:summary=Print the most likely display backlight device.
|
|
# blob:examples=blob-hw-display
|
|
|
|
backlight_path="${BLOB_BACKLIGHT_PATH:-/sys/class/backlight}"
|
|
|
|
# Start with the first possible output, then refine to the most likely given an order heuristic.
|
|
# Glob the candidates in the loop list: [[ ]] does not do pathname expansion.
|
|
# The Touch Bar on T2 Macs registers a backlight that never drives the display panel.
|
|
device="$(ls -1 "$backlight_path" 2>/dev/null | grep -vx appletb_backlight | head -n1)"
|
|
# gmux comes first: apple-gmux only registers when the kernel has already picked it, and on
|
|
# dual-GPU Macs the GPU's own PWM stops driving the panel once that GPU suspends.
|
|
for candidate in "$backlight_path"/gmux_backlight "$backlight_path"/amdgpu_bl* "$backlight_path"/intel_backlight "$backlight_path"/acpi_video*; do
|
|
if [[ -e $candidate ]]; then
|
|
device="${candidate##*/}"
|
|
break
|
|
fi
|
|
done
|
|
|
|
if [[ -n $device ]]; then
|
|
printf '%s\n' "$device"
|
|
else
|
|
exit 1
|
|
fi
|