Subcategories

  • This section is specifically useful for new contributors on the project

    7 Topics
    1 Posts
    DiogoD
    This Category is for those starting to contribute for the UBports Project and Community. By contributing, we mean doing things like: coding quality assurance (testing, bug reporting and validation, etc...) translations app development and maintenance writing and validating technical documentation and user manuals UBports social media and marqueting etc... If you want to contribute in these ways or others and have questions about it, like how to get started, where can you find information, please leave your questions in this category and we will try to answer them the best we can.
  • Discuss and solve problems with other users

    90 Topics
    645 Posts
    developerbaymanD
    @bearbobs sorry for the late reply its been busy with work...did you have to host the emulationstation?....because not sure how to host from within a clickable.....Iv seen the project before but have not really done anything with it....if it runs totally client side its do able....but if it needs hosting I don't think it can be done....the nes I'm working on is a heavily modded JavaScript emulator runs totally client side i added touch support fixed up the audio and added a lot of mapper support.....one big issue is the webview out of the box is....well lacking...if you load mario you will see black squares around the clouds and other sprites...not the emulator but the webview....
  • 133 Topics
    934 Posts
    developerbaymanD
    @captainfunk try this #!/bin/bash # # Usage: # To install and set up: ./waydroid_shared_folder.sh --install # To perform mount only: ./waydroid_shared_folder.sh --mount (used by cron) # To perform chown only: ./waydroid_shared_folder.sh --chown (used by cron) # To uninstall: ./waydroid_shared_folder.sh --uninstall # To display help: ./waydroid_shared_folder.sh --help # # --- Configuration --- # Define the paths for the shared folders. # ~/shared is the folder on your Ubuntu Touch host that you will use. SHARED_DIR_HOST="$HOME/shared" # ~/.local/share/waydroid/data/media/0/shared is the corresponding folder inside Waydroid. SHARED_DIR_WAYDROID="$HOME/.local/share/waydroid/data/media/0/shared" # The primary user on Ubuntu Touch. USER_PHABLET="phablet" # The name of this script, used for cron job identification. SCRIPT_NAME=$(basename "$0") # The absolute path to this script, essential for cron to execute it correctly. SCRIPT_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" &> /dev/null && pwd)/$SCRIPT_NAME" # --- Functions --- # Function for logging messages to stdout with a timestamp. log() { echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" } # Function to create the necessary shared directories if they don't exist. create_directories() { log "Creating shared directories..." # Create the host shared directory. mkdir -p "$SHARED_DIR_HOST" # Create the Waydroid internal shared directory path. mkdir -p "$SHARED_DIR_WAYDROID" if [ $? -eq 0 ]; then log "Directories created successfully." else log "Error creating directories. Please check permissions or disk space. Exiting." exit 1 fi } # Function to perform the bind mount operation. perform_bind_mount() { log "Attempting to bind mount '$SHARED_DIR_HOST' to '$SHARED_DIR_WAYDROID'..." # Check if the Waydroid shared folder is already mounted to avoid errors. if mountpoint -q "$SHARED_DIR_WAYDROID"; then log "Folder '$SHARED_DIR_WAYDROID' is already mounted. Skipping bind mount." else # Use sudo to perform the bind mount, linking the host folder to the Waydroid folder. sudo mount --bind "$SHARED_DIR_HOST" "$SHARED_DIR_WAYDROID" if [ $? -eq 0 ]; then log "Bind mount successful." # Immediately set initial permissions after a successful mount. set_folder_permissions else log "Error: Bind mount failed. This could be due to incorrect paths, Waydroid not running, or insufficient sudo permissions." log "Ensure Waydroid is running and '$SHARED_DIR_WAYDROID' exists inside its 'data/media/0' structure." exit 1 fi fi } # Function to unmount the shared folder. unmount_folder() { log "Attempting to unmount '$SHARED_DIR_WAYDROID'..." # Check if the folder is currently mounted before attempting to unmount. if mountpoint -q "$SHARED_DIR_WAYDROID"; then # Use sudo to unmount the folder. sudo umount "$SHARED_DIR_WAYDROID" if [ $? -eq 0 ]; then log "Unmount successful." else log "Error unmounting folder. This may happen if files inside are in use." log "You might need to manually unmount or reboot if it persists." exit 1 fi else log "Folder '$SHARED_DIR_WAYDROID' is not mounted. Skipping unmount." fi } # Function to set the ownership of the shared folder and its contents. set_folder_permissions() { log "Setting permissions for '$SHARED_DIR_WAYDROID' to '$USER_PHABLET:$USER_PHABLET'..." # Use sudo and the -R (recursive) flag to ensure all files and subdirectories # within the mounted shared folder are owned by the 'phablet' user. # This directly addresses the issue of Waydroid changing ownership. sudo chown -R "$USER_PHABLET":"$USER_PHABLET" "$SHARED_DIR_WAYDROID" if [ $? -eq 0 ]; then log "Permissions set successfully." else log "Error setting permissions. Check sudo permissions or ensure the path '$SHARED_DIR_WAYDROID' is valid." exit 1 fi } # Function to add cron jobs for persistence and continuous permission management. add_cron_jobs() { log "Adding cron jobs for persistence and continuous permission management..." # Get current crontab, add new entries, sort, remove duplicates, then set new crontab. # @reboot: Executes the script with '--mount' option every time the device reboots. # * * * * *: Executes the script with '--chown' option every minute to correct permissions. (crontab -l 2>/dev/null; \ echo "@reboot /bin/bash \"$SCRIPT_PATH\" --mount"; \ echo "* * * * * /bin/bash \"$SCRIPT_PATH\" --chown" \ ) | sort | uniq | crontab - if [ $? -eq 0 ]; then log "Cron jobs added successfully." log "They will run from this script's current location: $SCRIPT_PATH" log "IMPORTANT: Do NOT move or rename this script after installation, or the cron jobs will fail." log "You can verify the cron jobs by running: crontab -l" else log "Error adding cron jobs. This could be a cron service issue." exit 1 fi } # Function to remove cron jobs added by this script. remove_cron_jobs() { log "Removing cron jobs related to this script..." # List current cron jobs, filter out lines containing this script's path, and set the new crontab. crontab -l 2>/dev/null | grep -v "$SCRIPT_PATH" | crontab - if [ $? -eq 0 ]; then log "Cron jobs removed successfully. You can verify by running: crontab -l" else log "Error removing cron jobs. You may need to manually edit your crontab (crontab -e)." exit 1 fi } # Function to display the help message. display_help() { echo "Usage: $SCRIPT_NAME [OPTION]" echo "" echo "This script automates setting up and managing a shared folder between Ubuntu Touch and Waydroid." echo "" echo "Options:" echo " --install Performs initial setup: creates directories, mounts the folder," echo " sets initial permissions, and adds cron jobs for persistence and" echo " continuous permission handling. Run this command once to set up." echo "" echo " --mount Performs only the bind mount operation and sets initial permissions." echo " This option is primarily used by the '@reboot' cron job for persistence." echo "" echo " --chown Recursively sets permissions for the shared folder and its contents" echo " to 'phablet:phablet'. This option is used by the periodic cron job" echo " to automatically correct permissions changed by Waydroid." echo "" echo " --uninstall Removes the cron jobs added by this script and unmounts the shared folder." echo " This cleans up the setup." echo "" echo " --help Display this help message." echo "" echo "Important Notes:" echo " - This script assumes you are running it as the 'phablet' user on Ubuntu Touch." echo " - It relies on 'sudo' for mount and chown commands. The 'phablet' user typically has" echo " passwordless sudo access configured by default on Ubuntu Touch." echo " - After running '--install', a reboot is recommended to ensure the @reboot cron job fires." echo " - Do not move or rename this script after installation, as the cron jobs rely on its path." echo " - While '/etc/fstab' is a common Linux method for persistence, it's generally not recommended" echo " for user-level modifications on Ubuntu Touch due to its read-only root filesystem and OTA updates." echo " Using user-specific cron jobs provides a safer and more robust solution here." } # --- Main Logic --- # Check if the script is being run as root. It should be run as the regular user (phablet). if [[ $EUID -eq 0 ]]; then log "Error: This script should NOT be run directly with 'sudo'." log "Please run it as the '$USER_PHABLET' user (e.g., just './$SCRIPT_NAME --install')." log "The script will use 'sudo' internally where necessary." exit 1 fi # Check for essential commands required by the script. if ! command -v crontab &> /dev/null; then log "Error: 'crontab' command not found. Please ensure cron is installed and available." exit 1 fi if ! command -v mountpoint &> /dev/null; then log "Error: 'mountpoint' command not found. Please ensure it's installed (usually part of 'util-linux')." exit 1 fi # Process command-line arguments. case "$1" in --install) log "Initiating installation process..." create_directories # Create the required host and Waydroid directories. perform_bind_mount # Perform the initial bind mount. add_cron_jobs # Set up cron jobs for persistence and auto-chown. log "Installation complete. Please reboot your Ubuntu Touch device for all changes to take full effect." log "The shared folder will now be persistent across reboots, and permissions will be automatically corrected." ;; --mount) log "Executing mount operation (likely from @reboot cron job)..." create_directories # Ensure directories exist (in case they were deleted). perform_bind_mount # Perform the bind mount. ;; --chown) log "Executing chown operation (likely from periodic cron job)..." # Only attempt chown if the target directory exists and is mounted. if [ -d "$SHARED_DIR_WAYDROID" ] && mountpoint -q "$SHARED_DIR_WAYDROID"; then set_folder_permissions # Correct the permissions recursively. else log "Shared Waydroid directory '$SHARED_DIR_WAYDROID' not found or not mounted. Skipping chown for now." log "This might happen if Waydroid is not running or if the mount failed." fi ;; --uninstall) log "Initiating uninstallation process..." remove_cron_jobs # Remove the cron jobs. unmount_folder # Unmount the shared folder. log "Uninstallation complete. You may manually remove the '$SHARED_DIR_HOST' directory if no longer needed." ;; --help) display_help # Show the help message. ;; *) log "Invalid option: '$1'" display_help exit 1 ;; esac log "Script execution finished."
  • This topic is deleted!

    Unsolved
    1
    0 Votes
    1 Posts
    68 Views
    No one has replied
  • Can't delete or remove files or apps - OnePlus One

    Unsolved
    8
    0 Votes
    8 Posts
    728 Views
    O
    I installed UT for the first time mid-July and then reinstalled for the second time a few days ago, in the hopes that any fooling around I did would resolve itself. I had attempted to install Linphone in the terminal without success, and perhaps entered commands that affected the phone. I can see that I can easily delete photos in the Camera Roll (with 1 click on the red button), but takes many clicks of the red button from the Gallery app. I switched on the Dev mode as suggested above but still can't delete apps of delete a conversation in Teleports. I'm basically brand new to Ubuntu Touch so I can't say for sure that the phone was working better before I perhaps entered a command that "broke" the phone. Doesn't reinstalling UT reset any changes I made?
  • Linphone TLS Support

    Unsolved
    1
    0 Votes
    1 Posts
    156 Views
    No one has replied
  • morph browser: not possible to show map due to missing WebGL

    Moved
    17
    1
    0 Votes
    17 Posts
    2k Views
    lduboeufL
    @domubpkm said in morph browser: not possible to show map due to missing WebGL: So the problem is perhaps not related to the Webgl with this website? A not recent enough qt? (Maybe I Debugging the website might help to find what is missing: https://docs.ubports.com/en/latest/appdev/webapp/webdebug.html
  • Verizon voice, data, sms not working

    Unsolved
    23
    0 Votes
    23 Posts
    4k Views
    R
    @heyspencerb verizon won't be supported until VoLTE is functional.
  • No video with slimport in convergence test

    14
    1
    0 Votes
    14 Posts
    1k Views
    G
    I made a few more tests : changed the SIM card for a different operator => instability as soon as I activate 4G (LTE) changed the phone for another Nexus 5 with a brand new battery (replaced this week) => same result changed the power supply for a bigger one (5A) => same result So in my case, the problem is independant of : the phone, the Slimport hdmi adapter, the power supply, the power cables, the cell phone operator, the monitor. I just have to switch on/off 4G data to see the issue appear/disappear. If I am connected to a wifi network, the problem disappears as data is handled through wifi.
  • Restart and Install in terminal?

    Solved
    2
    0 Votes
    2 Posts
    298 Views
    TotalRandoT
    @totalrando Never mind, latest update fixed it, marking as solved
  • Cant sync google account

    23
    2 Votes
    23 Posts
    6k Views
    LakotaubpL
    @oden Something is wrong before that. After you cd into Downloads then do Sudo -o and hit enter you shuld just enter the password for phablet and full steam ahead. None of that sudo unable to resolve host ubuntu-phablet stuff, but I have no idea what is happening, sorry. The port version you are using is it the FP3 installer config or the FP3/FP3+ port - Hallium 10. No idea if that has the slightest to do with it but the info may help someone.
  • How to monitor CPU frequencies?

    Solved
    2
    0 Votes
    2 Posts
    314 Views
    S
    I just tried to install the mentioned package cpufrequtils. It works as expected! Some more details. The maximum frequency can be maintained on my device for a long time - no thermal throttling or similar. I used the following command to track the frequency changes: watch -n 5 -d "cpufreq-info | grep curr"
  • OS crashed with UT tweak tool

    Unsolved
    10
    1 Votes
    10 Posts
    1k Views
    R
    @zubozrout , @keneda, I reinstalled UT, and the OS crashed another time. This time the crash looks like I had run some other apps can write system partition while I using the tweak tool. Then I reinstalled UT, and carefully used the tweak tool. But the OS crash the third time. The reason maybe I didnot use a password for my device while the tweak tool need a password. And I reinstalled again. But yesterday , the OS crashed the fouth time! I justed picked a long touch on a link for open in another windows with a webber made app(That operation is very usual for a web browser), and the OS crashed. It looks unusual operations will result conflicts on system partition. Also there is no approved or restart lomiri actions after editting with the tweak tool, that would make the system partition easily hurt. In this days, the lomiri crahsed many times, most beacuse of the system is over load and the device be in hot. For this situation, I just reboot the device and it is ok. That is my update information.
  • USA: can anyone confirm Halium 9 devices can reliably receive SMS?

    Unsolved
    5
    0 Votes
    5 Posts
    551 Views
    TotalSonicT
    I am reliably receiving and sending SMS via T-Mobile on Volla Phone. Best regards, Steve Berson
  • Is Fluffy chat encrypted E2E ?

    Unsolved
    6
    1 Votes
    6 Posts
    1k Views
    TotalRandoT
    @prog-amateur If I remember Pantalaimon isn't in the store; it is a click package. Let me find the link. https://forums.ubports.com/topic/5727/detailed-procedure-for-fluffychat-encryption-via-pantalaimon?_=1628359843604
  • Kill process

    Unsolved
    10
    0 Votes
    10 Posts
    1k Views
    M
    @dobey ok, thanks. I will follow up on that...
  • No caller id on outgoing calls (Volla phone)

    Solved calls outgoing call vollaphone
    3
    0 Votes
    3 Posts
    533 Views
    L
    @applee Thank you very much, it works now perfectly thanks to this.
  • import sms (text messages) from iphone (ios backup)

    Unsolved
    7
    0 Votes
    7 Posts
    1k Views
    F
    @lduboeuf, @kugiigi Thank you, this should get me going! flx.
  • Unable to Install LinPhone

    Unsolved install issue linphone openstore
    3
    0 Votes
    3 Posts
    547 Views
    PrometheusP
    @stanwood - Thank you for the heads-up!
  • This topic is deleted!

    Unsolved
    1
    1
    0 Votes
    1 Posts
    47 Views
    No one has replied
  • Bug Bounty Programs and Funding for Programs/bugs

    8
    1 Votes
    8 Posts
    1k Views
    mateo_saltaM
    @trwidick doing agps is a big job, say it takes a few months and a single developer was capable to do it in that time (might be even bigger, but for this idea lets just say they implement something already available) so a 2 month job is at the very least a $10,000+ type of thing, throwing a $100 at various problems might sound ok but is nothing unless the developer is already doing these things for free. Developers that are working for free just work on things that motivate them.
  • Notifications on Teleports not working

    Solved
    3
    0 Votes
    3 Posts
    339 Views
    C
    @kugiigi Hey thanks, yes I do use that tool, and I am on Dev not RC so, I feel sure that was the problem on the OPO it works fine now. My pixel 3a is workong at the momnet, but only on 3G. I will monitor for a coulple of days.
  • Using ADB with Fairphone 3

    Solved fp3 mirscreencast adb
    5
    0 Votes
    5 Posts
    913 Views
    A
    I just tried out Anbox and it seems to be quite unstable for me. As using apps like Whatsapp is really needed for me I unfortunately will have to revert to Android so I will mark this question as fixed. However, I am quite impressed with Ubuntu Touch in general, keep up the good work! Once Anbox works reliably I might get back to it. Couple of observations: In order to install UB I had first to revert to the original FP3 OS link as I had installed LineageOS before As specified on the phone page, adb and camera did not work SMS and mobile data worked with custom APN for internet USB connection through USB hub to phone and keyboard works HDMI connection to a monitor did not work for me mirscreencast through ssh works but with big latency Anbox was quite unstable, Whatsapp booted on a black screen and Signal booted but I could not set it up