\

Initial mainline video capture and camera support for Rockchip RK3588

91 points - last Monday at 1:23 PM

Source
  • jauntywundrkind

    last Monday at 5:33 PM

    Worth noting that, well, alas, camera support is incredibly incredibly incredibly cursed, period. It feels like, broadly, with all the image blocks, everyone makes really neat really good hardware thats chock-a-block full of capabilities that are un- or poorly documented or really hard to support for reasons, etc. Its a pretty bespoke high throughput pipeline with a lot of special domain knowledge very unlike anything else on computing.

    Intel's IPU6 has been a ~4 year travail to get going (thankfully IPU7 landed fairly quickly however!) https://www.phoronix.com/news/Intel-IPU6-Camera-Challenge-25 https://www.phoronix.com/news/Intel-IPU7-Linux-6.17

    AMD similarly has only just gotten the Strix Halo ISP near working: https://www.phoronix.com/news/AMD-ISP4-For-Linux-7.2

    The whole video world seems like a nightmare. Difficult world of hardware. Just the worst Intellectual Property hostage taking banditry from awful awful valent legally predatory people everywhere, a dark forest ready to leap out of the dark and attack you if you dare use a computing to deal in bits that represent moving images.

      • ironman1478

        last Monday at 7:34 PM

        I work in this field and this is 100 percent true. It's really hard to learn about too. A lot of textbooks go over the algorithms in the chips in an idealized form. The actual versions are so messy and different that the textbooks aren't even useful sometimes, especially if you work on custom ISPs. It's cursed, but it's fun.

          • skoocda

            last Monday at 8:54 PM

            Are there any resources you would recommend for learning about real implementations?

              • ironman1478

                last Tuesday at 8:46 PM

                Unfortunately no. It's all proprietary and locked up. However, I can say that the optimizations are not always about IQ (though that is a major factor). It's also about making things run fast enough in a low latency environment. Those two requirements lead to strange hardware designs that lead to strange register interfaces.

        • XorNot

          last Monday at 9:23 PM

          Wait is IPU6 working now? My work laptop has it and the only thing I know is it might work provided I use some user space relay driver and a bunch of other things.

          Has this situation improved?

            • jauntywundrkind

              last Monday at 10:34 PM

              I looked and looked and looked. I don't know why but IPU7 is reported to be pretty good. But IPU6 might still be in perpetual limbo; I don't know. What kernel are you on btw? Sorry for your pain.

      • Aurornis

        last Monday at 3:32 PM

        Great to see progress on mainlining more support for common and powerful chips.

        The work required to get this one piece into mainline over 5-6 years reveals why most chip vendors aren’t aiming for mainline by default:

        > A few iterations of the rkcif driver later, the basic driver providing support for the PX30 VIP and the RK3568 VICAP was accepted (October 2025). After more than five years of development, including 25 iterations and three renamings, this was a major milestone. On the other hand, there was still a lot to do, of course. For instance, the Rockchip MIPI CSI-2 receiver unit that is coupled closely to the VICAP required a mainline driver as well.

        It’s never as simple as submitting existing work upstream and making a few changes. It takes a lot of development and a willingness to rewrite everything, possibly multiple times, to track the goals of upstream.

          • Palomides

            last Monday at 4:14 PM

            I really feel like that should be table stakes if your entire business is making chips to run Linux, though

            after working professionally with their stuff I'm really not a fan of Rockchip

              • Aurornis

                last Monday at 4:29 PM

                I wish everything was mainlined right away, too, but I’m realistic about what it takes to get that done.

                There are chip providers that put more emphasis on mainline support but even those aren’t fully mainlined and their chips are generally much more expensive.

                • le-mark

                  last Monday at 9:58 PM

                  Is there a SOC you prefer, why? Linux support seems about on par with most?

                  • packetlost

                    last Monday at 4:19 PM

                    Why is that? IME pretty much all of their software is a mess and the hardware has some bugs/issues iirc but is otherwise ok?

                      • mcmcmc

                        last Monday at 5:29 PM

                        > all of their software is a mess and the hardware has some bugs/issues

                        Is that not enough of a reason?

                          • packetlost

                            last Monday at 9:58 PM

                            Fair!

                • yjftsjthsd-h

                  last Monday at 5:12 PM

                  > why most chip vendors aren’t aiming for mainline by default:

                  > It’s never as simple as submitting existing work upstream and making a few changes.

                  If they had started by working with upstream, then they wouldn't have to go through unnecessary revisions trying to adapt the thing they already wrote.

                    • Aurornis

                      last Monday at 9:18 PM

                      The part I quoted was from a team that was working with upstream, not the RockChip team.

                      They were experienced with working with upstream and it still took them that long to do it.

                      • mschuster91

                        last Tuesday at 5:04 PM

                        > If they had started by working with upstream

                        LOL. It simply doesn't work that way.

                        It's all about time to market. A BSP with a custom fork of the Linux kernel that barely works can be done concurrent with hardware development.

                        But if you say as a manufacturer, we'll first get it upstream-supported by Linux and then release the hardware... by the time the quality is good enough for the proper upstream Linux kernel, the hardware is multiple generations outdated.

                        And often enough, the software side is an afterthought. The BSP teams get thrown the hardware and told to "make it work", which all too often means having to do horrible hacks to the Linux kernel that would be completely unacceptable upstream. Even if they'd hire Greg KH himself, the fundamental problem remains that the BSP teams aren't asked if the HW designers can make the life of the BSP team easier.

                        The one notable exception to this unholy mess, however, is Apple. And that is why Apple hardware seamlessly integrates within the ecosystem, why it is so performant and why it is so energy efficient.

                    • chucklenorris

                      last Monday at 11:38 PM

                      wow, i have a few of these laying around. i also bought some imx678 sensors i wanted to use with them. i tried pretty hard to make a driver work with these but it was impossible to get the isp working without modifying the kernel itself so i gave up. That convinced me to never buy hw that doesn't have drivers in the mainline kernel.

                      • last Monday at 3:57 PM

                        • tov_objorkin

                          last Monday at 9:12 PM

                          The product has a typical lifespan of 3–5 years, they just don't need LTS. RKISP(ImageSignalProcessor) is piece of code glued to the kernel, fast and cheap. The mainstream version provides proper integration with Linux multimedia subsystems.

                      • 4fterd4rk

                        last Monday at 4:33 PM

                        I guess I don't understand... why would the SOC manufacturer spend the money on integrating this stuff if they don't intend on also spending the money to enable it on the software side?

                          • MisterTea

                            last Monday at 5:38 PM

                            They did, jut not mainline. People forget these are embedded chips - they are intended to go inside of something and do one thing. These chips lack auto hardware discovery because the manufacturer assumes the customer will only turn on the hardware peripherals they need for their specific use case and build a static kernel image to meet that requirement. They ship a product that will likely see few, if any software updates and end up in a landfill.

                            It's because of the Raspberry Pi foundation we have this perception that embedded Arm chips are like general purpose desktop computers that run Linux desktops. The original Pi SoC was designed for TV set top boxes, STB's hence the loopy booting from GPU which was likely part of some obfuscated secure boot chain to thwart STB hackers. The Pi was a throw away hobby toy based on a chip Broadcom was going to scrap so they got a dumpster deal. It took a lot of effort for the community to fully reverse the Broadcom SoC and bring all the Pi hardware to mainline.

                              • frankharv

                                last Monday at 11:17 PM

                                I agree with much of what you say. Adding a second display port was not something anybody needed.

                                Desktop computer was a reach. Even for BeagleBone.

                                I am surprised RK3566 and RK3568 still don't have good UEFI-EDK2 support.

                                RK3588 has great UEFI-EDK2 support. I wish somebody would backport RK356x and RK3399 boards....

                                The pace of development is too fast. We don't need more aarch64 CPU but better support. RISC-V adds to the mayhem.

                                Like we need that...

                                The Open Source Hardware Dream.

                                  • MisterTea

                                    last Tuesday at 2:01 PM

                                    RISC-V added the same problem to the mix Arm did: no standard platform to define what a system is, how hardware is detected, reported, and configured, or how to boot. Then again, RISC-V is just an open instruction set but they should have tried to assemble a forum and define a reference platform.

                            • EdNutting

                              last Monday at 4:39 PM

                              Software != Linux Mainline.

                              Software exists from the vendor, but it’s not open source and/or not part of Linux mainline.

                              Hence the effort to develop an open source (and mainlined) alternative.

                              Whether this is a good use of effort and/or whether you believe the vendor should be doing the Linux development or not, and/or whether they should open-source their proprietary drivers, will depend on your personal views.

                              • Manuel_D

                                last Monday at 7:09 PM

                                So that they can sell licenses to proprietary software implementations on top of selling the hardware.

                            • bullen

                              last Monday at 4:30 PM

                              Some 3588 CMs are sold out.

                              So it might be too late as 3688 will be too hot...

                              Just like routers get dd-wrt when sold out!

                              • rasz

                                last Monday at 11:49 PM

                                >RK3588 ISP, as the vendor kernel driver is not upstreamable for various reasons

                                Its always IP. Afair even Raspberry Pi didnt open ISP, and support for MIPI took yeaaaaars.

                                • ACCount37

                                  last Monday at 7:05 PM

                                  Good. Video capture on second grade Linux SoCs is hell - lots of blobs and weird custom vendor SDKs that work with the vendor's own happy path use case demos and nothing else.

                                  I hope that the more SoCs get mainline V4L2, the more likely the future SoCs are going to be to use it instead of doing something non-standard and awful.

                                  • Muromec

                                    last Tuesday at 3:10 PM

                                    I still have not figured whether hdmi rx works on my orange pi or not