• Looking for testers: port for Lenovo Tab M8 HD (TB-8505F)

    Moved Porting
    52
    5 Votes
    52 Posts
    3k Views
    K
    @neonmodder123 I can reproduce the hang, which is good. I think there is no binderfs in the kernel 4.9 - simply too old for that.
  • Signal UT: Signal-Desktop for Ubuntu Touch

    App Development
    50
    1
    4 Votes
    50 Posts
    2k Views
    danfroD
    Hacking my way through it... ;-). If you wish to use dark mode, close the app and edit this file: ~/.config/signalut.pparent/Signal/ephemeral.json You can do that with seabass2 for instance. Or use terminal with nano ~/.config/signalut.pparent/Signal/ephemeral.json. (no sudo needed) Replace "theme-setting": "system", with "theme-setting": "dark",, save changes and start the app.
  • App: InTouch (native UBports Forum browser)

    App Development
    3
    2 Votes
    3 Posts
    67 Views
    danfroD
    Very good! I am not a good forum user, maybe partly because I don't want to use morph for that. Now I have no excuse any more. Working fine on my OP5T.
  • [Suggestion] UBport Community Awards

    General
    2
    0 Votes
    2 Posts
    35 Views
    R
    Ideas for Categories: Biggest OS bug squashed Favourite new app in the open store Community's favourite developer Favourite new app concept ( in the app store)
  • mobiles data & bouygues telecom

    Solved Support
    3
    1 Votes
    3 Posts
    146 Views
    DJacD
    when i used lineageOS i don't meet this probleme... so, i don't know. it is juste in order to informe users : personnaly, it need me 5 days to found the solution. if it could help other users.
  • [Question] Clickable: install target arch dependencies.

    App Development
    3
    0 Votes
    3 Posts
    51 Views
    pparentP
    @CiberSheep said in [Question] Clickable: install target arch dependencies.: @pparent check here: https://clickable-ut.dev/en/latest/project-config.html You'll gonna love it Specially on dependencies_host and dependencies_target but there's a lot of thing to play with Ho that's great! It helps a lot thank's so much!
  • Fingerprint

    Fairphone 5
    20
    1
    0 Votes
    20 Posts
    365 Views
    G
    @ozzy03 said in Fingerprint: after release 749 the fingerprint sensor started working thanks, this will save me the time that I was considering taking for an experimental reinstallation with Android 14. However, this means that the version I am running, 24.04.1RC will probably not have a working fingerprint sensor when turning to stable, since it was released on 30 october and version 749 was built on 12 November.
  • Ubuntu Touch Q&A 178 call for questions.

    Pinned until 11/16/25, 7:58 PM News
    2
    0 Votes
    2 Posts
    246 Views
    E
    On Noble I'm not getting any Cinny notifications, but the same app works flawless on Focal. What's up with that?
  • 0 Votes
    7 Posts
    143 Views
    G
    @Biplabro said in paste in terminal, clock widget in home screen help request: github page of mobile browser are you talking about Morph ? I just tried it and can't repro. Using long press and paste from the menu seems to work fine for me.
  • 0 Votes
    4 Posts
    153 Views
    G
    @TheTrench said in 2G/Edge on Ubuntu Touch and Android 11, 5G on 13+ and Lineage OS: throw away the phone if there is no better answer, in your place I'd try to install Android 13 and setup UT over that. It's recommended to use Android 11 yes, but as in this time being stuck on 2G/Edge is not really satisfying as it is shut down more and more frequently, so it's worth the try IMO. The worst that can happen is that UT will not work correctly at all. It could work because manufacturers can install a newer version of Android without updating the interface on which UT relies. As it is a possibility, not an obligation, it's not a sure thing that it will. But if manufacturers have the ability to take a shortcut to upgrade Android on their supported hardware with less work on their part, they may very well use it.
  • How to use volte

    Volla Phone 22
    20
    0 Votes
    20 Posts
    692 Views
    G
    @domubpkm said in How to use volte: I speak of Volte in this case, I can confirm you that the people who defined VolTe (the businesss associations working on this standard) are most definitely not bothering with the interactions of UT and Bouygues, this is far far below their field of concern
  • Has anyone looked into porting to a foldable?

    OS
    4
    0 Votes
    4 Posts
    130 Views
    TeckMonsterT
    If a trusted & skilled dev wants to take this on I am will to buy them a used 1st gen Pixel Fold. I may be willing to pay $300 towards a Fold 9, but I hate how big those are, though they have display out which the smaller 1st gen doesn't have:( Ah shoot, I just realized Halium might be an issue for both those, as far as I can tell we don't have one for Android 14 or 15 yet. o7
  • Call for testing: Ubuntu Touch 24.04-1.1

    OS
    48
    12 Votes
    48 Posts
    3k Views
    C
    @peat_psuwit Hello, I installed 24.04-1.0 again and the micro SD card is mounted read only there too. I believe it still worked on 20.04. Many thanks & best regards Charly
  • is eSIM available/supported on UT?

    Fairphone 4
    7
    1 Votes
    7 Posts
    1k Views
    M
    hi guys, thanks for your posts, it open a window to me. i set and use an esim on android before flashing to ubtouch. i cannot find any ways to use this esim now on my Pixel3a. can you give some tips to do so? regards Marc
  • Ubuntu Touch Q&A 178 Saturday 15th Nov 19:00 UTC

    Pinned until 11/16/25, 2:42 PM Locked News
    1
    0 Votes
    1 Posts
    77 Views
    No one has replied
  • Welcome to the UBports community! Introduce yourself here!

    General community
    470
    3 Votes
    470 Posts
    530k Views
    OpolorkO
    Hi @Charly. Welcome to the UBports community.
  • New mobile system solution to replace Android

    Moved Off topic
    3
    -1 Votes
    3 Posts
    80 Views
    MoemM
    @ufoddos said in New mobile system solution to replace Android: Establish a unified national alliance National? Which nation are you thinking of? Anyway, sounds like you have given yourself quite a job to do. Good luck and let us know how it goes!
  • 1 Votes
    25 Posts
    2k Views
    OpolorkO
    Yesterday, I got emails from AlaskaLinuxUser (GitLab), thanking me, and saying both pages were fixed.
  • Enabling MAC randomization

    Unsolved Support
    17
    1 Votes
    17 Posts
    273 Views
    G
    @Vlad-Nirky said in Enabling MAC randomization: Not so hard and usefull yes that's a possibility. Another could be to stop and disable the mount unit + restarting the phone when staying at home.
  • flare - need help - package did not install

    Moved Other Projects
    3
    1
    0 Votes
    3 Posts
    102 Views
    D
    could compile it installed it but when run direct on the smartphone it hang if login ssh -CY phablet@10.42.0.1 and run then, gut the GUI Dockerfile FROM ubuntu:24.04 ENV DEBIAN_FRONTEND=noninteractive # First, update and install basic tools RUN apt-get update && apt-get install -y \ curl \ ca-certificates \ && rm -rf /var/lib/apt/lists/* # Configure repositories properly RUN rm /etc/apt/sources.list.d/ubuntu.sources && \ echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ noble main restricted universe multiverse" > /etc/apt/sources.list && \ echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ noble-updates main restricted universe multiverse" >> /etc/apt/sources.list && \ echo "deb [arch=amd64] http://security.ubuntu.com/ubuntu/ noble-security main restricted universe multiverse" >> /etc/apt/sources.list && \ echo "" >> /etc/apt/sources.list && \ echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ noble main restricted universe multiverse" >> /etc/apt/sources.list && \ echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ noble-updates main restricted universe multiverse" >> /etc/apt/sources.list && \ echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ noble-security main restricted universe multiverse" >> /etc/apt/sources.list # Enable arm64 architecture RUN dpkg --add-architecture arm64 # Update and install dependencies RUN apt-get update && apt-get install -y \ build-essential \ crossbuild-essential-arm64 \ git \ meson \ ninja-build \ pkg-config \ blueprint-compiler \ desktop-file-utils \ gobject-introspection \ libgirepository1.0-dev \ gir1.2-gtk-4.0 \ gir1.2-adw-1 \ gir1.2-gtksource-5 \ libglib2.0-bin \ libglib2.0-dev \ protobuf-compiler \ libglib2.0-dev:arm64 \ libgtk-4-dev:arm64 \ libadwaita-1-dev:arm64 \ libpango1.0-dev:arm64 \ libgdk-pixbuf-2.0-dev:arm64 \ libcairo2-dev:arm64 \ libgtksourceview-5-dev:arm64 \ gettext \ python3-pip \ && rm -rf /var/lib/apt/lists/* # Fix: Replace ARM64 glib-compile-schemas with wrapper to native version RUN if [ -f /usr/lib/aarch64-linux-gnu/glib-2.0/glib-compile-schemas ]; then \ mv /usr/lib/aarch64-linux-gnu/glib-2.0/glib-compile-schemas \ /usr/lib/aarch64-linux-gnu/glib-2.0/glib-compile-schemas.arm64 && \ echo '#!/bin/bash\nexec /usr/lib/x86_64-linux-gnu/glib-2.0/glib-compile-schemas "$@"' \ > /usr/lib/aarch64-linux-gnu/glib-2.0/glib-compile-schemas && \ chmod +x /usr/lib/aarch64-linux-gnu/glib-2.0/glib-compile-schemas; \ fi # Add this near the end of your Dockerfile, before WORKDIR RUN pip3 install --break-system-packages clickable-ut # Install Rust RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y ENV PATH="/root/.cargo/bin:${PATH}" # Add aarch64 Rust target RUN rustup target add aarch64-unknown-linux-gnu # Configure Cargo RUN mkdir -p /root/.cargo && \ echo '[target.aarch64-unknown-linux-gnu]' >> /root/.cargo/config.toml && \ echo 'linker = "aarch64-linux-gnu-gcc"' >> /root/.cargo/config.toml # Set pkg-config paths for Cargo ENV PKG_CONFIG_SYSROOT_DIR=/ ENV PKG_CONFIG_PATH= ENV PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig ENV PKG_CONFIG_ALLOW_CROSS=1 # CRITICAL: Force Cargo to build for aarch64 ENV CARGO_BUILD_TARGET=aarch64-unknown-linux-gnu # Create simpler cargo wrapper RUN mv /root/.cargo/bin/cargo /root/.cargo/bin/cargo-real && \ cat > /root/.cargo/bin/cargo << 'EOFWRAPPER' #!/bin/bash case "$1" in build) if [[ "$*" != *"--target"* ]]; then /root/.cargo/bin/cargo-real "$@" --target aarch64-unknown-linux-gnu result=$? if [ $result -eq 0 ] && [ -n "$CARGO_TARGET_DIR" ] && [ -f "$CARGO_TARGET_DIR/aarch64-unknown-linux-gnu/release/flare" ]; then mkdir -p "$CARGO_TARGET_DIR/release" cp "$CARGO_TARGET_DIR/aarch64-unknown-linux-gnu/release/flare" "$CARGO_TARGET_DIR/release/flare" fi exit $result fi ;; esac exec /root/.cargo/bin/cargo-real "$@" EOFWRAPPER RUN chmod +x /root/.cargo/bin/cargo # Create pkg-config wrapper RUN echo '#!/bin/bash\n\ export PKG_CONFIG_PATH=\n\ export PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig\n\ export PKG_CONFIG_SYSROOT_DIR=/\n\ exec pkg-config "$@"' > /usr/local/bin/aarch64-linux-gnu-pkg-config && \ chmod +x /usr/local/bin/aarch64-linux-gnu-pkg-config WORKDIR /build aarch64-cross.txt [binaries] c = 'aarch64-linux-gnu-gcc' cpp = 'aarch64-linux-gnu-g++' ar = 'aarch64-linux-gnu-ar' strip = 'aarch64-linux-gnu-strip' pkg-config = 'aarch64-linux-gnu-pkg-config' rust = ['rustc', '--target', 'aarch64-unknown-linux-gnu'] [properties] sys_root = '/usr/aarch64-linux-gnu' [built-in options] pkg_config_path = '/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig' [host_machine] system = 'linux' cpu_family = 'aarch64' cpu = 'aarch64' endian = 'little' [build_machine] system = 'linux' cpu_family = 'x86_64' cpu = 'x86_64' endian = 'little' docker build -t flare-builder . [docker run --rm -v $(pwd):/build flare-builder bash -c " # Install clickable in the container pip3 install clickable-ut # Build the click package cd /build clickable build --arch arm64 clickable click-build --arch arm64 " docker run --rm -v $(pwd):/build flare-builder bash -c " cd /build apt-get update && apt-get install -y click patchelf rm -rf click-package mkdir -p click-package/usr/bin mkdir -p click-package/lib/aarch64-linux-gnu # Copy binary cp builddir/src/flare click-package/usr/bin/flare-bin chmod +x click-package/usr/bin/flare-bin # Explicitly copy ALL required GTK4/Libadwaita libraries echo 'Copying libraries explicitly...' # Copy each library with all its versions cp -v /usr/lib/aarch64-linux-gnu/libgtksourceview-5.so.0* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || echo 'libgtksourceview-5 not found' cp -v /usr/lib/aarch64-linux-gnu/libgtk-4.so.1* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || echo 'libgtk-4 not found' cp -v /usr/lib/aarch64-linux-gnu/libadwaita-1.so.0* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || echo 'libadwaita-1 not found' cp -v /usr/lib/aarch64-linux-gnu/libgraphene-1.0.so.0* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || echo 'libgraphene not found' cp -v /usr/lib/aarch64-linux-gnu/libpangocairo-1.0.so.0* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true cp -v /usr/lib/aarch64-linux-gnu/libpango-1.0.so.0* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true cp -v /usr/lib/aarch64-linux-gnu/libharfbuzz.so.0* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true cp -v /usr/lib/aarch64-linux-gnu/libgdk_pixbuf-2.0.so.0* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true cp -v /usr/lib/aarch64-linux-gnu/libcairo-gobject.so.2* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true cp -v /usr/lib/aarch64-linux-gnu/libcairo.so.2* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true cp -v /usr/lib/aarch64-linux-gnu/libvulkan.so.1* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true cp -v /usr/lib/aarch64-linux-gnu/libgio-2.0.so.0* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true cp -v /usr/lib/aarch64-linux-gnu/libgobject-2.0.so.0* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true cp -v /usr/lib/aarch64-linux-gnu/libglib-2.0.so.0* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true cp -v /usr/lib/aarch64-linux-gnu/libfribidi.so.0* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true cp -v /usr/lib/aarch64-linux-gnu/libfontconfig.so.1* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true cp -v /usr/lib/aarch64-linux-gnu/libfreetype.so.6* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true cp -v /usr/lib/aarch64-linux-gnu/libpixman-1.so.0* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true cp -v /usr/lib/aarch64-linux-gnu/libpng16.so.16* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true cp -v /usr/lib/aarch64-linux-gnu/libxcb.so.1* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true cp -v /usr/lib/aarch64-linux-gnu/libxcb-render.so.0* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true cp -v /usr/lib/aarch64-linux-gnu/libxcb-shm.so.0* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true cp -v /usr/lib/aarch64-linux-gnu/libX11.so.6* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true cp -v /usr/lib/aarch64-linux-gnu/libXrender.so.1* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true cp -v /usr/lib/aarch64-linux-gnu/libXext.so.6* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true cp -v /usr/lib/aarch64-linux-gnu/libwayland-client.so.0* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true cp -v /usr/lib/aarch64-linux-gnu/libwayland-cursor.so.0* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true cp -v /usr/lib/aarch64-linux-gnu/libwayland-egl.so.1* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true cp -v /usr/lib/aarch64-linux-gnu/libepoxy.so.0* click-package/lib/aarch64-linux-gnu/ 2>/dev/null || true # Set RPATH patchelf --set-rpath '\$ORIGIN/../../lib/aarch64-linux-gnu' click-package/usr/bin/flare-bin # Create wrapper cat > click-package/usr/bin/flare << 'WRAPPER' #!/bin/bash SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" APP_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" export LD_LIBRARY_PATH="$APP_ROOT/lib/aarch64-linux-gnu:$LD_LIBRARY_PATH" export QT_QPA_PLATFORM=ubuntumirclient export MIR_SOCKET="${MIR_SOCKET:-/run/user/$(id -u)/mir_socket}" if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then export $(dbus-launch) fi exec "$SCRIPT_DIR/flare-bin" "$@" WRAPPER chmod +x click-package/usr/bin/flare # Copy icon find data -name '*Flare*.svg' -exec cp {} click-package/flare.svg \; -quit # Create desktop file cat > click-package/flare.desktop << 'DESKTOP' [Desktop Entry] Name=Flare Comment=Signal messaging client Exec=usr/bin/flare Icon=flare.svg Terminal=false Type=Application Categories=Network;InstantMessaging; X-Ubuntu-Touch=true DESKTOP # Create manifest cat > click-package/manifest.json << 'MANIFEST' { "name": "flare.dennisschweiger", "title": "Flare", "version": "0.18.6", "maintainer": "Dennis Schweiger dennis@example.com", "architecture": "arm64", "description": "Signal messaging client", "framework": "ubuntu-sdk-20.04", "hooks": { "flare": { "apparmor": "flare.apparmor", "desktop": "flare.desktop" } } } MANIFEST # Create apparmor cat > click-package/flare.apparmor << 'APPARMOR' { "template": "unconfined", "policy_groups": [ "networking", "audio" ] } APPARMOR](link url) cd click-package ``` echo '' echo '=== Bundled libraries (first 30) ===' ls -lah lib/aarch64-linux-gnu/ | head -30 echo '' echo 'Total library files:' ls -1 lib/aarch64-linux-gnu/ | wc -l echo '' echo 'Verifying libgtksourceview-5:' ls -la lib/aarch64-linux-gnu/libgtksourceview* || echo 'NOT FOUND!' # Build click build . --no-validate mv *.click ../ cd .. echo '' echo '=== Package created ===' ls -lh *.click " sudo click unregister --user=phablet flare.dennisschweiger 2>/dev/null || true sudo click install --user=phablet --allow-unauthenticated /home/phablet/flare.dennisschweiger_0.18.6_arm64