• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Register
  • Login
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.5k 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.
    • P Offline
      peat_psuwit
      last edited by Moem 16 Dec 2024, 16:43

      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 L 2 Replies Last reply 18 Dec 2024, 02:35 Reply Quote 13
      • A arubislander pinned this topic on 16 Dec 2024, 17:59
      • S Offline
        Salah
        last edited by 17 Dec 2024, 10:40

        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 18 Dec 2024, 02:35

          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
          • L Offline
            Luksus @peat_psuwit
            last edited by 19 Dec 2024, 14:31

            @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
            • M mariogrip referenced this topic on 24 Dec 2024, 16:46
            • System unpinned this topic on 16 Jan 2025, 18:02
            1 out of 4
            • First post
              1/4
              Last post