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
Regarding chip support and Collabora’s work, indeed, kudos to them! Last year, my boards were not usable in mainline. Now my Rock5 ITX completely runs mainline on 6.12 with no loss of feature (for my use case, NAS), and my E52C firewall is also running fully on 6.12. I’m quite satisfied with the current situation. As usual with rockchip’s (lack of) support, we predicted that it would take at least 2 years after the chips were issued to see them start to work without their hackish BSP kernel, and it was indeed the case.
Regarding the possibility they might stop selling their chips to SBC vendors, that would be a ridiculous move. It’s clear they might not be making much money on this side, I still remember buying HDMI adapters to try to repurpose the RK3288 in them for my build farm because by then they already didn’t care. But that will not prevent system vendors from doing the same again if they find some value in doing so. Also, I guess their problems might come from the NPU in the chip being used for vision-based navigation, while the vast majority of SBC customers have no care for that. Thus they could as well make stripped-down NPU-less variants of the chip, a bit like they’re doing with the 3576 and 3582 which lack certain parts.
I think that the reality is that this part of the business doesn’t bring as high margins as selling chips to e-waste vendors, while causing most of the support requests. Crappy consumer products which are sold in an almost working state and never updated cost much less in terms of support and can be sold in hundreds of thousands to a single vendor. Combine that with DVFS/PVTM to even reduce the cost of testing, cooling design etc, and you can have a self-adapting chip which barely works in any condition in the final product without anyone asking questions about stability issues.
It’s clear that rockchip has never been much committed to opensource anyway, I think that they were first forced with the 3288 for chromebooks, and their first real attempt at SBC support was with the RK3399 with the Firefly board. It looks like they’ve always been relying on partners and board vendors to do the porting work, resulting in supported SBCs to always being off by 2 years in terms of technology. The sad thing here is that if the 3588 was one of the first attractive chip from them, it’s because it had real PCIe support, making it possible to just ignore its internal components and rely on well supported ones outside. Want flash storage? use NVME on PCIe. Want SATA ? Use a SATA controller on PCIe. Want graphics ? Use a video card on PCIe. Want USB ? Use a PCI-attached USB controller. Etc. PCIe offers a lot of flexibility and can significantly speed up the design of properly working boards.
With that said, I’d still prefer to see them continue, because even if they don’t make much effort on the mainlining side, they’ve gathered experience over the years and have been improving their chips. I have much less trust in Allwinner understanding the importance of having a wide enough DRAM bus to support multi-core, integrating correctly some existing IP blocks without hacking them, or just using a metal can instead of a plastic one to deal with heat spreading. In the mean time, we’ve seen that Radxa thinks they’ve found a nice partner in CIX whom they trust to be really opensource, and who apparently understood the importance of combining high performance cores with high memory bandwidth. Maybe in a few years CIX will be the new rockchip with NXP-like support, and we’ll laugh thinking about the painful past with rockchip, amlogic and allwinner. Time will tell.
I had to check my calendar. No, it is not April 1.
The complete and total BS from Rockchip doesn’t wash at all with me.
The whole Ukraine drones thing was something that only became news for me with this article. It certainly didn’t make any large scale newsrooms for scandal and debate, so this is the most pathetic.
Then we have the whole “Rockchip does not consider RK3588 to be an “open-source” SoC anymore” rubbish. For years this has been one of the key and core selling points from their chosen vendors and I never heard a peep from Rockchip to the contrary. We didn’t hear much of a peep from them with regards to software support.
If is wasn’t for the folks at Collabora and associated developers, this SOC would have been dead in the water. All the people in this part of the equation are beyond criticism and should be praised for their efforts.
Are Rockchip. Orange Pi and all the other vendors gung to be suppling free or discounted products based upon Allwinner tech to compensate (that was a rhetorical question of course).
The bottom line is that Rockchip, for whatever real reason (perhaps they never had the ability to support the hardware) is just washing their hands having made a small fortune.
The RK3399 became a lemon and now the RK3588.
Q2 2025 is a long way from the original consumer processes and it seems, if I read things right, that some elements of this SOC may never be realised.
The tone of this article also concerns me, speaking of the complication of the SOC and the Ukraine element that comes across as being sympathetic towards Rockchip, without any valid reason for doing so.
RK3588 is dead! Long live RK3588!