Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.


There are many such devices already. What is limited is number of people interested in FOSS/independent camera stack development AND usage/users, not lack of devices. Pine64 built and shipped about 60k phones to audience that could be the most interested/receptive - and it made about 5 people interested in doing indepth real work, that I know about.

Also RK3399 is not just pinephone pro, it's way more prominent in other things - notebooks, SBCs, ... whatever. Same ISP is in i.MX SoC, which covers another whole range of devices.

Not sure what 100's of millions shipped units to disinterrested audience achieved?


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 alpha driver or proprietary blob extricated from the macOS one.


Once code is in mainline, it's in mainline. It doesn't mean things will work, lol. It means things will rather regularly break, because many people modify shared code you depend on without ability to test on your particular HW.

Not saying pushing mainline is bad. But assumption there's any kind of "support" is wrong. Code is there. That's all. You have to support it if you want it to work.

(This is very particular to HW/drivers support, Linux core is supported well, I guess.)


No you don't need to create the incentive to make it work. You need to actually make it work.


It's possible that these things are related.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: