Hello Khadas Team and Community,
I am developing a kiosk application for the Khadas VIM1S and need to programmatically control the display brightness of a monitor connected via HDMI. I am trying to do this from within my Android app using root commands, but all standard methods have failed.
Hardware and Software Details:
- Device: Khadas VIM1S
- SoC: AMLogic S905Y4
- OS/Firmware: Android11
Goal:
My goal is to find a command-line method (e.g., writing to a sysfs file) to change the display brightness.
Problem and Troubleshooting Steps Taken:
I have thoroughly investigated the standard sysfs interfaces for brightness control via an adb shell with root (su) permissions. Here is a summary of what I have tried and the results:
-
Standard Backlight Interface (
/sys/class/backlight/)- Command:
ls -l /sys/class/backlight/ - Result: The directory is completely empty. This indicates the standard Android backlight driver is not being used.
- Command:
-
AMLogic Video Enhancement (
/sys/class/amvecm/brightness)- Command:
echo 100 > /sys/class/amvecm/brightness - Result: The command succeeds. Reading the file back with
catconfirms the value has changed to100. However, there is no visible change in the monitor’s brightness. This file appears to be a dummy or software-only value.
- Command:
-
Video Driver Brightness (
/sys/class/video/brightnessandvpp_brightness)- Command:
echo 100 > /sys/class/video/brightness(andvpp_brightness) - Result: The command runs without error, but reading the file back with
catimmediately after shows the value is still0. The write is being ignored or rejected by the driver.
- Command:
-
Exhaustive File Search
- Command:
find /sys -name "brightness" - Result: The only other files found were for USB keyboard LEDs (
.../input8::capslock/brightness) or the onboard status LED (.../state_led/brightness), none of which are for the main display.
- Command:
My Core Question:
Given that the standard sysfs interfaces for backlight and video brightness are not functional for controlling the final HDMI output on the VIM1S, could you please provide the correct method for this?
- Is there a different, proprietary
sysfspath that controls display luminance? - Is there a specific command-line utility that needs to be used?
- Does this require a more complex interaction (e.g., an
ioctlcall) that cannot be done with a simpleechocommand?
Any guidance or documentation you can provide would be greatly appreciated. Thank you for your time and help!
