-
Posts
28 -
Joined
-
Last visited
Reputation Activity
-
Harleyyyu reacted to jock in CSC Armbian for RK322x TV box boards
@ArturHey you did a lot of experimentation, but actually I think you are stuck on something different. GPT partition error message is something you can totally ignore, either because stock firmware usually don't provide a GPT partition, and armbian images neither do.
The rockchip miniloader supports GPT partition table, but it is not mandatory to work. If there's a GPT partition, the miniloader searches for "uboot" and "trust" partitions to use them as hints for the base addresses. If there's no GPT partition, it will just use default base addresses and look for the LOADER and TRUST signatures.
Anyway, armbian does not use anything from that: there is no rockchip miniloader, neither are GPT partitions or other proprietary code, except for the Trust OS, which is embedded into u-boot. The boot process is totally different on armbian.
Now, the issue you have with flash not being recognized by rkdeveloptool makes me think about three possibile situations:
a bug in rkdeveloptool you are still in maskrom mode and did not upload the usbplug firmware with rkdeveloptool db (ie: the board is not yet initialized) a broken flash in the eMCP part
You can, for example, refer to the procedure Installation (without SD card, board with eMMC) described in the first post of this thread if you want to write a raw image in the flash memory but I always suggest to erase the flash memory and test the image via sdcard first, rather than installing the image immediately, because you can softbrick the board.
About the non-booting multitool, you should post some logs from the serial uart, but probably the main issue is related to the trust os which freezes the board after few seconds.
-
Harleyyyu reacted to Dangrain in CSC Armbian for RK322x TV box boards
Hey just checking in.
I haven't forgotten about this yet, I want to make sure everything is repeatable and possible to do on multiple versions of armbian before I write a guide and confuse a lot of people.
Noticing that mpv doesn't work, I tried to do what jock suggested to Harleyyyu and update to a newer kernel version.
So far... no luck. Seems like the problem boils down to having to write u-boot.bin to the eMCP before burning the actual OS onto it.
I'll write again if anything goes.
-
Harleyyyu got a reaction from Igor in [Project] OpenAuto RK322x (Alpha) : Android Auto Running on Rockchip SOCs
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!
System Requirements
Target Device: RK322x TV Box (e.g., MXQ Pro 4K). OS: Armbian Bookworm or Trixie (Kernel 6.1+ recommended). RAM: 1GB recommended. 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:
@jock and @ilmich for ffmpeg patches and the csc-armbian-for-rk322x-tv-box-boards opencardev for openauto and aasdk -
Harleyyyu reacted to jock in [Project] OpenAuto RK322x (Alpha) : Android Auto Running on Rockchip SOCs
Technically CMA is not needed at all for the VOP. Rockchip VOP has its own MMU, it is not like raspberry pi or amlogic devices. It should not require to reserve and map memory by the kernel for the VOP as long as the MMU is enabled in the device tree and it is working correctly.
-
Harleyyyu reacted to jock in [Project] OpenAuto RK322x (Alpha) : Android Auto Running on Rockchip SOCs
Nice, congratulations!
I wonder why cursor does not show when video is playing by the way: there has always been a patch in the armbian code to support hardware cursor, in fact in X11/Wayland the cursor is handled in hardware and it is perfectly visible and usable when a hardware accelerated video is playing.
Also I wonder why you need CMA=256M; normally rk322x VPU has its own MMU that is capable to handle direct to memory access without the need of CMA.
-
Harleyyyu got a reaction from jock in [Project] OpenAuto RK322x (Alpha) : Android Auto Running on Rockchip SOCs
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!
System Requirements
Target Device: RK322x TV Box (e.g., MXQ Pro 4K). OS: Armbian Bookworm or Trixie (Kernel 6.1+ recommended). RAM: 1GB recommended. 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:
@jock and @ilmich for ffmpeg patches and the csc-armbian-for-rk322x-tv-box-boards opencardev for openauto and aasdk -
Harleyyyu reacted to fabiobassa in CSC Armbian for RK322x TV box boards
@Harleyyyu
Your project could be interesting , I would suggest to open a dedicated 3ad on It own so people can contribute.
As you have already realized by yourself quite all hardware and drivers aspects of this rk322x soc have bene investigated by @jockand/or @ilmich
But if you achieve any progress on GENERAL drivers and performance that isn't already been discussed or achieved you can came back here to share
Thanks
-
Harleyyyu reacted to fabiobassa in CSC Armbian for RK322x TV box boards
@Harleyyyu
my 2 cents thought .....
We are talking about a 10 dollars soc . Is already a great milestone it is " just working"
Anyway.. If you achieve any good result let's us know
-
Harleyyyu got a reaction from Dangrain in CSC Armbian for RK322x TV box boards
@Dangrain Glad to see its working now. please do a guide on it, not only will it help other people it will also help you how to do it again in-case you forgot how to do it haha!
-
Harleyyyu reacted to jock in CSC Armbian for RK322x TV box boards
Sorry @Harleyyyu, but me and @fabiobassa were a bit puzzled about your journey within the hardware video decoding.
I recently tested the kernel 6.18 (but I am pretty sure it works fine also in kernel 6.12/6.6/6.1), but everything was already in place even with zero-copy DMA buffers, using the LibreELEC patches which are already compiled in the mainline kernel shipped with armbian for years right now.
Then there is also this apt repository I brought up few months ago with ffmpeg already patched and some instructions to run mpv with hardware decoding, which so far works for me either in virtual terminal and wayland (although sometimes with some glitches).
Just to let you know, because it looks like hardware video decoding, HDMI and GPU things are unsupported, but actually everything works fine.
-
Harleyyyu reacted to Dangrain in CSC Armbian for RK322x TV box boards
Success! Thank you so much @Harleyyyu! It now boots perfectly off the eMCP. If anyone wants it I can write a small guide on how to do this, just to make this easier and faster for folks in the future.
-
Harleyyyu got a reaction from Dangrain in CSC Armbian for RK322x TV box boards
I'm currently trying to build my own kernel for armbian bookworm, using this Github Linux-rockchip: linuxtv-rkdevc-hevc-v2 (6.16-rc1) Goal is to try and make hantro work with native mainline V4L2-Request-API to achieve zero-copy decoding and bypass the legacy Rockchip MPP.
i just want to experiment the OS and the VPU it self at this point
-
Harleyyyu got a reaction from fabiobassa in CSC Armbian for RK322x TV box boards
I'm currently trying to build my own kernel for armbian bookworm, using this Github Linux-rockchip: linuxtv-rkdevc-hevc-v2 (6.16-rc1) Goal is to try and make hantro work with native mainline V4L2-Request-API to achieve zero-copy decoding and bypass the legacy Rockchip MPP.
i just want to experiment the OS and the VPU it self at this point
-
Harleyyyu reacted to Dangrain in CSC Armbian for RK322x TV box boards
@HarleyyyuAs I was typing that I tried another last-ditch kind of solution (because truly you shouldn't substitute device trees) and changed the armbianEnv.txt
I added 'overlays=led-conf7' to the end of the file and added 'irqpoll' to the extraargs. I'm going to try huddling them all into a single .img and try to flash it to the onboard disk, thanks for your help, and wish me good luck.
-
Harleyyyu got a reaction from MattWestB in CSC Armbian for RK322x TV box boards
To anyone with and an mxq pro 4k v4.0 that has an eMCP memory module in it, If you ever you manage to soft brick your board to the point the maskrom button behind the AV port doesn't work here's the contact points for forcing it to enter maskrom mode.
Note: After soldering to the pad indicated in the photo you can connect it to a 5V pad and do the same process and connect it to pc. Remove the connection once you detect that it entered maskrom mode (you might break the eMCP if you keep supplying 5V to it for a long time)
-
Harleyyyu reacted to jock in CSC Armbian for RK322x TV box boards
@Harleyyyu See this thread; hardware video decoding works fine with mainline kernel and does not need vendor MPP. Debian Trixie although has a "broken" mpv that won't work, better stay with Bookworm
