The Rockchip RK3588 is one of the most popular Arm SoCs for single board computers, and while good progress has been made with regards to mainline u-boot and Linux support, the SoC is quite complex and it takes time to port all its features even though it was first teased in 2020 and the first Rockchip RK3588 SBCs were introduced in 2022.
While the simpler Rockchip RK3566 and RK3568 SoCs are already fairly well supported in mainline Linux, more work is needed to upstream code, and as noted before in posts and comments here, Collabora keeps track of the status on Gitlab, and the company recently posted an article about the progress and future plans related to upstream Linux support for Rockchip RK3588.
Rockchip RK3588 mainline Linux progress in 2024
- Linux 6.7 kernel – Network support on the Radxa ROCK 5B using a 2.5GbE PCIe controller.
- Linux 6.8 kernel – First of three USB3 controllers enabled. Andy Yan from Rockchip enabled basic support for the display controller VOP (video output controller) required for any display-related support such as HDMI, DisplayPort, or DSI. At this point, Cristian Ciocaltea (Collabora) getting the HDMI output driver ready for upstream.
- Linux 6.9 kernel – The HDMI PHY got initial basic support, but the code for the more complex HDMI controller was not ready yet.
- Linux 6.10 kernel – Rockchip RK3588’s Mali-G610 GPU was supported for 3D accelerated graphics thanks to the work of a complete team at Collabora, but there was still no display support. Sebastian Reichel also finished upstreaming the USBDP PHY used by the other two USB3 controllers, meaning all USB ports could now be used. The PHY can also handle DisplayPort (mostly intended for USB-C AltMode), but the necessary infrastructure has not yet been upstreamed in Linux 6.10. In practice, that means that Rock 5B’s USB-C port was not enabled in 6.10 because of the complicated USB-PD setup involved.
- Linux 6.11 kernel – CPU frequency scaling was implemented, including for the industrial-grade RK3588J. Collabora notes that the downstream Kernel from Rockchip is using a more advanced frequency scaling method involving data like silicon quality. This allows the system to get the CPU performance without sacrificing system stability, but it’s not yet implemented in mainline Linux.
- Linux 6.12 kernel – New accelerators: RGA2 block for 2D graphics via Video for Linux 2 by Jianfeng Liu (who is involved in the Armbian project). One of the VEPU121 blocks for JPEG encoding was enabled as well as the VDPU121 for hardware-accelerated decoding of VP8, MPEG-2, and H.264.
Future work – HDMI, MIPI DSI, NPU
So that means it’s still not possible to use HDMI output on the Rockchip RK3588 at the end of 2024 with mainline Linux. Luckily, we won’t have to wait too long with Linux 6.13 will implement HDMI display support. But as nothing is easy, we’re told more work is needed, and support for more clock rates is in the works to enable additional display resolutions. Upstream support for HDMI audio and CEC is also planned for 2025. Besides HDMI output, HDMI input is being worked on by Shreeya Patel and Dmitrii Osipenko with a V4L2 driver expected sometime in 2025.
Heiko Stübner has also been working on a series enabling MIPI DSI support and at the time of writing the goal is to have it merged in Linux 6.14 (March 2025). Detlev Casanova is also working on VDPU381 H264 support, but this requires more analysis to understand how the IOMMU should be handled, and work is needed to support both cores of this IP block. Collabora is also hopeful that Tomeu Vizoso’s open-source kernel driver for the RK3588’s NPU will also be upstreamed next year.
Collabora also touched on U-Boot support with the company mentioning that most of the SoC support already landed last year. USB-PD handling was still missing (some Rockchip boards require early USB-PD handling), but Sebastian Reichel submitted code to the U-Boot master branch and USB-PD support should be upstreamed in the 2025.01 release. Rockchip OP-TEE was merged a few days ago, as Rockchip provided an open-source version for the Trusted Firmware-A (TF-A). That means the only closed-source binary needed in the bootloader is for the “DDR memory training” part.
So from the technical side, it looks pretty good, you should be able to use mainline Linux on a Rockhip RK3588 SBC with HDMI or MIPI DSI display, 3D graphics acceleration, some hardware video codecs, and NPU in Q2 2025. There will still be a few things not working, but it should be useable.
Rockchip does not consider RK3588 to be an “open-source” SoC anymore
This section is not coming from Collabora, it’s just some information I got from a few trustee third parties and some speculation. It should be taken with a grain of salt, and I’ll update it if I get feedback from Rockchip or companies using RK3588. I was told Rockchip no longer considers RK3588 to be an “open source” chip. In practice, that means Rockchip no longer contributes RK3588 code to open-source projects (not sure when the TF-A code mentioned above was released) and they also decided not to sell RK3588 directly to SBC vendors. The latter is not a big issue, since they may be able to source chips from resellers, but it may increase prices. You may also have read that Joshua Riek who worked on Ubuntu Rockchip decided to take a break. While the reason given is mostly burnout and lack of funding, what we are discussing here may potentially explain why he was not able to get access to the Rockchip SDK.
But wait… That seems like a dumb decision… Why did they do that? A few months ago, reports on social media indicated drones using RK3588 SBCs were used in the military conflict in Ukraine. Rockchip management allegedly freaked out due to the risk of sanctions and first banned one SBC vendor, before eventually simply exiting this side of the business. Single board computer sales are probably a small part of Rockchip’s business, and they decided to be better safe than sorry.
We may also see a shift from Rockchip to Allwinner SoCs later in 2025. I was told that Allwinner was now back to the “open-source market” with the A733 and upcoming A838 octa-core Cortex-A78/A55 SoCs. Besides Olimex planning to update its open-source DIY laptop, I’ve also seen interest in making Allwinner A733 boards from a few other companies, and at least one appears ready to completely drop RK3588 from their offerings even though the A733 is not quite as fast and software support will need to be worked on… Time will tell.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress