Navigation

    UBports Robot Logo

    UBports Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search

    Ubuntu Touch and Linux Kernel Version

    General
    5
    14
    531
    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.
    • rob
      rob last edited by

      Hi folks, please help me understand something that has been confusing me.
      From what I've read here, UT is tied to a Linux 3.x Kernel and this has some effects because drivers in 3.x may not have the same dependencies and with other related code and thus simply moving it to 5.x Kernel will be a problem.

      Then someone told me that the Pinephone uses a 5.x kernel and the CPU will only work with a mainline Linux version. Yet, UT was ported to Pinephone.

      What am I missing here? Is Unity compileable in mainline Linux? I thought it was said many times here the UT is a full OS not just some Desktop environment layer like Plasma Mobile.

      But I was told that I was wrong. And UT had to have used a mainline linux kernel to run on the Pinephone. Or maybe Marius just picked a specific set of drivers and moved them over to UT in whatever the kernel version is (3.x)?

      Or maybe I'm not understanding this at all and I'm really stupid. It is possible. I just want to make sure I know what's up without rolling up my sleeves and compiling a build of UT myself.

      1 Reply Last reply Reply Quote 1
      • poVoq
        poVoq last edited by poVoq

        There are two ways to run UT. With Halium, which is a Android driver compatibility layer and is thus tied to the Kernel used in the Android release for that phone, usually 3.x but can be newer.
        Or you can run it without Halium like the PinePhone or on a RasberryPI in which case you can use what ever Kernel is supported by that device.

        1 Reply Last reply Reply Quote 1
        • dobey
          dobey last edited by

          UT itself is not tied to a specific kernel version (other than it needing to be at least 3.4).

          However, devices which originally shipped with Android and have proprietary blob drivers are tied to the kernel they shipped with, due to the internal API/ABI of the kernel breaking often, so the kernel version can't just be upgraded on those devices.

          On more open devices like PinePhone, Librem 5, Raspberry Pi, or PCs, where this limitation doesn't exist, the upstream linux kernel can be used, without any Android parts at all.

          1 Reply Last reply Reply Quote 5
          • rob
            rob last edited by rob

            So UT itself has no Kernel dependencies? No issues with whatever the Wayland, Xwindows, Mir/XMir is? So the display servers have no tie to the Kernel?

            I understand the issue of device drivers tied to the device and provided by the device manufacturer. But there are also drivers that are shared by multiple devices such as bluetooth, ofono... just wondering if those don't care about the kernel either

            Flohack 1 Reply Last reply Reply Quote 0
            • Flohack
              Flohack @rob last edited by

              @rob Basically we have a minimum requirement of a kernel version, but thats very low, as Canonical was in the same situation: They needed to support 3.4 for example, or maybe even older kernels in the beginning. But, as far as we can see from our Pinephone and Librem5 inverstigations, newer kernels are perfectly fine.

              It is really only the proprietary driver part that keeps you from upgrading (and receiving security and bug fixes) for your Android device. However, Bluetooth for example uses driver backports from 4.2, apparmor 3 is also backported. So, the kernel is a big mess of vanilla kernel, AOSP patches and cherrypicks by Google, vendor patches, and our own patches 😉 - its a miracle it ever works.

              1 Reply Last reply Reply Quote 2
              • Flohack
                Flohack last edited by

                Also its a Linux kernel, but consider it rather like a fork - every second patch you try to apply fails as it has diverged from vanilla. And on top, its more like every vendor made its own fork in the worst case. How nice, we got suddenly 24 different flavors of kernel to maintain 😛

                Thats why everybody is excited about Non-Android devices: We will finally be able to get that complication out of our way.

                1 Reply Last reply Reply Quote 2
                • rob
                  rob last edited by

                  Thank Florian. That is my understanding as well. I looked at some of the discussions in the past about the Bluetooth backports and such that you were involved in.

                  And this has interesting implications if I'm understanding this right. It means UT has more flexibility in the future than I imagined. I though that beyond device drivers, there was something else tying UT to an older Kernel.

                  I thought that PostmarketOS had an edge over UT because it uses a mainline Kernel. I'm so glad to hear that this is not the case. I thought about developing apps for UT but was concerned about a possible dead end at least for an app that's not maintained by UBports.

                  So, the Pinephone version of UT uses mainline? That's confirmed?

                  Flohack 1 Reply Last reply Reply Quote 0
                  • Flohack
                    Flohack @rob last edited by

                    @rob Yes its confirmed to be 5.x not sure which minor version though 🙂

                    1 Reply Last reply Reply Quote 0
                    • rob
                      rob last edited by

                      While we're at this, can a GTK app run? Is there some emulation built in already in the main UT? Or this is possible only under Libertine? I haven't tried it yet.

                      I'm thinking I'll have to rewrite in QT.

                      Flohack 1 Reply Last reply Reply Quote 0
                      • M
                        makeixo last edited by

                        Is there any difference e.g. in performance, stability etc.. between a halium or non-halium device?

                        1 Reply Last reply Reply Quote 1
                        • Flohack
                          Flohack @rob last edited by

                          @rob I dont think GTK will work out of the box. It will work in Libertine I think. Consider Qt whenever possible, its much more mobile friendly.

                          1 Reply Last reply Reply Quote 0
                          • rob
                            rob last edited by

                            LOL. I learned GTK for the Librem5. Actually without QML they are fairly similar. But I had to ask, one never knows...

                            I should have asked the reverse. Would QT work on the Librem5 PureOS and my guess is it can be made to work. In which case, I should have just stuck with QT.

                            So QT it is

                            1 Reply Last reply Reply Quote 0
                            • dobey
                              dobey last edited by

                              GTK+ 3 (whatever version of it is in Ubuntu 16.04) will work out of the box on UT today, although it will not work as well as Qt/QML does.

                              PureOS is using a much newer GTK+ as well as their libhandy which depends on newer GTK+ I think. Once we have fully switched to Wayland as the client protocol, though, one should be able to include a build of the latest GTK+ and libhandy into the click package for an app, and it should just work roughly as well as it would on PureOS.

                              1 Reply Last reply Reply Quote 2
                              • rob
                                rob last edited by

                                thanks dobey. I will test it out when I get the chance.

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