New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Camera module 3 support ? #228
Comments
showmewebcam presently uses the legacy camera stack from Raspberry Pi. The legacy camera stack can not operate the IMX708. We have done work to update showmewebcam to the new libcamera stack, but the performances are low - as presently it uses a software encoder. There is a hardware encoder available on the Pi0-2, but the work we have done needs to be extended to make use of that. I successfully use the IMX708 with the software encoder on an RPi0-2W - but it's not likely to work well at all on an RPi0. So - 'planned' yes - if someone can dedicate the time to help support this, and there's even preliminary work already functional. It needs someone to work on it. |
Thanks for your reply. I'm trying to use a RPI 4B, do you think I could use the software encoder on that ? If so, is there an artifact/img I can get to test it ? Otherwise, I think I have to follow https://github.com/showmewebcam/showmewebcam/tree/buildroot-update#development--building but switch to the buildroot-update branch before building, right ? |
Yes, it should work on a Pi4B with the software encoder. The hardware encoder can also be developed on there once you get started. You'll have to self build at the moment I'm afraid. |
Ok, tried to build but got :
which in # version.h
version = libcamera_version.split('.')
libcamera_version_config = configuration_data()
libcamera_version_config.set('LIBCAMERA_VERSION_MAJOR', version[0])
libcamera_version_config.set('LIBCAMERA_VERSION_MINOR', version[1])
libcamera_version_config.set('LIBCAMERA_VERSION_PATCH', version[2]) so my guess is that After some investigation, it looks like
which when ran manually yields :
which does not conform to the pattern described in So that explains why the split() method only returns a 2 items long array instead of 3. |
What Buildroot version are you using? In #197 I didn't set any version for libcamera and it builds just fine. |
@dgsiegel : About buildroot version how do I find out ? All I did was :
|
Buildroot is a submodule in this repo, so you'd find out the current version via git. It might make sense to update to a newer version though, see my linked PR.
Ah yeah, I remember running into this problem as well. |
Ok, I'm getting further along the way. Here is what I did :
I am now encountering a new issue :
Do you have a specific hash commit for buildroot that I should use ? |
Yes, that's the one I'm currently trying to use (commit
This one is quite obscure and I think that's where I'll stop trying. Thanks for your time and answers though! |
That looks like errors building GCC ... which is buildroots responsibility. I would suspect it needs buildroot updating to a more recent version. If this is a bug exposed by buildroot. They would have already fixed it. |
Finally got it working after switching to buildroot 2023.08 : So here are the final steps to get it built :
Testing the resulting image right now :) Thanks again to both of you. Should I edit the issue's title to reflect the main discussion ? |
Excellent! Keep us posted. I'll help where ever I can. |
It boots fine but doesn't seem to have the imx708 driver, are there some steps I missed ? In Here are some logs :
|
A 5.10 kernel is likely far too old. It needs to be updated to the point that Raspberry Pi added the IMX708. The current raspberry pi kernel should either by rpi-6.1-y or rpi-6.6-y.
And along with that - libcamera would likely need to be updated as well, but with the versioning bug - I can't tell what version of libcamera is being used there. |
Ok, so after looking at 225 and #223, I modified a few things : rpi-firmware > 83dafbcReplace files in https://github.com/buildroot/buildroot/tree/master/package/rpi-firmware rpi-linux (kernel) > 6.1In
libcamera (v0.0.5 > 0.1.0)Replace files in https://github.com/buildroot/buildroot/tree/master/package/libcamera bootcode packagingAdd RebuildNot sure if the doc (https://github.com/showmewebcam/showmewebcam/wiki/Development-guide#sample-scenario-uprevving-uvc-gadget) is up to date but running
before building everything again. But as the kernel has to be compiled again anyway... It's building right now 🤞 ... |
Well it built fine, but the rpi won't start with that image. All I'm getting is a blinking cursor after the rainbow screen. Not sure how I can find the culprit from here... The filesystems look ok when accessed via my workstation... The img file is here fwiw : https://upload.disroot.org/r/HB_nSM95#nKXBwg4/J1jkQ+mvdbOYZeYfhM1c6JVnlFCCZHO9DhM= |
Is the Camera module 3 (imx708) supported ?
If not, is it planned ?
The text was updated successfully, but these errors were encountered: