UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    How to: test GStreamer-droid based camera support in Ubuntu Touch (for Halium 7.1 based port)

    Scheduled Pinned Locked Moved OS
    119 Posts 31 Posters 41.7k Views 13 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      This topic has been deleted. Only users with topic management privileges can see it.
      • LuksusL Offline
        Luksus
        last edited by

        @peat_psuwit here is the log, I redirected it to a file with &>: https://paste.ubuntu.com/p/8Sy4gkzrDD/
        I have to say that I still have the manually patched Halium, if that is something we have to take into account.

        Devices: BQ e4.5, Fairphone 2, Fairphone 3, Lenovo X605F, Pinephone, Moto Z2 Force, OnePlus5T

        peat_psuwitP 1 Reply Last reply Reply Quote 0
        • E Offline
          Emphrath @peat_psuwit
          last edited by

          @peat_psuwit but it's still needed to compile halium manually, right ? This is not going in the next OTA I mean ?

          1 Reply Last reply Reply Quote 0
          • ? Offline
            A Former User @peat_psuwit
            last edited by

            @peat_psuwit Following a hint from ernesst on github I tried the steps at the beginning of this thread and I'm happy to report that camera is now mostly working on my OP3T. Hooray and thanks for that!

            I have only just done this and there are some problems, but at the moment...
            Camera takes pictures and I can view them in gallery, on photoroll.
            No video recording. On pressing the record button the timer comes up and freezes on 0.00
            Here is the output from the debugging command you provided at the top.
            https://paste.ubuntu.com/p/nBkqmQCSpR/

            1 Reply Last reply Reply Quote 0
            • ? Offline
              A Former User @peat_psuwit
              last edited by

              @peat_psuwit Camera didn't survive the latest system update; is this the expected behaviour?
              Here is the log just in case it's useful https://paste.ubuntu.com/p/DMn8FfBWXz/
              Running through the steps to Install GStreamer-droid restored the situation to yesterday's stateπŸ™‚

              E 1 Reply Last reply Reply Quote 0
              • E Offline
                Emphrath @Guest
                last edited by

                @ziggutas I reckon that's because the patch is installed through apt - as long as it won't be added to the system image, every system update might roll back the changes...

                ? 1 Reply Last reply Reply Quote 0
                • peat_psuwitP Offline
                  peat_psuwit
                  last edited by

                  @Emphrath Unfortunately this won't go into the next OTA. This still needs some refining for stability and I want to make sure it won't affect the existing ports.

                  @ziggutas The trouble with video on OP3T (and devices using 64-bit rootfs) is known. However, my only 64-bit device is not working right now and is in the repair shop. And, yes, system image upgrade will wipe this out. I suggested using apt to update the phone. Make sure you have another phone before doing that.

                  E 1 Reply Last reply Reply Quote 0
                  • ? Offline
                    A Former User @Emphrath
                    last edited by

                    @Emphrath @peat_psuwit Thank you both very much for your replies, I understand a bit more now! It's one long and gentle learning curve!

                    For now though, it is very useful to have access to the camera should need it.

                    1 Reply Last reply Reply Quote 0
                    • E Offline
                      Emphrath @peat_psuwit
                      last edited by

                      @peat_psuwit Thanks for the explanations ! Good luck !

                      1 Reply Last reply Reply Quote 0
                      • peat_psuwitP Offline
                        peat_psuwit @Luksus
                        last edited by

                        @Luksus Turns out the log doesn't tell much. Please try again, but increase the log level to 5 i.e. GST_DEBUG=5.

                        1 Reply Last reply Reply Quote 0
                        • M Offline
                          malditobastardo
                          last edited by

                          Hello, first I would like to thanks everyone involved on this fix. Great work!!
                          Second, I would like to know if this fix will eventually land on the Nexus 5 also? It's possible now to test it?
                          Thank you in advance

                          flohackF 1 Reply Last reply Reply Quote 1
                          • flohackF Offline
                            flohack @malditobastardo
                            last edited by

                            @malditobastardo I will try to get it into my Halium 7.1 port for hammerhead, which is already shaping up nicely. SO yes ^^

                            My languages: πŸ‡¦πŸ‡Ή πŸ‡©πŸ‡ͺ πŸ‡¬πŸ‡§ πŸ‡ΊπŸ‡Έ

                            M 1 Reply Last reply Reply Quote 2
                            • M Offline
                              malditobastardo @flohack
                              last edited by

                              @Flohack said in How to: test GStreamer-droid based camera support in Ubuntu Touch (for Halium 7.1 based port):

                              @malditobastardo I will try to get it into my Halium 7.1 port for hammerhead, which is already shaping up nicely. SO yes ^^

                              Thanks a lot Flo.
                              If there is anything we (I can do) to help you with your hard work. You can count with me as always πŸ™‚

                              1 Reply Last reply Reply Quote 1
                              • peat_psuwitP Offline
                                peat_psuwit
                                last edited by

                                I've just updated the camera app to fix the issue with the rotation of the front camera. Grab the new binaries at the same link in the first post.

                                ? 1 Reply Last reply Reply Quote 0
                                • ? Offline
                                  A Former User @peat_psuwit
                                  last edited by

                                  @peat_psuwit I think there something wrong with the arm64 version it is only 85k and it dont install, i have see previous version and that was 485k... ?

                                  1 Reply Last reply Reply Quote 0
                                  • LuksusL Offline
                                    Luksus
                                    last edited by

                                    @peat_psuwit : sadly with debuglevel 5 the log files get very big (>50MB) and I cannot extract useful data out of it.
                                    But meanwhile I am pretty sure, that it has something to do with active rotation-lock. With 1080p video, the app freezes reproducible within the first 5 to 8 seconds.

                                    Without rotation lock I can record longer videos, most of the time. In this case, after stopping the recording, sometimes the app can't get access to the camera again, the camera-view stays black and I cannot start the next recording.
                                    Switching to the front-camera and recording with it works though.

                                    Devices: BQ e4.5, Fairphone 2, Fairphone 3, Lenovo X605F, Pinephone, Moto Z2 Force, OnePlus5T

                                    1 Reply Last reply Reply Quote 0
                                    • E Offline
                                      ernest
                                      last edited by

                                      @peat_psuwit said in How to: test GStreamer-droid based camera support in Ubuntu Touch (for Halium 7.1 based port):

                                      UPDATED: This is no longer required. The correct fix is now in the GStreamer.

                                      So it mean we can come back on the std droid-media and the GStreamer update should be in the latest rootfs ?

                                      1 Reply Last reply Reply Quote 0
                                      • peat_psuwitP Offline
                                        peat_psuwit
                                        last edited by

                                        @Xray2000 Yes it was. I have a problem with my server setup which causes files to be randomly truncated. The file is now fixed and should be 475k (or so) in size.

                                        @Luksus I know why the file gets that large and I still want to look into it (a large amount of that size is a binary file gets hex-printed). Maybe you could compress it and upload it somewhere (if not here)?

                                        @ernest The update is in the xenial_-_gst-droid repo mentioned in the instruction. You should get it automatically via apt.

                                        ? LuksusL 2 Replies Last reply Reply Quote 0
                                        • ? Offline
                                          A Former User @peat_psuwit
                                          last edited by

                                          @peat_psuwit Thanks!

                                          1 Reply Last reply Reply Quote 0
                                          • E Offline
                                            ernest
                                            last edited by

                                            Yes there is an issue with your arm64

                                            Erreur fatale: /home/phablet/com.ubuntu.camera_3.1.2+gstdroid3_arm64.click failed to install.
                                            WARNING:root:Signature check failed, but installing anyway as requested
                                            Traceback (most recent call last):
                                              File "/usr/bin/click", line 110, in <module>
                                                sys.exit(main())
                                              File "/usr/bin/click", line 106, in main
                                                return mod.run(args)
                                              File "/usr/lib/python3/dist-packages/click_package/commands/install.py", line 66, in run
                                                quiet=not options.verbose)
                                              File "/usr/lib/python3/dist-packages/click_package/install.py", line 463, in install
                                                path, user=user, all_users=all_users, quiet=quiet)
                                              File "/usr/lib/python3/dist-packages/click_package/install.py", line 357, in _unpack
                                                package_name, package_version = self.audit(path, check_arch=True)
                                              File "/usr/lib/python3/dist-packages/click_package/install.py", line 279, in audit
                                                for data_name in package.data:
                                              File "/usr/lib/python3/dist-packages/debian/debfile.py", line 181, in __iter__
                                                return iter(self.tgz().getnames())
                                              File "/usr/lib/python3.5/tarfile.py", line 1755, in getnames
                                                return [tarinfo.name for tarinfo in self.getmembers()]
                                              File "/usr/lib/python3.5/tarfile.py", line 1747, in getmembers
                                                self._load()        # all members, we first have to
                                              File "/usr/lib/python3.5/tarfile.py", line 2340, in _load
                                                tarinfo = self.next()
                                              File "/usr/lib/python3.5/tarfile.py", line 2271, in next
                                                self.fileobj.seek(self.offset - 1)
                                              File "/usr/lib/python3.5/gzip.py", line 366, in seek
                                                return self._buffer.seek(offset, whence)
                                              File "/usr/lib/python3.5/_compression.py", line 143, in seek
                                                data = self.read(min(io.DEFAULT_BUFFER_SIZE, offset))
                                              File "/usr/lib/python3.5/gzip.py", line 480, in read
                                                raise EOFError("Compressed file ended before the "
                                            EOFError: Compressed file ended before the end-of-stream marker was reached
                                            
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • E Offline
                                              ernest
                                              last edited by ernest

                                              I've create a bug report to highlight a long boot after the installation of your modification :
                                              https://github.com/ubports/ubuntu-touch/issues/1396

                                              On OP3T both cameras works, with your latest setup, thanks !
                                              I'm using this click : https://gitlab.com/peat-psuwit/camera-app/-/jobs/464890160

                                              Still pending the video recording.

                                              ? 1 Reply Last reply Reply Quote 0
                                              • First post
                                                Last post