Categories

  • The Meta category: Organizational or general discussion.

    1k Topics
    9k Posts
    developerbaymanD
    @phmqXPD sweet work!
  • Discuss news updates from Ubuntu Touch and its related projects

    1k Topics
    5k Posts
    UBportsNewsU
    Today is Ubuntu Touch Q&A Day Ubuntu Touch Q&A 165 is today at 19:00 UTC please join us on YouTube: https://www.youtube.com/watch?v=llTkwrdxth8 Questions can still be posted here https://forums.ubports.com/topic/10978/ubuntu-touch-q-a-165-call-for-questions for priority or live in the show. UBports@telegram #ubports:matrix.org #UBports #UbuntuTouch #UBportsQandA #Lomiri #OTA8 #Ubuntu #MobileLinux
  • Discuss and solve problems with other users

    4k Topics
    27k Posts
    ikozI
    TL;DR: use BTRFS or proxy the ZFS via NFS @RJDan said in zfs on Ubuntu touch: [...] better supported on linux, it seemed to be a clear win for zfs. Well, unfortunately that is not the case, ZFS is not supported without adding kernel modules via DKMS. That is because of licensing issues which prevent it from being built-in the kernel like BTRFS and EXT4. DKMS cannot work on Halium kernels as they are based on patched downstream android kernel. I thought FUSE was an option, but after trying to install it on my device I found out zfs-fuse is deprecated, and I couldn't make it work. So the only way is to build the kernel with patches for the ZFS module, beforehand. This is however very complex and I wouldn't recommend it. There is a workaround, to have a NFS/Samba as a proxy to the ZFS file system so that the UT device accesses the file system remotely. The more straight-forward approach is to change the file system to BTRFS, assuming it meets your use cases. If you only need snapshots and backups, you should be fine.
  • 2k Topics
    17k Posts
    DJacD
    @MrT10001 I can't install ubport on my 32bits ubuntu computer. and it don't work with my debian computer... so, I'm looking for others solution. I have a probleme to install postmarketOS too. I keep you in touch.
  • Discussions on development of Ubuntu Touch

    498 Topics
    6k Posts
    peat_psuwitP
    We've just released the RC image for the Ubuntu Touch 20.04 OTA-9, which should have version 2025-W21 or newer. Please take some time to switch your spare/development phone to the 20.04 RC channel and test this OTA. Ubuntu Touch 20.04 OTA-9 is a maintenance release with only a minimal number of changes. That said, we still have a number of changes in this OTA. We would love an extra attention to the following areas: Basic phone functionality (call, SMS, MMS and cellular data) In particular, if your carrier supports VoLTE and you're using newer Volla phones (X23 and newer). This release include fixes which make VoLTE work on more carriers, which may introduce compatibility issues. If your device has an LED, please see if it works correctly. Whether Emojis show up correctly. (Not all of newer ones work, but the number should improve). Whether Waydroid works. Please note that only critical and security fixes will be able to enter Ubuntu Touch 20.04 OTA-9 as this point. Normal bug fixes and new features will need to wait for our next release. Please do not discuss normal bug fixes and new features here. Ubuntu Touch 20.04 OTA-9 is expected to be released on 3 June 2025. We appreciate all testing we will receive.
  • Discuss the user experience or design of Ubuntu Touch or its apps

    165 Topics
    2k Posts
    AppLeeA
    Hi @ezst036 To clarify what everyone is saying, you have to swipe out the lock screen if you don't have any code set. It's still necessary to unlock the phone. It just doesn't mean what you think it means.
  • Creating Ubuntu Touch apps

    730 Topics
    7k Posts
    developerbaymanD
    @Plarde Yes, it is possible — though not entirely straightforward — to infer some runtime information like the app's name and the hook that launched it on Ubuntu Touch, particularly if the app is deployed as a click package. Here’s a breakdown of your goals and possible solutions: Goal: Get the App ID or Name from Manifest In Ubuntu Touch click packages, metadata is defined in a manifest.json file, which contains fields like: { "name": "appname.yourname", "version": "1.0.0", "framework": "ubuntu-sdk-20.04", ... } How to get this at runtime? At runtime, this data isn’t directly exposed via traditional environment variables like APP_NAME. However: Environment Variables Available at Runtime: The AppArmor profile and the Ubuntu Touch application launch mechanism set a number of environment variables, including: APP_ID: Often the full app name like appname.yourname APP_PATH: The full installation path to the app APP_BIN: The binary or hook name You can access these using C/C++/SDL via getenv("APP_ID"), etc. Goal: Get the Hook Name (i.e., the launcher binary name) Click packages specify "hooks" (executables, wrappers, or scripts) in the manifest.json under "hooks": "hooks": { "myhook": { "apparmor": "myhook.apparmor", "desktop": "myhook.desktop" } } How to get the hook at runtime? There’s no standard variable like APP_HOOK, but you can infer it from: argv[0] or /proc/self/exe: #include <unistd.h> #include <limits.h> char path[PATH_MAX]; ssize_t len = readlink("/proc/self/exe", path, sizeof(path)-1); if (len != -1) { path[len] = '\0'; printf("Executable Path: %s\n", path); } Then extract the final component to get the executable name — likely the hook. Summary of Techniques What You Want How to Get It App ID (from manifest) getenv("APP_ID") or getenv("APP_NAME") (test both) App Install Path getenv("APP_PATH") Executable Name / Hook Use argv[0] or resolve /proc/self/exe Manifest Contents Parse /opt/click.ubuntu.com/<appid>/manifest.json manually Bonus: Parsing the Manifest Programmatically If you want full manifest access: #include <stdio.h> #include <stdlib.h> #include <json-c/json.h> void print_manifest_field(const char* field) { const char* appid = getenv("APP_ID"); if (!appid) return; char manifest_path[512]; snprintf(manifest_path, sizeof(manifest_path), "/opt/click.ubuntu.com/%s/current/manifest.json", appid); FILE* file = fopen(manifest_path, "r"); if (!file) return; struct json_object *parsed_json; parsed_json = json_object_from_file(manifest_path); if (parsed_json) { struct json_object *value; if (json_object_object_get_ex(parsed_json, field, &value)) { printf("%s: %s\n", field, json_object_get_string(value)); } json_object_put(parsed_json); } fclose(file); } ️ Caveats These variables are set by the Ubuntu Touch application launcher, so they only exist in the app context. Hook names are not exported as a separate variable unless the launcher sets one explicitly. SDL3 libraries should allow injection or configuration of these values from the hosting application (e.g., via init). Final Advice for SDL3 Porting Since SDL3 is a library and shouldn't hardcode values: Consider requiring the host app to pass APP_ID and HOOK_NAME to SDL3 during initialization. You could fallback to the environment and /proc/self/exe as a best-effort fallback. Let me know if you want a ready-made SDL3-compatible utility wrapper function for this.
  • Porting Ubuntu Touch to new devices

    480 Topics
    4k Posts
    KenedaK
    @faveoled Done.
  • Lomiri, the operating environment for everywhere

    68 Topics
    573 Posts
    K
    @RJDan Not in UT, no.
  • Discussion on translating Ubuntu Touch and its core apps

    58 Topics
    324 Posts
    D
    @alagirialagiri said in what's a good minimum translation completion percentage: @doniks I want to know whether the news section , question and answer blog posts are available in weblate translation in Tamil language.There is no navigation box available as available in documentation page.i request weblate translators to provide the language transulation Navigation box for every forum .Thanking you. As I said before, I think it would be best to create a new post to maximise the chances that the right people can react to your questions, rather than burry your questions here in this thread. I don't have access to the blog
  • A place to discuss ideas for promoting Ubuntu Touch

    55 Topics
    712 Posts
    P
    Hi. I have cap with sign Ubuntu Linux. Can be Ubuntu Touch.
  • Other Projects

    Projects which are started by a group within the UBports community

    64 Topics
    373 Posts
    ikozI
    The last step installs the rootfs usually in system partition, see the install section of the porting documention. Basically flash the latest xenial image from the CI to system. Alternatively push the image with adb to /data/system.img when booted to recovery. Otherwise you could try ubports installer with only the systemimage:install command. You can also see the halium-install source code, particularly these lines. Be sure to check if this partition exists as partition schemes can vary.
  • For things that just don't fit in the other categories.

    822 Topics
    5k Posts
    KenedaK
    @Xiaomi12lite https://forums.ubports.com/topic/2068/halium-first-steps