Add RGB30 support via LessOS#108
Conversation
LessUI platforms represent device families, not chipsets. The rk3566 platform was specific to RGB30's 720x720 display and input layout. Renamed to match device identity and avoid confusion with other RK3566 devices (RG353P/V/VS, RG503) which have different displays/features. Also updated updater to detect RGB30 via LESSOS_DEVICE instead of LESSOS_PLATFORM, enabling device-specific detection on LessOS.
There was a problem hiding this comment.
Pull request overview
This PR transitions RGB30 support from the generic rk3566 platform to a dedicated rgb30 platform using LessOS. The main goal is to properly support the PowKiddy RGB30 device with LessOS (a ROCKNIX-based distribution) while removing the previous generic RK3566 platform implementation.
Key changes:
- Removes the generic rk3566 platform directory and consolidates RGB30 support into a dedicated rgb30 platform
- Implements toolchain sharing mechanism allowing rgb30 to reuse the rk3566 toolchain container
- Reduces logging verbosity in player code by demoting core DEBUG/INFO messages to LOG_debug level
Reviewed changes
Copilot reviewed 42 out of 47 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| workspace/rk3566/* | Complete removal of generic RK3566 platform (show, libmsettings, platform code, README, Makefiles) |
| workspace/rgb30/show/show.c | Enhanced error handling and logging for boot splash utility |
| workspace/rgb30/show/Makefile | Added CFLAGS/LDFLAGS support for better build flexibility |
| workspace/rgb30/platform/platform.h | Updated documentation to clarify LessOS and device specifics |
| workspace/rgb30/platform/platform.c | Switched from SDL2 to GL path for effects, added missing PLAT_getWindow/PLAT_getRotation functions |
| workspace/rgb30/platform/Makefile.env | Added missing library dependencies for LessOS |
| workspace/rgb30/platform/Makefile.copy | Added keymon, installer assets, and removed sdl12-compat |
| workspace/rgb30/install/boot.sh | Updated platform name from rk3566 to rgb30 |
| workspace/rgb30/README.md | Updated documentation with LessOS details and removed obsolete DinguxCommander references |
| workspace/rgb30/Makefile | Removed DinguxCommander and sdl12-compat build dependencies |
| workspace/all/paks/config/platforms.json | Consolidated rk3566 and rgb30 entries into single rgb30 LessOS entry |
| workspace/all/paks/LessUI/platforms/*/init.sh | Simplified CPU setup across multiple platforms, removed rk3566 init script |
| workspace/all/player/player*.c | Reduced logging verbosity by demoting core DEBUG/INFO to LOG_debug |
| workspace/all/common/gl_video.c | Removed excessive debug logging from surface presentation |
| toolchains.json | Added rgb30 entry with toolchain sharing configuration |
| Makefile.toolchain | Enhanced to support toolchain sharing between platforms |
| skeleton/BOOT/common/updater | Added device detection logic for LessOS with RGB30 mapping |
| scripts/dev-deploy.sh | Added --path option for custom SD card paths |
| Makefile | Removed rk3566 from default build list, added DEPLOY_PATH support |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ## Platform Architecture | ||
|
|
||
| The RGB30 uses a **hybrid input system** that combines: | ||
| RGB30 use a **hybrid input system** that combines: |
There was a problem hiding this comment.
Grammatical error: "RGB30 use" should be "RGB30 uses" (singular device requires singular verb).
| RGB30 use a **hybrid input system** that combines: | |
| RGB30 uses a **hybrid input system** that combines: |
| ## Input System | ||
|
|
||
| The RGB30 uses a **joystick-first input architecture**: | ||
| RGB30 use a **joystick-first input architecture**: |
There was a problem hiding this comment.
Grammatical error: "RGB30 use" should be "RGB30 uses" (singular device requires singular verb).
| ### Settings Management | ||
|
|
||
| The RGB30 uses shared memory for settings synchronization between processes: | ||
| RGB30 use shared memory for settings synchronization between processes: |
There was a problem hiding this comment.
Grammatical error: "RGB30 use" should be "RGB30 uses" (singular device requires singular verb).
| RGB30 use shared memory for settings synchronization between processes: | |
| RGB30 uses shared memory for settings synchronization between processes: |
No description provided.