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

    How can I help?

    Scheduled Pinned Locked Moved General
    18 Posts 9 Posters 2.8k 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.
      • C Offline
        cliffcoggin @stanwood
        last edited by

        @stanwood Thank you. I am not sure I am any more enlightened but thank you anyway. I think this illustrates the enormous gulf in knowledge between the ignorance of a simple user like me and the expertise needed to develop UT, and perhaps explains why so few people are stepping forward to assist the team.

        FuseteamF ? 2 Replies Last reply Reply Quote 0
        • T Offline
          thousandtopics
          last edited by

          @applee said in How can I help?:

          https://gitlab.com/groups/ubports/-/epics

          I asked several times in the Q&A about this, but I was ignored, thanks for sharing this.

          MoemM 1 Reply Last reply Reply Quote 0
          • MoemM Offline
            Moem @thousandtopics
            last edited by

            @thousandtopics said in How can I help?:

            I asked several times in the Q&A about this, but I was ignored

            Orrrrr... maybe your question was noted as one that needs answering in a general way, so the answer is visible and useful for more people... and this is what happened just now?

            Is currently using an Op5t
            Also owns an Op1, a BQ E4.5 and an Xperia X, as well as a BQ tablet and a Pinetab2. Please, someone... make it stop.

            T 1 Reply Last reply Reply Quote 1
            • T Offline
              thousandtopics @Moem
              last edited by

              @moem so . . . What I have seen in the Q&A so far, is they announce of what has been done, they mention some things as milestones, and I knew that somewhere there was a milestone agenda, but I don't recall they have mentioned before.

              At least now I know where it is.

              1 Reply Last reply Reply Quote 0
              • A aarontheissueguy referenced this topic on
              • A aarontheissueguy referenced this topic on
              • FuseteamF Offline
                Fuseteam @cliffcoggin
                last edited by Fuseteam

                @cliffcoggin hi, i'm way late but i found a nice short explaination of halium that finally made it click for me. i'm posting it here because perhaps @AppLee might find it usefull to add it to his short description:

                "Halium is basically a custom version of Android build specifically to run services that speaks to Android hardware"

                as these services make use of Android libraries halium also uses a wine-like "compatibility layer" to load those libraries in Linux called "libhybris"

                as a closing note i would like to encourage you to not be discouraged when you feel like you don't understand much. i can tell you that few of the regular contributors understand the entire system completely. even the most knowlegable contributors started with zero understanding of the system, nay even the devs at canonical each "specialized" in specific parts of the os, while not knowing much about other part 😉

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

                  @cliffcoggin @Fuseteam
                  I know little of the inner workings of my phone, I'm not software savvy, I'm just an Electrical Engineer with a groovy mobile, but I do often need to communicate with developers and system integrators in an industrial environment, so I think of of it like a trifle, with layers.
                  In this case maybe the bottom layer of sponge and jelly is your phone hardware, the next layer of fruit may be the kernel, followed by the custard layer of the operating system, a sprinkle of broken buscuits are all the apps you load on the operating system, and the user interface is the top layer of chocolate sprinkles and cream. We only see the top layers of chocolate sprinkles and cream, but we taste the whole trifle when we use our phones.
                  I may have got this all wrong, as I said before I'm not software savvy, and I'm not a chef. But in principle I think some types of sponge don't taste good with the rest of the trifle so developers need to add another layer of flavour to make it bind and work. So I think Halium is a layer added between the sponge and the fruit on some phones to make the whole trifle work. I think the Cosmo that I'm writing this on is a bit of an 'Eton Mess', but it tastes good.

                  1 Reply Last reply Reply Quote 0
                  • AppLeeA Offline
                    AppLee
                    last edited by

                    @Fuseteam and @MonCon
                    For a good understanding of what is Halium, I'll refer you to the latest Q&A at this day:
                    https://youtu.be/1OGK2lIV8DQ?t=1920

                    During this question, Florian share a graph explaining how things interact.
                    https://youtu.be/1OGK2lIV8DQ?t=2055

                    Note: The links have timestamps to the right moment...

                    So basically if I'm correct, Halium is an open source project based on android that provides the blue parts so Ubuntu Touch can access the hardware (on the graph: GPS, Pulse, Media, Ofono) or more precisely the vendor's firmwares to communicate with the hardware.
                    Also from the https://halium.org project page, they also include the kernel used by android for a given device... which (as Florian said) can be a very old unpatched kernel.

                    Updating the kernel is very hard because Google and vendors customized the kernel to fit a specific need at the time and this work would have to be done again... but blindfolded and with a skeleton crew.

                    @cliffcoggin the gap is not that big.
                    Things have names and within a thing there are other things with more specific names.
                    To fill the gap you just need to refer to a box diagram like the one shared by Florian and understand roughly what are the main components. If you need to tackle a specific problem you'll be able to identify one or in the worst case two boxes of interest.

                    That's a starting point, then you can focus on the interesting box and build your knowledge from the bottom up.

                    For instance, I'm an IT engineer for 15 years now and I'm unable to know the difference between TWRP, recovery mode, flash tool and other names like that.
                    Some are "generic" names, some trademark or tools, but I don't care.
                    What I understand is that they are needed at some point to deal with the bootloader (that I understand as I worked on embedded software). But even a bootloader is not a clear notion...
                    For example a PC will have a BIOS (it is technically a bootloader AFAIK) and then you have GRUB (which is another bootloader) then your OS.
                    But wait, a bootloader is an OS which task is to run another OS...
                    Embedded architecture can be confusing and there are many technical terms that you have to learn and debunk to understand a thing.

                    To make an analogy with a car, in order to work on a car, customize it or fix things, you don't have to know how to build an engine or how threads on a bolt are made.
                    You can add an alternative fuel line without knowing how the ignition works.

                    Anyway I think it's important we (the community) can explain how things work so people with no or little knowledge (but with passion) can join the effort and improve our beloved OS.

                    I will just be explicit that even if I'm a technical guy, my knowledge about Ubuntu Touch is very limited. But I know the broad strokes behind Linux, an OS and embedded software.
                    And so you know, I learned mostly by trial and error and reading/asking when I felt stuck. Not at the University.

                    FuseteamF 1 Reply Last reply Reply Quote 0
                    • FuseteamF Offline
                      Fuseteam @AppLee
                      last edited by Fuseteam

                      @applee thanks for the links, i've been following the groups as well, and now i found a short description on telegram that made it click for me:

                      Halium is basically custom version of Android build specifically to run services that speaks to Android hardware

                      edit: i just noticed i already posted that did that description not suffice? 🤔

                      edit2: ok so i found an (older) image of the diagram florian showed
                      0bdef183-4ce0-47bc-b25c-0741c57eb3f2-image.png
                      my current understanding is that the bluebox is "halium" although in florian's diagram the bluebox is considerably larger hmm

                      AppLeeA 1 Reply Last reply Reply Quote 0
                      • AppLeeA Offline
                        AppLee @Fuseteam
                        last edited by

                        @fuseteam
                        Halium is larger than this blue box but it gives the idea...
                        Halium includes also the kernel and drivers for GPS, accelerometer, screen, cameras as well as oFono.

                        AFAIK (and I'm reaching my limits) a porter can use Halium as a base and add the Ubuntu Touch parts... (Lomiri, system apps, system libraries, ...)
                        Sorry I don't know the details on this. To know more, I guess the best course of action is to try and get your hands dirty porting...

                        If I had the time, my plan would be to try to make a port for an existing Ubuntu Touch device.
                        This way you have a final result available for reference.

                        FuseteamF 1 Reply Last reply Reply Quote 0
                        • CiberSheepC CiberSheep referenced this topic on
                        • FuseteamF Offline
                          Fuseteam @AppLee
                          last edited by

                          @applee i'm fairly certain both the kernel and ofono are outside of halium, but i can't say that with absolute certainty. i agree the best way to understand it would be to try porting yes. i too wish i could make time for it

                          AppLeeA 1 Reply Last reply Reply Quote 0
                          • AppLeeA Offline
                            AppLee @Fuseteam
                            last edited by

                            @fuseteam
                            The best source of information I can find is https://halium.org

                            Project Halium will contain:

                            • Linux kernel (source provided by device vendor)
                            • Android services required to talk with hardware
                            • Libhybris

                            In addition, Project Halium also aims to standardize the middleware software used by various projects to talk with android daemons and make use of hardware, for instance:

                            • OFono/RILd
                            • Camera service
                            • Pulseaudio / Audiofingerglue
                            • GPS
                            • Media codecs
                            FuseteamF 1 Reply Last reply Reply Quote 0
                            • FuseteamF Offline
                              Fuseteam @AppLee
                              last edited by

                              @applee ah i need to read more thanks. tho i still don't know if "aiming to standardize middleware to talk to android daemons" means it's a part of halium or not 🤔

                              AppLeeA 1 Reply Last reply Reply Quote 0
                              • AppLeeA Offline
                                AppLee @Fuseteam
                                last edited by

                                @fuseteam
                                According to me that would be the case.

                                De facto if they include for example OFono to halium than projects based on halium will not have to integrate OFono on their side hence the standardization.
                                Of course any project can choose no to and hack off OFono to bring something else instead.
                                By incorporating OFono within halium they can also move towards less fragmentation by updating OFono for all devices at once aiming to a more plug and play integration.
                                I guess this is not it yet but that is probably a goal for ease of maintenance when new releases come out.

                                FuseteamF 1 Reply Last reply Reply Quote 0
                                • FuseteamF Offline
                                  Fuseteam @AppLee
                                  last edited by

                                  @applee the thing is some halium operating systems don't use ofono, they use modemmanager iirc xd

                                  1 Reply Last reply Reply Quote 0
                                  • MoemM Moem referenced this topic on
                                  • First post
                                    Last post