floss.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
For people who care about, support, and build Free, Libre, and Open Source Software (FLOSS).

Administered by:

Server stats:

686
active users

just landed the last MR needed to make the + camera stack work on the and by default, using the new software ISP shipped in libcamera 0.3.
So if you have such a device: just update and go install apps like Snapshot, Warp, Decoder etc. You can even use it with Firefox and - very soon - Chromium.

Note that this does *not* replace or - those continue to be the default camera apps.

Don't expect too much for now: both image quality and performance are not quite where we want them to be.
That, however, also means that there are a lot of low hanging fruits where help is very welcome :)
We need to create tuning files for the individual cameras, the swISP could be improved to use the GPU for debayering, there are WIP autofocus patches that could be tried and improved - and in Snapshot we need to reduce the number of copies before frames reach the screen or encoders.

Robert Mader

Note that with all of this in place, camera support on a lot of other devices is in close reach. For example the and should only need kernel patches enabling the camera sensors. The softwareISP should then - at least in theory - "just work". Well, fingers crossed :)

P.S.: the one device where this already worked is the - but until recently it broke audio. That was also fixed in the process.

P.S.S.: maybe I'm a bit too optimistic regarding QC devices, see below

Turns out that there were still two things missing to make this work OOTB. One thing was a missing package - already fixed - and the other will be fixed in Wireplumber 0.5.3, due in a couple of days.

Keep up doing all this amazing work @rmader ! It's very much appreciated. Thanks to everybody else involved in this as well.

@rmader I have #OnePlus6 here, and I'd love to play with its cameras. I believe "only need kernel patches enabling the camera sensors" is understatement of the year -- it is not just sensors, but if you or someone can get that working, I'll be happy to help.

@pavel Which missing parts do you have in mind? And would they be on the kernel or libcamera side?

P.S.: I was under the impression that the qcom-camss should work there as well - or that it at least wouldn't be missing much.

@rmader @pavel OP6 needs the camss driver updated to support C-PHY on that platform, which currently only supports D-PHY.
Unfortunately - without the datasheets from qualcomm or some reverse engineering of the drivers in a binary implementation thats' quite difficult I think.

Once that's done - I believe we can run the IMX519 that is present on the OP6.

@libcamera @pavel Ah right. Yeah, need to talk @cas into coming over again for another session on that :) (or the shift, which IIRC uses D-PHY?)

@rmader @pavel @cas

Getting the Shift with D-PHY going would be really beneficial to finally confirm/fix/cleanup that imx519 driver. Then we'll have more confidence in the driver working well when the C-PHY is fixed or as part of fixing that.

Happy to support anyone working on the Shift / IMX519 driver bringup of course!

@rmader @libcamera @pavel yeah the 6mq is d-phy.

we'll also need the focus motor i guess xd

@cas @rmader @pavel have you got schematics or any info on the VCM? Those are usually relatively easy to control.

@libcamera @cas @pavel And then we need @Luigi311 to find time to finish the autofocus patches :)

@rmader I was not sure which parts are missing. I am using Droidian, so downstream kernel, and I can't even figure out how camera is supposed to work there. Normally, debugging is required all over the place -- sensor drivers, i2c, soc input... and this has 3 different sensors, for a start :-(. I guess op6 has some kind of isp that would need libcamera support, but basic support should be possible without that. #OnePlus6 .
@rmader Does anyone have an idea why #oneplus6 has two back cameras with very similar parameters?
@rmader Thanks for pointer. So apparently it is for depth effects.

@rmader Could the PocoF1 benefit from this?