Categories

  • The Meta category: Organizational or general discussion.

    1k Topics
    10k Posts
    pparentP
    Just wanted to mention here, that Signal UT should now be a usable client for basic chatting, and will keep improving in the coming 2-3 month: https://open-store.io/app/signalut.pparent
  • Discuss news updates from Ubuntu Touch and its related projects

    1k Topics
    5k Posts
    UBportsNewsU
    Ubuntu Touch Q&A 179 is live this Saturday 29th Nov so if you can please join us at the usual time of 19:00 UTC. Before then, if you have any questions on or about Ubuntu Touch and UBports please post them below and we will do our best to answer them in the Q&A. Remember that questions on porting to device **** or its status, and questions on bugs, will not be answered.
  • Discuss and solve problems with other users

    4k Topics
    28k Posts
    danfroD
    @domubpkm I guess, the osk option does keep formatting. tedit option inserts text only.
  • 2k Topics
    19k Posts
    aenimaA
    the fact is i don't why and how it has been locked ....
  • Discussions on development of Ubuntu Touch

    524 Topics
    6k Posts
    P
    Here are my thoughts. What started small turned into something big! Priority 1: Core System Stuff - Boot loops, crashes, phone completely unusable. Fix immediately. Sometimes on the Volla Quintus the passcode prompt just stops working. Either the number keys don't enter the characters, or the phone does not seem to respond to the full passcode being entered. This is on 1.x daily channel, so I dunno if it is a problem in stable. Priority 2: Basic Phone Features - Calls, SMS, WiFi, Bluetooth, notifications, camera. If these don't work, it's not really a phone. Cameras: Devices with multiple cameras don't have support for all the cameras, even if the underlying hardware + software stack is functioning. Quintus has 3 cameras, and the test camera apps can access them and take pictures, but the main camera app does not have the ability to switch between the lenses. Camera is too slow to take pictures, and images are blurry if there's any motion or bad lighting conditions. This might be device-specific. Security: Encryption is a basic requirement. Thankfully, it's been recently added. But it shouldn't be optional. If possible, the entire device should be encrypted when powered off. Bonus points if it can encrypt during lock like Android devices. Display/Indicators: Notch needs to be handled, and work is being done on this. I also think there are way too many indicators. This is part of the problem with handling notches. Too many icons to show. I have a dual SIM phone with one SIM on roaming, and the network indicator alone is 4 icons (two reception icons, the roaming icon, wifi/5G icon). Take the rotation lock icon, for example. On my phone, it's one indicator with a pull-down that has exactly one item in it: rotation lock on or off. This could easily be collapsed together with other functions. Similar for other indicators. Many of the pull-down shades have two items in them. Doesn't really make sense in my opinion. Priority 3: Daily Use - Browser crashes, app store issues, keyboard problems, file management. The stuff you hit every day. I won't mention the browser since it's obvious and being worked on. Messaging: The native chat apps are slim pickings, but the ones that exist work well. Delta Touch is good. WhatsWeb works very well. Signal-UT is up and coming. Ideally, there should be a native Matrix client. Ideally-er, it should be disconnected from the idea of "Matrix." It's just "UT Messenger" or something. VPN: There is no (usable) UI to manage VPN connections. Required for corporate users, or people who want to connect to connect to wireguard, Tailscale, etc. Telling people to install the tailscale snap and run terminal commands ain't gonna fly. Dekko: The only email client. And it's amazing work. But if we are talking daily use issues, I have to list them. No HTML replies. Everything is sent out using plain text. Broken message forwarding. When forwarding messages, due to the aforementioned only-plain-text, forwarded messages get completely garbled and become unreadable when the recipient gets it. Mir 2: I think migration to Mir 2 is essential. As I understand, work is underway on this. There are a ton of convergent Linux apps out there that simply do not function properly on UT either due to scaling or due to keyboard not appearing, etc. A properly functioning Wayland environment could allow snaps to be featured in the OpenStore as first-class citizens. The jankiness of the X server in general is also a huge problem (keyboard, slowness, focus issues). Keyboard: The keyboard is very lowly positioned for me. The ability to raise and lower the keyboard is important for me, at least. Basically, replacing the system keyboard with the Ambot installer keyboard would solve all these problems. I realize it's probably not as simple as copy pasting the code, of course. Developer Mode: Developer mode keeps getting turned on every time I boot the phone, even if I toggle it off. Not sure if this is a daily channel thing or an actual bug. It's a security issue if it's not something specific to the daily channel releases. Priority 4: Polish - Like those tiny contact navigation arrows that are impossible to see. UI glitches. Things that make UT feel unpolished. Volla Quintus: under-screen fingerprint reader does not yet work. I assume this will eventually come, in time, hopefully with work from Volla. KDE Connect port! Phone <-> computer sync is very handy. APIs: Lack of APIs for apps to access auto-fill, auto-type, and so on. This is quite relevant to the app I'm making, of course, as it's a password manager. Copying and pasting is an inefficient way of doing things, and also not super secure. App drawer: Ability to organize the app drawer: making folders of apps, for example. The search is good, though. Waydroid: Waydroid notifications need to be propagated to the main notification bar, and should function completely like native notifications, opening the corresponding Android app, etc. Fully functioning multiple window mode with icons appearing in the sidebar and app drawer properly. Copy and paste doesn't seem to work inside Waydroid, not to mention being able to copy and paste between the Waydroid container and the rest of the system. File access should be transparent between Waydroid and the rest of the system. Waydroid should be able to see the home directory of the user, or at least some subset of it, without having to copy files in and out using the Waydroid Files app. Also vice versa. Priority 5: Nice to Have - Advanced features, edge cases, stuff that matters to specific users. Update of snapz0r to allow direct installation of snaps instead of having to use the terminal.
  • Discuss the user experience or design of Ubuntu Touch or its apps

    164 Topics
    2k Posts
    t12392nT
    woah, great work!
  • Creating Ubuntu Touch apps

    765 Topics
    7k Posts
    lduboeufL
    @DJac said in bugs on UT agenda: for exemple : i create a event (all day) from 10 decembre to 15 decembre. Result : OK i deplace the event to 20 decembre. it seems te be from 20 to 25 december. but after validation, it jump from 19 to 24 december. and when i want to change it, the probleme persist. Ok, go ir, i have a pending fix for that, but it needs more work since it has side effects...
  • Porting Ubuntu Touch to new devices

    486 Topics
    4k Posts
    MoemM
    @linhmieu Here is the Port Development Guide. Read through that first, and ask specific questions as they come up.
  • Lomiri, the operating environment for everywhere

    74 Topics
    622 Posts
    libremaxL
    @TotalSonic it seems there is at least a bug to fix before implementation of a setting: https://salsa.debian.org/ubports-team/lomiri/-/issues/54 With help of bounties it could occur sooner than later: https://os-sci.com/lomiri#Contribute
  • Discussion on translating Ubuntu Touch and its core apps

    59 Topics
    329 Posts
    B
    @Vlad-Nirky Thank you. Done.
  • A place to discuss ideas for promoting Ubuntu Touch

    56 Topics
    716 Posts
    LakotaubpL
    @Jules We are aware of this and we are having a good look at it.
  • Other Projects

    Projects which are started by a group within the UBports community

    70 Topics
    401 Posts
    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
  • For things that just don't fit in the other categories.

    851 Topics
    5k Posts
    K
    @bekun Yeah that's the ideal functionality. On Android, that works fine, at least on Samsung phones. In UT, all touchscreens are mapped to the built-in display. I was talking about on the desktops. Gnome have the same issue while KDE Plasma handles it fine.