How to Control Display Brightness via Command Line/sysfs on VIM1S (Android)?

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:

  1. 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.
  2. AMLogic Video Enhancement (/sys/class/amvecm/brightness)

    • Command: echo 100 > /sys/class/amvecm/brightness
    • Result: The command succeeds. Reading the file back with cat confirms the value has changed to 100. However, there is no visible change in the monitor’s brightness. This file appears to be a dummy or software-only value.
  3. Video Driver Brightness (/sys/class/video/brightness and vpp_brightness)

    • Command: echo 100 > /sys/class/video/brightness (and vpp_brightness)
    • Result: The command runs without error, but reading the file back with cat immediately after shows the value is still 0. The write is being ignored or rejected by the driver.
  4. 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.

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 sysfs path 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 ioctl call) that cannot be done with a simple echo command?

Any guidance or documentation you can provide would be greatly appreciated. Thank you for your time and help!

anyone any ideas? is there a list of the settings anywhere?

@billysdomain the khadas team is on holiday, they might get back to you after the 8th :wink:

thanks for the update :slight_smile:

@billysdomain


We once added this feature to VIM4 Android 14. But the relevant code will not be released to the public and has commercial copyright. Of course, we have also added this feature to the VIM1S Android 11 before, but we found a serious issue that has not been resolved: we discovered that HDMI screens that support HDR no longer support hot plug functionality. Therefore, the development of DDC function was abandoned in VIM1S.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.