• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Register
  • Login
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.
    • A Offline
      AppLee
      last edited by 16 Nov 2021, 12:20

      People are often enthusiastic about the project and want to help it grow but sometimes we don't know how to help.

      Let's start with some definitions because it never hurts:

      Ubuntu Touch: Is the name of the OS
      UBports: Is the foundation maintaining Ubuntu Touch. That's also the name of our community.
      Lomiri: Is the DE of Ubuntu Touch
      Ofono: Is the module that handles the telephony for Ubuntu Touch
      Halium: Is an abstraction layer used by Ubuntu Touch to communicate with proprietary firmwares on ported devices.
      Anbox: Is an option to run android apps (highly experimental and not currently maintained)
      Waydroid: Is the new name for a new approach to replace Anbox, it only works for devices based on Halium 9 (and 10 IIRC) and is still in early stage of development.

      Now I'll try to give some tips on how to help/get involved:

      First you can head over to https://gitlab.com/groups/ubports/-/epics
      There you'll find the roadmap for the UBports foundation.
      At the moment, this is mainly about the work necessary to get Ubuntu Touch to work based on Ubuntu 20.04.

      You got a rough idea on what is going on and want to help? Great!
      Helping is possible in many places. You can work on translations, documentation, testing, reporting or developing.
      Also shop infrastructure like moderating, sorting and prioritizing issues, ... also require some (wo)manpower.
      Please check our documentation where some instructions are already provided: https://docs.ubports.com/en/latest/contribute/index.html

      Eager to help developing? A good starting point are open issues:
      https://gitlab.com/groups/ubports/-/issues
      https://github.com/ubports/ubuntu-touch/issues
      You want make an impact? Some core apps do still need a maintainer (https://github.com/ubports/ubuntu-touch/blob/master/CORE_APPS.md).

      Issues, bugs or feature requests need developers to tackle them, but it's just the tip of the iceberg. There are certainly more of them. And not only developers are needed. Browse through issues and see if you can help by

      • confirming issues
      • testing
      • providing ideas on how to solve something

      When testing and reporting, please follow some general rules:

      • report any bug you encounter
      • check the list before reporting to make sure there is no already existing report
      • provide information on how to reproduce and hopefully fix
        comment on existing reports if you have helpful information

      If you have a broad idea of something that would help to improve Ubuntu Touch, please consider these steps:

      • be specific, no "let's save the world" attempts
      • draw a mockup or write something up with your ideas
      • depending on your idea find the right spot to place it (github/gitlab, forum, telegram, ...)
      • maybe build something to provide it for tests
      • find others to team up, ask for help

      If you cannot act on your own and need endorsement from the foundation, for example to create new partnerships, then

      1. Draft an email for any contact you may have in an organization
      2. Submit the idea and explain how you think it might help each party to the UBports foundation (use the social media, Telegram or the forum to get redirected to the right people)

      (Be patient. Tweaking is a luxury we can't afford right now. 20.04 is the absolute priority. That means that many other things are not a priority. No harm in storing up feature requests somewhere, but don't expect short term actions by the core team at the moment.)

      To sum it up, I would say, you don't need to ask, feel free to act.
      Action proves your interest.
      Acting on an idea is a good way to test it out and see the possible flaws in our thinking (i.e. does it require money, connections, skills, etc.).

      Oh and if, like myself, you are willing to help but don't have much time to give, you can always give money: https://ubports.com/fr/donate

      I hope some of you might find this helpful.
      Cheers

      C O 2 Replies Last reply 16 Nov 2021, 20:50 Reply Quote 13
      • L Lakotaubp pinned this topic on 16 Nov 2021, 12:49
      • C Offline
        cliffcoggin @AppLee
        last edited by 16 Nov 2021, 20:50

        @applee At the risk of diverting the topc can you explain some more what Halium is? Despite reading about it and watching all the Q&As, I really have little idea what it is. My previous impression that it is an alternative OS to the normal one now seems wrong, but an abstraction layer conveys nothing to me.

        S 1 Reply Last reply 16 Nov 2021, 21:22 Reply Quote 0
        • S Offline
          stanwood @cliffcoggin
          last edited by stanwood 16 Nov 2021, 21:22

          @cliffcoggin To popularize, Halium project is an abstraction layer allowing to translate the Linux (Android) kernel on Ubuntu Touch (much more complex than that, but just to schematize...)
          Halium follows Android versions (ex. Halium 9 is based on Android 9).
          Halium is mainly used by porters on new devices.
          Basically it enables Ubuntu Touch to communicate with the hardware of the device.

          https://halium.org/

          Redmi Note 9S Stable
          If God has a computer, it must be a GNU/Linux

          C 1 Reply Last reply 17 Nov 2021, 17:48 Reply Quote 3
          • O Offline
            Opolork @AppLee
            last edited by Opolork 17 Nov 2021, 15:21

            @applee said in How can I help?:

            Ubuntu Touch: Is the name of the OS
            UBports: Is the foundation maintaining Ubuntu Touch. That's also the name of our community.
            Lomiri: Is the DE of Ubuntu Touch
            Ofono: Is the module that handles the telephony for Ubuntu Touch
            Halium: Is an abstraction layer used by Ubuntu Touch to communicate with proprietary firmwares on ported devices.
            Anbox: Is an option to run android apps (highly experimental and not currently maintained)
            Waydroid: Is the new name for a new approach to replace Anbox, it only works for devices based on Halium 9 (and 10 IIRC) and is still in early stage of development.

            Nice summary there, AL! :thumbs_up_light_skin_tone:

            How can you trust that an app really won't send some company your location data, when you tell it not to? The only way you can trust a program not to do something it isn't supposed to do is if it is free software. ~ RMS

            1 Reply Last reply Reply Quote 1
            • C Offline
              cliffcoggin @stanwood
              last edited by 17 Nov 2021, 17:48

              @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.

              F ? 2 Replies Last reply 4 Feb 2022, 12:51 Reply Quote 0
              • T Offline
                thousandtopics
                last edited by 19 Nov 2021, 17:08

                @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.

                M 1 Reply Last reply 19 Nov 2021, 17:14 Reply Quote 0
                • M Offline
                  Moem @thousandtopics
                  last edited by 19 Nov 2021, 17:14

                  @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 19 Nov 2021, 20:10 Reply Quote 1
                  • T Offline
                    thousandtopics @Moem
                    last edited by 19 Nov 2021, 20:10

                    @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 2 Feb 2022, 00:38
                    • A aarontheissueguy referenced this topic on 2 Feb 2022, 00:38
                    • F Offline
                      Fuseteam @cliffcoggin
                      last edited by Fuseteam 2 Apr 2022, 13:08 4 Feb 2022, 12:51

                      @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 4 Feb 2022, 20:13

                        @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
                        • A Offline
                          AppLee
                          last edited by 4 Feb 2022, 22:14

                          @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.

                          F 1 Reply Last reply 1 Mar 2022, 16:58 Reply Quote 0
                          • F Offline
                            Fuseteam @AppLee
                            last edited by Fuseteam 3 Jan 2022, 17:15 1 Mar 2022, 16:58

                            @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

                            A 1 Reply Last reply 2 Mar 2022, 09:55 Reply Quote 0
                            • A Offline
                              AppLee @Fuseteam
                              last edited by 2 Mar 2022, 09:55

                              @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.

                              F 1 Reply Last reply 7 Mar 2022, 02:06 Reply Quote 0
                              • CiberSheepC CiberSheep referenced this topic on 2 Mar 2022, 12:35
                              • F Offline
                                Fuseteam @AppLee
                                last edited by 7 Mar 2022, 02:06

                                @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

                                A 1 Reply Last reply 7 Mar 2022, 09:11 Reply Quote 0
                                • A Offline
                                  AppLee @Fuseteam
                                  last edited by 7 Mar 2022, 09:11

                                  @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
                                  F 1 Reply Last reply 7 Mar 2022, 12:04 Reply Quote 0
                                  • F Offline
                                    Fuseteam @AppLee
                                    last edited by 7 Mar 2022, 12:04

                                    @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 🤔

                                    A 1 Reply Last reply 7 Mar 2022, 15:33 Reply Quote 0
                                    • A Offline
                                      AppLee @Fuseteam
                                      last edited by 7 Mar 2022, 15:33

                                      @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.

                                      F 1 Reply Last reply 7 Mar 2022, 17:58 Reply Quote 0
                                      • F Offline
                                        Fuseteam @AppLee
                                        last edited by 7 Mar 2022, 17:58

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

                                        1 Reply Last reply Reply Quote 0
                                        • M Moem referenced this topic on 2 Apr 2025, 20:28
                                        • First post
                                          Last post