Subcategories

  • Discussion about running Ubuntu Touch on the Raspberry Pi

    22 Topics
    205 Posts
    R
    Hi Here comes little news regarding the Raspberry pi3 and pi4: Capsia over at: https://t.me/UBports_pi have made a new image for the Rpi 3 and Rpi 4. You'll find it here: https://gitlab.com/capsia/rootfs-builder-debos/-/jobs/4802053677/artifacts/browse This is what Capsia wrote in the release note: Hi! I finally have a focal image for the Pi. Please note that this is still in very early development and there may be issues. Currently known issues are that video playback does not work in the video app (only in the browser), the first boot is very slow and the Pi 3 is quite laggy with only 1GB of ram. This image has also been tested and works on the Pi4, other models such as the Pi400 may or may not work.
  • News and discussions related to the UBports Installer

    36 Topics
    157 Posts
    K
    @Alain Oh wait, so you haven't unlocked the bootloader yet earlier? I assume only the toggle in Android?
  • Development discussions for OPEN-CUTS, the open crowdsourced user testing suite

    4 Topics
    6 Posts
    libremaxL
    https://ubports.open-cuts.org/graphql seems unable to reply. So a message error is generate when UBports-installer is used.
  • flare - need help - package did not install

    Moved
    3
    1
    0 Votes
    3 Posts
    122 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
  • It's done! KDE Connect finally works on UT

    Moved
    10
    3 Votes
    10 Posts
    4k Views
    klhK
    @FixOne said in It's done! KDE Connect finally works on UT: ATTENTION! KDE Connect can only be installed via APT. Do not attempt to install it in Libertine or nix (Cracle), as it will not work or will be extremely unstable. If you are concerned that the application will break your system, you can relax (but backups are still important). Changes to the system will be minimal. Please don't give guarantees you can't keep. Using apt will break the OS at some point, it's not the question of "if" but "when". Your script also installs avahi and enables it unconditionally, which is a very bad idea for a mobile device that might connect to public hotspots - you should at least put a warning in your post. @CiberSheep fyi this has nothing to do with app development.
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    11 Views
    No one has replied
  • Ubuntu Touch SDK Vivid Archive

    Moved
    2
    0 Votes
    2 Posts
    756 Views
    BollyB
    @ctyler1984 said in Ubuntu Touch SDK Vivid Archive: I found on the forum that there once was an Ubuntu touch programming course that a user created that did have vm uploaded to google drive however we are talking years ago and through the course of time the link is now 404. @mimecar
  • ubports PDK

    Moved
    3
    0 Votes
    3 Posts
    691 Views
    lduboeufL
    lol i don't remember updating it: https://gitlab.com/ubports/development/core/rootfs-builder-debos/-/commit/2a4bafeb31cd06bfa617eb0a104d4b688ac4f6ce So it seems it uses an old dependency, but has this file is only a script file it can be modified i guess: /usr/bin/ubports-clone
  • Compiling Rust code on UT

    15
    1
    0 Votes
    15 Posts
    2k Views
    G
    I set up a Libertine container, and installed gcc-multilib and rust with in and as expected everything ran and compiled within my ~/Documents folder [image: 1577645261414-libertine_shell_speed_test.png] Interestingly, within the container the build of the 'hello world' program takes 3x longer than with gcc-multilib hacked onto the system: [image: 1577645397809-system_hack_speed_test.png]
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    5 Views
    No one has replied
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    3 Views
    No one has replied