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

    VoLTE Implementation For Google Pixel 3a/3a XL

    Scheduled Pinned Locked Moved Google Pixel 3a/3a XL
    volte
    150 Posts 14 Posters 20.3k Views 4 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.
      • M Offline
        mr_growl @atarilinux
        last edited by

        @atarilinux Thanks for all that. I'll have a read through those articles hopefully this weekend.

        If you have a bonito to test with then I'll stick with that for now. Have you been able to get a build going? Should I find somewhere to host the outputs from my build?

        A 1 Reply Last reply Reply Quote 0
        • A Offline
          atarilinux @mr_growl
          last edited by

          @mr_growl

          I haven't gotten a build going. I was still trying to get the process flow, etc. in order. It's all new to me, so any build would take me a long time as I want to know what happens on each step and why.
          Initially, I was trying to reverse engineer the original port and figure out what made it incomplete. Once I got to that point, I would complete the port. Doing that on my own is a bit difficult, but I'm detailing things as I come across them. My technical expertise is in a different area than this one, so there is a lot to learn.

          If you want to give me the steps and builds, I'd be happy to test further!

          M 1 Reply Last reply Reply Quote 0
          • M Offline
            mr_growl @atarilinux
            last edited by

            @atarilinux I tested bulding on fresh installs of ubuntu server 20.04 and 22.04. Have a look at the readme in this repo: https://gitlab.com/mr-growl/ubports-ubuntu-touch-google-bonito-volte

            Run the apt commands, checkout the repo and run the other 3 commands and you should end up with the.img files. I'd recommend 24GB of ram. 16 and a good swap file or 8 and a really good swap file. 60GB of disk is plenty for the OS and the builds. On the first successful build I did I only had 8gb of ram and 20gb of swap and it took ages but it built... before that it'd just keep erroring out (if you see an error 137, that's it saying you need more ram/swap).

            That repo links to two other of my repos which I made some changes in to get it building with one command.

            So to recap:

            1. set up a vm/machine with ubuntu server 22.04 or 20.04 with 24GB ram and 60gb disk (all defaults during the install
            2. follow the readme on the repo linked above.

            If you encounter any problems let me know but it should just go. Expect an hour all up to set up and run the build.

            I'll read through the articles you sent through tonight and see what I can make of it.

            Good luck!

            A 1 Reply Last reply Reply Quote 1
            • A Offline
              atarilinux @mr_growl
              last edited by

              @mr_growl

              Thanks so much for the info and for building the port! My main Linux computer doesn't have enough power to run those specs natively unfortunately, but I can check what solutions I have. The virtual machine option would probably be the most promising thing for me rather than trying to run it on my local machine. I'll keep you posted as I work through it. Thanks again!

              M 1 Reply Last reply Reply Quote 0
              • M Offline
                mr_growl @atarilinux
                last edited by mr_growl

                @atarilinux Ya, my first build was on a very low spec machine. It can be done but is not fun 🙂

                I'm taking a page out of what you said earlier and am going on a mission to try to understand the process a bit more. I'm starting with building lineage os 19.1. The instructions seem pretty straight forward so seems like a good place to start.

                Documenting the steps I ran to get a working lineage 19.1 bonito build on ubuntu server 22.04 here:
                https://gitlab.com/mr-growl/ubports-ubuntu-touch-google-bonito-volte/-/wikis/Building-Lineage-19.1-for-Bonito

                This is being run on a system with < 8GB ram, so included steps to make a big swapfile at the top. VM specs are 2 i5 cores, 240GB disk, 7GB ram, 24GB swapfile

                A 1 Reply Last reply Reply Quote 0
                • A Offline
                  atarilinux @mr_growl
                  last edited by

                  @mr_growl

                  Yeah, max RAM I have is 16GB, but on an ARM based computer. With this one, I would have to virtualize x64 which would have a knock on performance. The main x64 Linux computer has 8GB. Not ideal. Let's just say I have been on the market for a better computer for a while. Hahaha

                  Let me see what I can work out. Thanks for the steps and the build!

                  1 Reply Last reply Reply Quote 0
                  • A Offline
                    atarilinux
                    last edited by

                    @mr_growl

                    Looks like I got something running in a virtual machine, but it is very, very slow probably due to the instruction translations to the ARM processor among other factors. Needless to say, it can run, but it will take forever under these specs if it doesn't crash. I've been eyeing a desktop PC for a while. I might have to take the plunge when the means become available. If I can't get this to work on my hardware, I will let you know.

                    M 1 Reply Last reply Reply Quote 0
                    • IanI Ian referenced this topic
                    • M Offline
                      mr_growl @atarilinux
                      last edited by

                      @atarilinux Memories of building linux kernel in the 90s 🙂

                      The lineage build is taking me a lot more time to build than the ubports one but I'm still plodding along on that for now. I'm hoping the lineage build will be an enlightening endeavour 🙂

                      One part about the ubports build that I'm unsure about is the vendor blobs. With the lineage build I extraced the blobs from my phone and added them into the source but I haven't noticed a step like that for the ubports build.

                      A 1 Reply Last reply Reply Quote 0
                      • A Offline
                        atarilinux @mr_growl
                        last edited by

                        @mr_growl

                        Hahaha It definitely feels like the 90s! I better get some techno or grunge playing while I'm working on this. Hahaha

                        Yes, when comparing different alternative OS builds, I noticed the same thing. I got stuck on where exactly these should go as I didn't notice anything similar in the Ubuntu Touch documentation. That led me back to trying to trace the original port and other ports to see what happens where and where these vendor blobs should go. Also, I don't know the last time the documentation has been reviewed and updated. For example, I still see the Nexus being referenced and that is from 16.04. I'm not sure how much has changed since then on the porting side. Also, there may be some things that could be left out either by accident or "like, of course, you should know you have to do XYZ, why do I need to write that?" which may confuse the new or average user. This is not a problem limited to just Ubuntu Touch. Other systems have similar omissions in their documentation sometimes. Overall, the documentation so far is great, but I do notice there are some places where I'm having questions, and it sounds like it is not just me. Maybe reading additional material is confusing me? I'm not sure. Anyway, I'll see what I can find out, and if I notice anything, I'll post it here.

                        1 Reply Last reply Reply Quote 0
                        • A Offline
                          atarilinux
                          last edited by

                          @mr_growl

                          I did find this in the forum as a Port QA Checklist. Still looking into the vendor blobs.

                          https://gitlab.com/ubports/community-ports/general/-/blob/master/DeviceChecklist.md

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