Jump to content

[Project] OpenAuto RK322x (Alpha) : Android Auto Running on Rockchip SOCs


Recommended Posts

Posted (edited)

Inspired by the incredible work @jock and @ilmich have done to make the RK322x platform stable on mainline Linux, I decided to tackle the application side of things. My goal was to turn these "e-waste" TV boxes into fully functional, low-latency Android Auto head units for our cars.
 

This fork of OpenAuto is built as one of my "Is it possible to turn this into that?" projects. It turned out to be one heck of a nightmare to pull off, but at the same time a lot of fun because I can see the potential of these TV Boxes as something you can actually put in your car and turn into a usable head unit!



Screenshot2026-01-3111-17-38.thumb.png.022473e004e94c211dfce18e05023c6e.png

 

image.thumb.png.0e1d82cf9a70961cb08213be9ced42da.png

 

System Requirements

  • Target Device: RK322x TV Box (e.g., MXQ Pro 4K).
  • OS: Armbian Bookworm or Trixie (Kernel 6.1+ recommended).
  • RAM: 1GB recommended.
  • CMA Limit: You MUST set cma=256M in /boot/armbianEnv.txt to prevent VPU crashes at 1080p.
  • FFMPEG Installed: This build requires a specific build of ffmpeg that can be found here.

 

Release: v2.0.0-alpha

This release represents a major architectural overhaul. I have removed heavy dependencies (PulseAudio, QtAudio, GStreamer) in favor of a lean, direct-to-hardware pipeline using RtAudio (ALSA) and FFmpeg v4l2_request.

 

Download:
https://github.com/Harleythetech/openauto-rk3229-armbian/releases
 

Technical Details

  • Video Engine: Switched from GStreamer to a custom FFmpeg + V4L2-Request backend.
    • Leverages the v4l2drmprime patch set for Zero-Copy rendering.
    • Enables full hardware H.264 decoding on Rockchip stateless decoders.
    • Result: Stable 1080p 60fps stream on a 1GB RAM device.
  • Audio Overhaul: Replaced PulseAudio and QtAudio with RtAudio. This creates a direct, low-latency path to the ALSA hardware driver.
  • Display: Targets linuxfb (Framebuffer) by default instead (eglfs and ffmpeg have issues when you run them together due to DRM master lock)

 

Configuration
This release requires a specific ALSA configuration to allow audio mixing (dmix) without PulseAudio. Create/Edit /etc/asound.conf:
 

pcm.!default {
    type asym
    playback.pcm "dmix_hdmi"
    capture.pcm "plug_null"
}
ctl.!default {
    type hw
    card 0
}
pcm.plug_null {
    type plug
    slave.pcm "null"
}
pcm.dmix_hdmi {
    type dmix
    ipc_key 1024
    ipc_perm 0666
    slave {
        pcm {
            type hw
            card 0
            device 0
        }
        format S16_LE
        rate 48000
        channels 2
        period_size 512
        buffer_size 4096
    }
    bindings {
        0 0
        1 1
    }
}

 

Known Issues

  • Invisible Cursor: The mouse cursor works but is currently invisible when the FFmpeg video backend is active (rendering layer order issue).
  • Backend Fallback: In rare edge cases where DRM initialization fails, the app may incorrectly default to Qt software output.
  • Probably more, i haven't tested it that much

 

 

Development Status: Active & Seeking Contributors Currently, I am the sole maintainer focusing on the RK322x platform (specifically the RK3229).

I am actively looking for developers interested in expanding support to other devices (such as RK3328, RK3399, or Allwinner H3/H6). If you have experience with C++, Qt, or V4L2/DRM and want to help turn these TV boxes into capable head units, contributions are highly welcome!
 

Repository: https://github.com/Harleythetech/openauto-rk3229-armbian

 

 

Credits:

Edited by Harleyyyu

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines