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

    Status update on the next, Noble-based Ubuntu Touch release, December 2024

    Scheduled Pinned Locked Moved OS
    4 Posts 4 Posters 1.4k Views 3 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.
      • peat_psuwitP Offline
        peat_psuwit
        last edited by Moem

        I just realize that there has been a lack of a long-form communication from the Ubuntu base upgrade side, which causes some frictions and confusions when trying to contribute to Ubuntu Touch during this transition period. This post aims to provide status updates and information that I think everyone has to know.

        Name changes for Noble-based images

        Due to some confusion in the word devel which has been used differently before, I've decided to rename the word devel that is used in various places to just next or utnext. In practice, this means:

        • The image name from the rootfs job will be in the format of e.g. ubuntu-touch-android9plus-rootfs-next-arm64.tar.gz
        • The system-image channel for testing out Noble-based is now called utnext/arm64/android9plus/daily. Note that we've set up redirection in place, so if you're already on the old channel, you'll automatically be redirected to this new name.
        • The Clickable images (which we're still working on) will be available under the version next.

        The name next is chosen to represent that this will become the "next" major release of Ubuntu Touch. When we enters the phase where we stabilize the release, we'll produce another set of channels, rootfs and Clickable images with the release number (which is yet to be finalized).

        Status of Noble-based Ubuntu Touch

        Since the last time I made a forum post, the following features has become usable:

        • Web Browser
        • Media Playback
        • Sensor

        This may seem not much, but more features are already in the code review phase. It could even be possible that we'll have the image in the state ready for wider testing before the Chrismas. We'll see...

        Please be careful when submitting changes to core applications

        Mike Gabriel and his team is currently working to package up a number of UT/Lomiri core applications for Debian, making them available on a more up-to-date OS with newer Qt compared to Ubuntu 20.04 our current images are based on. Meanwhile, our Noble-based Ubuntu Touch image is start to be more usable. Both of these expose our applications to new warnings which has not appeared before on Ubuntu Touch 20.04 with Qt 5.12.

        However, in many cases, the only way to solve those warnings is to migrate the code to the new syntax. Syntax which is not compatible with Qt 5.12. In particular, those syntax changes include:

        • Using function onFoo () { } form for Connection { } component.
        • Setting restoreMode property of Binding { } component.

        Since we've not make a separated branch for 20.04 just yet (and we can't do so because Clickable support for Noble-based Ubuntu Touch is not available yet), please don't introduce those changes into our core application repositories (more specifically, repositories under "ubports/development/apps" GitLab group). We've yet to decided if we need a separated branch for Ubuntu Touch 20.04 compatibility, but personally I would prefer that we don't need one.

        Also, please be reminded that these applications are first and foremost core applications for Ubuntu Touch. When submitting changes for them, please be mindful of this fact. When reviewing changes, please think of a possible breakage on phone (and wrt. Click packaging). Preferably test them on a phone first if the change seems big.

        Side note: we're planing to ship an environment variable drop-in file to silence deprecation warnings for the 2 syntax changes above. This should ease your eyes when reading through the log on the device.

        Heads up for porters: please drop touch.pa overlay if possible

        We expect ports that are available on Ubuntu Touch 20.04 to require only minimal changes in order to run on Noble-based Ubuntu Touch (unlike the 16.04 -> 20.04 transition). We've yet to finalize all changes that will be required. However, one change is certain: touch.pa will have to be updated, or be dropped if possible.

        This is due to how a newer Pulseaudio changes how it handles Bluetooth audio, requiring us to update the configuration for the Bluetooth module. However, if touch.pa file is overlaid from ports, the old configuration would be used, preventing voice call over Bluetooth headset to work properly.

        If your port requires overlaying touch.pa to hard-code the API level of pulseaudio-module-droid to 30, then you'll be glad to know that it will no longer required when MR at [1] is merged, as it will now happen automatically when required. If, however, your port requires overlaying touch.pa to specify quirks to pulseaudio-module-droid, we'll soon provide a way to specify this quirk without overlaying touch.pa. And if you need to overlay touch.pa for other reasons, please tell us so that we can understand your need better.

        [1]: https://gitlab.com/ubports/development/core/hybris-support/pulseaudio-module-droid-discover/-/merge_requests/6

        Another thing that might require special consideration is that, if your port overlays binary files (which we would not recommend, for security update reason and other reasons), please make sure that your overlaid binary can be executed on Noble-based images, as not every library retains its interface and/or soname.

        Heads-up for app developers: you'll need to re-build your app

        Due to changes in Ubuntu 24.04, we cannot guarantee that every application built against Ubuntu Touch 20.04 will run on Noble-based Ubuntu Touch. As such, we'll enforce it through Click's framework system that every native applications must be re-built against the next Ubuntu Touch version.

        However, we've not finalized how the Clickable support for the new release scheme will look like. So you can't quite do that just yet. Sorry for the delay.

        Meanwhile, if your application is QML-only, and the Click package declare this fact through Click framework (i.e. by using ubuntu-sdk-20.04-qml framework), your application should work as-is without any change. However, due to a shortcoming in Clickable, you might not be able to do that just yet. Please follow issue at [2] to see if this has been solved.

        [2]: https://gitlab.com/clickable/clickable/-/issues/444


        Phew! That's a lot of stuffs. I didn't expect it to be this long when I first decided to sit down and start writing this up. But here we are.

        If you still have any question, feel free to reply to this post or to ping me on Telegram in the "UBports Development" channel. I'll try to answer as much as I can.

        K LuksusL 2 Replies Last reply Reply Quote 13
        • arubislanderA arubislander pinned this topic on
        • SalahS Offline
          Salah
          last edited by

          We are all looking forward for the upcoming upgrade to Noble version.

          All the best with improving applications and OS's improvements.

          " Our Business, Is Life Itself,, "

          • Iphone X => Daily Use
          • Nokia N900 => Secondary Device for Experiments and Mods. LOVE THIS DEVICE...
          • Google Pixel 3a XL => Using This Device as Secondary Device -- UT 20.04 Version
          1 Reply Last reply Reply Quote 1
          • K Offline
            kugiigi @peat_psuwit
            last edited by

            Maybe it's worth sending this in the news channel?
            Great job BTW and good luck for the remaining work for the Noble release 😄

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

              @peat_psuwit

              I overlayed touch.pa for two reasons:

              1. to make bluetooth calls work more reliable.
                So this one maybe get fixed by the MR.
              2. to make wired headphones work. For this it was needed to explicitly add the rate=48000 parameter to the load-module command:
                https://gitlab.com/ubports/porting/community-ports/android10/fairphone/fairphone_fp3/-/blame/halium-10.0-focal/overlay/system/etc/pulse/touch.pa?ref_type=heads#L55

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

              1 Reply Last reply Reply Quote 0
              • mariogripM mariogrip referenced this topic on
              • System unpinned this topic on
              • First post
                Last post