How to: test GStreamer-droid based camera support in Ubuntu Touch (for Halium 7.1 based port)
-
@konradybcio said in How to: test GStreamer-droid based camera support in Ubuntu Touch (for Halium 7.1 based port):
Getting this while trying to open camera on Kagura:
Same output for me on Kagura. Camera loads but all black.
-
Just out of curiosity; what is keeping the
xenial_-_gst-droid
from being merged for the OnePlus 3T images?Because the camera app on the 3T is completely broken. It can't take pictures and it can't record videos. But in order to have that working, one has to give up system-image updates, which is also not desirable.
There's only an
edge
channel for the 3T anyway, so it would make sense to me to just merge this at least for that channel.For reference, it has also been merged for the PinePhone's
development
channel. The stock camera app still worked there, although thegstdroid
version linked in the OP works better. But on the 3T currently nothing works, other than taking screenshots of the viewfinder. -
The OnePlus 3(T), among other
aarch64
devices, now has an RC channel. After switching to it and re-installingxenial_-_gst-droid
withubports-qa
, I found that the camera wasn't working, even though I was still using the3.1.3+gstdroid
Camera app. It just showed the blue spinner infinitely like what happens without usinggst-droid
.After reverting to the Development channel and installing
xenial_-_gst-droid
again, I was able to take pictures like before.The RC channel only seems to be a couple of days behind on Development. Why isn't it possible to use this branch on RC?
I also read that @Flohack said elsewhere that
gst-droid
will not be merged in OTA-13, which would be the first stable image for the OnePlus 3(T). Ifgst-droid
doesn't work on RC and then probably also not on Stable, does that mean I have to keep using the Development channel for the next months?Like I posted a couple of weeks ago: why don't we merge this branch at least for the devices that have zero working camera support without
gst-droid
? The OnePlus 3T can't even take pictures on the stock RC, Development and edge images, which is quite limiting.When I look at
/etc/apt/sources.list.d/ubports.list
on my PinePhone, I see the following:deb http://repo.ubports.com/ xenial main deb http://repo.ubports.com/ xenial_-_edge main deb http://repo.ubports.com/ xenial_-_edge_-_pine main deb http://repo.ubports.com/ xenial_-_edge_-_wayland main
This is because the PinePhone needs those branches to function, even though they're not stable and not suitable for all other devices.
On the 3T it's only
deb http://repo.ubports.com/ xenial main
If we'd add
deb http://repo.ubports.com/ xenial_-_gst-droid main
on the image overlay, the images could probably just be built with
gst-droid
support integrated. It's not like we have much to lose on the 3T. Without it the camera doesn't work at all. This is likely true for other Halium 7.1 /aarch64
devices as well.I understand that
gst-droid
may cause regressions on older devices, but now we're shipping images with broken basic functionality for newer devices - that people are more likely to use in the current day - to avoid breaking the older ones. That doesn't seem right to me. -
@peat_psuwit can you elaborate a bit? Thx!
-
By the way you could install the branch on RC or stable as well, did you try it?
-
@Flohack I tried it on RC and it did not work. It installed, but the camera app didn't take pictures. It just showed the spinner and got stuck.
That is also what happens without
gst-droid
.There are no Stable images yet for the OnePlus 3T. See here.
But am I correct that OTA-13 is expected to be the first stable image for all the phones here? I can't speak for all of them, but I do have two OnePlus 3T's, and without
gst-droid
the camera does not work at all. Not for pictures and not for videos.We'd be shipping a "Stable" release with a completely broken basic functionality - the ability to take pictures - without adding the
gst-droid
branch to at least the op3t images. -
With the delays on OTA-13, can this maybe be included after all on the OnePlus3/3T image by default?
Since the images are device specific I don't see any disadvantage on enabling this on these devices like @kkeijzer was already saying, or am I missing something? -
@poVoq The problem is we only have one common rootfs, so this would need to be added specifically for only one device or 2. We can have a discussion about it how this can be solved, but no ETA on it, sorry.
-
out of curiosity, does this have any effect on the devices that are already supported?
-
@tigerpro yes, unfortunately we had some regressions with that, thats one of the reasons it takes so long to get into the main rootfs.
-
@peat_psuwit said in How to: test GStreamer-droid based camera support in Ubuntu Touch (for Halium 7.1 based port):
UPDATED: If you're running arm64 image, please also run apt install gstreamer1.0-droid nemo-qtmultimedia-plugins.
This seems to be unnecessary as of OTA-13.
I have installed this on my OnePlus3 and it seems to be working fine for photos.
Only that the orientation of the photo seems to be always stuck in landscape instead of how the picture was actually taken is a bit annoying.
Trying to record a video crashes the app, but that was expected according to the OnePlus3 device page. -
@poVoq Yes this is unnecessary meanwhile @peat_psuwit can you take out this sentence for arm64 devices in the first post? Thx!
-
Hello @peat_psuwit I'm porting BQ U Plus (tenshi) and camera is the last issue: with version 3.1.1 it worked smoothly (some months ago when I needed to
apt-mark hold nemo-qtmultimedia-plugins
), but recently it stopped to work.
I used your debug command and the output was:phablet@ubuntu-phablet:~$ (cd /opt/click.ubuntu.com/com.ubuntu.camera/current && GST_DEBUG=droidcamsrc:4 ./camera-app --desktop_file_hint=com.ubuntu.camera_camera) Loading module: 'libubuntu_application_api_touch_mirclient.so.3.0.0' library "libgui.so" wasn't loaded and RTLD_NOLOAD prevented it Creating a QMirClientScreen now Import path added "/opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/lib/arm-linux-gnueabihf" Camera app directory "/opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2" unity::action::ActionManager::ActionManager(QObject*): Could not determine application identifier. HUD will not work properly. Provide your application identifier in $APP_ID environment variable. QFSFileEngine::map: Mapping a file beyond its size is not portable (camera-app:8333): GLib-GObject-WARNING **: g_object_class_override_property: Can't find property to override for 'GstDroidCamSrc::exposure-mode' 0:00:00.353958385 8333 0x536600 WARN droidcamsrc gstdroidcamsrcquirks.c:238:gst_droidcamsrc_quirks_new: failed to load configuration file /etc/gst-droid/gstdroidcamsrcquirks.conf: No such file or directory 0:00:00.362872604 8333 0x536600 WARN droidcamsrc gstdroidcamsrcphotography.c:1287:gst_droidcamsrc_set_white_balance_mode:<camera_source> params for whitebalance not yet available. deferred applying value 0 0:00:00.363590364 8333 0x536600 WARN droidcamsrc gstdroidcamsrcquirks.c:238:gst_droidcamsrc_quirks_new: failed to load configuration file /etc/gst-droid/gstdroidcamsrcquirks.conf: No such file or directory 0:00:00.364567135 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:363:gst_droidcamsrc_set_property:<droidcamsrc0> camera device set to 0 0:00:00.365497916 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:572:gst_droidcamsrc_get_hw:<droidcamsrc0> Found 2 cameras 0:00:00.365795208 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:550:gst_droidcamsrc_fill_info:<droidcamsrc0> camera 0 is facing 0 with orientation 0 0:00:00.366648958 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:550:gst_droidcamsrc_fill_info:<droidcamsrc0> camera 1 is facing 1 with orientation 3 0:00:00.366790364 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:363:gst_droidcamsrc_set_property:<droidcamsrc0> camera device set to 1 0:00:00.643576041 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:363:gst_droidcamsrc_set_property:<camera_source> camera device set to 0 qq= QDeclarativeCamera_QML_31(0x592b68) 0x6d1d18 APP_ID isn't set, the handler can not be registered APP_ID isn't set, the handler ignored file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/ViewFinderExportConfirmation.qml:75:17: QML Item: Binding loop detected for property "height" file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/ViewFinderExportConfirmation.qml:75:17: QML Item: Binding loop detected for property "height" file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/ViewFinderExportConfirmation.qml:75:17: QML Item: Binding loop detected for property "height" qml: updateViewfinderResolution: viewfinder resolutions is not known yet. qml: updateViewfinderResolution: viewfinder resolutions is not known yet. 0:00:01.573445416 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:375:gst_droidcamsrc_set_property:<camera_source> setting capture mode to: 1 0:00:01.573573958 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:378:gst_droidcamsrc_set_property:<camera_source> not resetting the same mode (camera-app:8333): GStreamer-CRITICAL **: gst_caps_is_equal: assertion 'GST_IS_CAPS (caps1)' failed 0:00:01.574062447 8333 0x536600 INFO droidcamsrc gstdroidcamsrcphotography.c:1524:gst_droidcamsrc_set_and_apply:<camera_source> setting zoom to 0 (camera-app:8333): GStreamer-WARNING **: Name 'video-encodebin' is not unique in bin 'camerabin', not adding (camera-app:8333): GStreamer-WARNING **: Name 'videobin-filesink' is not unique in bin 'camerabin', not adding (camera-app:8333): GStreamer-WARNING **: Name 'image-encodebin' is not unique in bin 'camerabin', not adding (camera-app:8333): GStreamer-WARNING **: Name 'imagebin-filesink' is not unique in bin 'camerabin', not adding (camera-app:8333): GStreamer-WARNING **: Name 'viewfinderbin-queue' is not unique in bin 'camerabin', not adding 0:00:01.645777968 8333 0x536600 WARN droidcamsrc gstdroidcamsrcquirks.c:238:gst_droidcamsrc_quirks_new: failed to load configuration file /etc/gst-droid/gstdroidcamsrcquirks.conf: No such file or directory 0:00:01.646809895 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:363:gst_droidcamsrc_set_property:<droidcamsrc1> camera device set to 0 0:00:01.647172031 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:572:gst_droidcamsrc_get_hw:<droidcamsrc1> Found 2 cameras 0:00:01.647382864 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:550:gst_droidcamsrc_fill_info:<droidcamsrc1> camera 0 is facing 0 with orientation 0 0:00:01.648015624 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:550:gst_droidcamsrc_fill_info:<droidcamsrc1> camera 1 is facing 1 with orientation 3 0:00:01.648139322 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:363:gst_droidcamsrc_set_property:<droidcamsrc1> camera device set to 1 qq= ResponsiveGridView_QMLTYPE_121_QML_126(0xa944c8) 0xa96380 QFileSystemWatcher::removePaths: list is empty file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/MediaInfoPopover.qml:30:5: QML Item: Binding loop detected for property "height" file:///usr/lib/arm-linux-gnueabihf/qt5/qml/Ubuntu/Components/Popups/1.3/Popover.qml:250:9: QML Item: Binding loop detected for property "height" QFileSystemWatcher::addPaths: list is empty file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/MediaInfoPopover.qml:57: TypeError: Cannot read property 'Exif.Image.ImageWidth' of undefined file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/MediaInfoPopover.qml:57: TypeError: Cannot read property 'Exif.Image.ImageLength' of undefined file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/MediaInfoPopover.qml:57: TypeError: Cannot read property 'Exif.Image.DateTime' of undefined file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/MediaInfoPopover.qml:57: TypeError: Cannot read property 'Exif.Image.Model' of undefined file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/MediaInfoPopover.qml:57: TypeError: Cannot read property 'Exif.Image.Copyright' of undefined file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/MediaInfoPopover.qml:57: TypeError: Cannot read property 'Exif.Image.ExposureTime' of undefined file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/MediaInfoPopover.qml:57: TypeError: Cannot read property 'Exif.Image.FNumber' of undefined file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/MediaInfoPopover.qml:57: TypeError: Cannot read property 'Exif.Image.NewSubfileType' of undefined file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/SlideshowView.qml:47: TypeError: Cannot read property 'isSelected' of null file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/MediaInfoPopover.qml:62: TypeError: Cannot read property 'Exif.Photo.Flash' of undefined file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/MediaInfoPopover.qml:11: TypeError: Cannot read property 'url' of undefined file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/SlideshowView.qml:388: TypeError: Cannot call method 'getMedia' of null file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/SlideshowView.qml:422: TypeError: Cannot read property 'actions' of null file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/OptionButton.qml:24:39: Unable to assign [undefined] to QString file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/OptionButton.qml:33: TypeError: Cannot read property 'value' of undefined file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/OptionButton.qml:24:39: Unable to assign [undefined] to QString file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/ViewFinderOverlay.qml:241: TypeError: Cannot call method 'split' of undefined [PERFORMANCE]: Last frame took 38 ms to render. qml: optionsOverlayClose 0:00:27.347974833 8333 0x536600 WARN droidcamsrc gstdroidcamsrcquirks.c:238:gst_droidcamsrc_quirks_new: failed to load configuration file /etc/gst-droid/gstdroidcamsrcquirks.conf: No such file or directory 0:00:27.349571031 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:363:gst_droidcamsrc_set_property:<droidcamsrc2> camera device set to 0 0:00:27.350257021 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:572:gst_droidcamsrc_get_hw:<droidcamsrc2> Found 2 cameras 0:00:27.351440823 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:550:gst_droidcamsrc_fill_info:<droidcamsrc2> camera 0 is facing 0 with orientation 0 0:00:27.352224156 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:550:gst_droidcamsrc_fill_info:<droidcamsrc2> camera 1 is facing 1 with orientation 3 0:00:27.352695562 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:363:gst_droidcamsrc_set_property:<droidcamsrc2> camera device set to 1 file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/ViewFinderOverlay.qml:241: TypeError: Cannot call method 'split' of undefined 0:00:27.362486708 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:363:gst_droidcamsrc_set_property:<camera_source> camera device set to 1 (camera-app:8333): GStreamer-WARNING **: Name 'video-encodebin' is not unique in bin 'camerabin', not adding (camera-app:8333): GStreamer-WARNING **: Name 'videobin-filesink' is not unique in bin 'camerabin', not adding (camera-app:8333): GStreamer-WARNING **: Name 'image-encodebin' is not unique in bin 'camerabin', not adding (camera-app:8333): GStreamer-WARNING **: Name 'imagebin-filesink' is not unique in bin 'camerabin', not adding (camera-app:8333): GStreamer-WARNING **: Name 'viewfinderbin-queue' is not unique in bin 'camerabin', not adding qml: optionsOverlayClose 0:00:35.957019934 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:375:gst_droidcamsrc_set_property:<camera_source> setting capture mode to: 2 0:00:35.970346497 8333 0x536600 WARN droidcamsrc gstdroidcamsrcphotography.c:1310:gst_droidcamsrc_set_flash_mode:<camera_source> params for flash-mode not yet available. deferred applying value 1 qml: updateViewfinderResolution: viewfinder resolutions is not known yet. 0:00:35.975825351 8333 0x536600 INFO droidcamsrc gstdroidcamsrcphotography.c:1524:gst_droidcamsrc_set_and_apply:<camera_source> setting zoom to 0 0:00:37.759285715 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:375:gst_droidcamsrc_set_property:<camera_source> setting capture mode to: 1 0:00:37.767823475 8333 0x536600 WARN droidcamsrc gstdroidcamsrcphotography.c:1310:gst_droidcamsrc_set_flash_mode:<camera_source> params for flash-mode not yet available. deferred applying value 0 qml: updateViewfinderResolution: viewfinder resolutions is not known yet. qml: optionsOverlayClose qml: optionsOverlayClose qml: optionsOverlayClose qml: optionsOverlayClose qt.qpa.mirclient: Attempted to deliver an event to a non-existent window, ignoring. qt.qpa.mirclient: Attempted to deliver an event to a non-existent window, ignoring. phablet@ubuntu-phablet:~$
The system is up to date (edge): screen is black when opening the app and during all the command/tap I tried.
Any guidance how to fix it? Thnx -
Is still dev required or does it now also work on stable/rc (oneplus 3t)?
-
It works on stable/rc on OP3t
-
Ok, I have now a fresh flashed Oneplus 3t dev and I installed the GStreamer-droid based camera. In the camera app I see always a 2:2 layout but the pictures I shoot are in the layout I set (16:9 in my example).
Screenshot:
Picture from the same position:
Anybody else with this problem? How could I fix this?
-
-