-
Notifications
You must be signed in to change notification settings - Fork 33
MMALSharp not working with new Raspbian GNU/Linux 11 (bullseye) OS #203
Comments
I think this has something to do with the change to libcamera as the camera stack in Bullseye. Please see here for reference as it seems picamera doesn't work either: https://beta.raspberrypi.org/forums/viewtopic.php?p=1935757 I've also read you can potentially continue using the old camera stack in this thread: https://forums.raspberrypi.com/viewtopic.php?t=323390 Once the RPi engineers have provided a solution to picamera, I will try and find time to implement them in MMALSharp, but as it currently stands, I have no idea what is required to get the new camera stack working with MMAL. |
My suspicion is that the compiler defaults have changed and now doesn't have --no-as-needed. That causes issues as described in raspberrypi/userland#178 (comment) raspicam has the libcamera doesn't work with MMAL - it replaces it entirely (excepting for some use directly from within the kernel), hence why the userspace MMAL libraries are no longer shipping by default. |
Hi @6by9, Both MMALSharp and Picamera invoke functions from the compiled binaries and we don't link against those binaries when compiling the managed code (I'm fairly sure this is true of picamera). An initial call occurs to
Does this mean libraries such as MMALSharp and Picamera are redundant if the camera stack is now built upon libcamera? |
mmal_vc_client has a constructor that registers the components it supports with the core - https://github.com/raspberrypi/userland/blob/master/interface/mmal/vc/mmal_vc_api.c#L1511
Sadly yes. It's the effort to move towards more widely standardised APIs. |
It appears that MMALSharp is currently not working with Bullseye.
This OS update brought some major changes to the camera libraries so this is not wholly unexpected.
We get:
System.TypeInitializationException: The type initializer for ' . ' threw an exception. ---> MMALSharp.MMALNotImplementedException: Function not implemented. Unable to create component at MMALSharp.MMALNativeExceptionHelper.MMALCheck(MMAL_STATUS_T status, String message) at MMALSharp.MMALComponentBase.CreateComponent(String name) at MMALSharp.MMALComponentBase..ctor(String name) at MMALSharp.Components.MMALDownstreamComponent..ctor(String name) at MMALSharp.Components.MMALRendererBase..ctor(String name) at MMALSharp.Components.MMALNullSinkComponent..ctor()
What do we need to do to support the new OS?
Many thanks.
The text was updated successfully, but these errors were encountered: