Comment by megous
4 hours ago
Well, rkisp1 driver that drives ISP on RK3399 on Pinephone Pro is available upstream in fully supported manner for like 4 years. It also has full docs in publicly available Rockchip datasheets and partial docs in calibration manuals.
What have people done with it? Some mediocre support in libcamera? :) I don't think lack of handholding is an issue here.
Pinephone is a low volume product. What you need is to get the firmware for some common device that has shipped millions of units so that the number of people with the incentive to make it work is high enough to actually build a community.
I don't know what the deal is with Linux and cameras. I've got Fedora installed on this old Retina MBP and apparently Linux somehow stopped supporting the built in webcam. I've never heard of a device losing Linux support but here we are.
Once the code is in the mainline kernel tree, things tend to stay supported indefinitely.
Some devices "work" without having real support by having some binary blob or third party code which is written against a specific kernel version. The code has to be updated when the kernel changes, which is why it's supposed to be in the kernel tree, but because it isn't the kernel developers don't know anything about it and aren't maintaining it. So then instead of working indefinitely it works until whenever third party stops updating it for current versions of the kernel. Which is why all the drivers should be in the kernel tree.
Of course, Apple isn't really that interested in supporting Linux since it's a direct competitor to macOS rather than a way to reduce their dependency on Microsoft/Google, so their hardware is more likely than most to be stuck using some reverse engineered monstrosity or proprietary blob extricated from the macOS driver.