Active Topics

 


Reply
Thread Tools
edp17's Avatar
Posts: 601 | Thanked: 714 times | Joined on Jul 2019 @ UK
#1
Sailfish OS for the Motorola Moto G7 Power (XT1955-5) - (ocean)

Code:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!            Everything you do,               !!
!!      you do at your own peril and risk.     !!
!!                                             !!
!!      I do not bear any responsibility       !!
!!          for your faulty devices.           !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
First I would like to thank mal, elros34, vlad and all the Sailfish OS porter guys who helped me to make this port.
Thank you very much guys!

News 07/10/2024: SFOS 4.6.0.15

Requirements:
Before you start to download anything, please read all this through carefully.
The first requirement is your device must be rooted and you should be able to boot into a custom recovery (preferably TWRP).

Installation instructions:
1. Download all files, LOS17.1 zip, Sailfish OS zip to the external SD card on the phone
2. Download twrp-3.7.0_11-0-ocean.img on your host PC
3. Reboot into bootloader (Hold buttons: Power on + Volume down)
Once the device booted into bootloader, connect it to your PC
Once connected boot into TWRP: on your host execute: fastboot boot twrp-3.7.0_11-0-ocean.img

4. Do a factory reset
5. Format data to remove any encryption or other residues
6. Still in recovery, flash the LOS17.1 image
7. Still in recovery, flash Sailfish Os image
8. Reboot
9. Enjoy the latest (4.6.0.15) Sailfish OS on your Moto G7 Power (ocean).

This Sailfish OS Android HAL is based on LOS 17.1.


Downloads:

Debug/login/troubleshooting:
In Ubuntu, connect USB cable. telnet 192.168.2.15 2323 or SSH defaultuser@192.168.2.15.

How to make a backup/restore with TWRP:
You can boot into TWRP with instruction above and can make backup/restore.

Battery life
In my experience this build gives a very good battery life (In my tests it drops around 5% overnight with wifi on)

Changelog:

07.10.2024
=========
Work:
  • Screen
  • Touch
  • IMEI number detection
  • Sensors
  • GPS
  • Notification LED (white)
  • Wifi
  • USB modes (Developer mode, MTP mode, Charging only mode)
  • Bluetooth
  • Calls incoming/outgoing
  • Messages incoming/outgoing
  • Mobile data
  • External SD card detected and mounted to /run/media/nemo/_sdcard_name_ (where _sdcard_name_ is the name of the sd card when it was formatted like 4B93-785B)
  • Vibra
  • Pixel ratio and icons set to 1.25
  • Audio is routed to headphone if that presents
  • Sound adjusting with volume rockers
  • Apps do start (Firejail/Sailjail)
  • Charging icon displayed properly
  • Camera front/rear (picture & video recording)
  • Video recording (only on the front camera)
  • Jolla store
  • Torch
  • Audio
  • OTA update
  • LXC container (I've tested with installing Debian Bookworm in it)
  • Waydroid (Los 18.1) (please see details here)

Do not work:
  • The device only boot into TWRP with fastboot
  • Fingerprint scanner

Extras:
  • If you want to mount network drive (NAS), install cifs-utils. It's available in device repo, so in Fingerterm execute: devel-su zypper in cifs-utils
  • Desktop Linux distro install/run on the MotoG7 Power:
    Just follow the instruction here Install Debian Bookworwm in LXC
  • Install less outdated firefox engine: Replace esr78 with esr91
  • Install better fonts: High DPI setup aka PixelPerfect by dumol
  • Display Weather forecast on lock screen:
    - Enable weather on lock-screen (on sfos 4.6 it is disabled by default):
    Code:
    dconf write /desktop/lipstick-jolla-home/force_weather_loading true
    - Install MeeCast, MeeCast daemon and MeeCast Event and add a city
  • Update Waydroid system & Vendor images: instruction

Last edited by edp17; 2024-12-05 at 13:23. Reason: Added Waydroid support
 

The Following User Says Thank You to edp17 For This Useful Post:
edp17's Avatar
Posts: 601 | Thanked: 714 times | Joined on Jul 2019 @ UK
#2
Install PixelPerfect by Dumol:
  • Download and unpack in $HOME the PixelPerfect-hidpi-0.4beta2.tar.gz released archive
    Code:
    cd ~
    curl -LO https://github.com/dumol/PixelPerfect/releases/download/v0.4.0beta2/PixelPerfect-hidpi-0.4beta2.tar.gz
    tar xvfz PixelPerfect-hidpi-0.4beta2.tar.gz
  • Amend pixel ratio & icon size
    Code:
    devel-su sed -i 's/theme_pixel_ratio$/theme_pixel_ratio_RENAMED/' /etc/dconf/db/vendor.d/locks/silica-configs.txt
    devel-su dconf update
    dconf write /desktop/sailfish/silica/theme_pixel_ratio 1.1
    dconf write /desktop/sailfish/silica/icon_size_launcher 110.0
  • Set Asap font
    In ~/.config/fontconfig/os/sfos.conf instead of Barlow and its fallbacks, set Asap as UI font (falling back to Roboto and Arimo).
    Also, in Settings->Display->Text Size, "normal" is now actually "small", and you have to set "large" to get "normal" text sizes.
    The only known downside to this change of theme pixel ratio: the “diallers” in the Phone app and the locked screens looking a bit more cramped than they should.
  • Restart homescreen

Source: High DPI setup See steps 2 & 6.

Last edited by edp17; 2024-10-10 at 13:57.
 
edp17's Avatar
Posts: 601 | Thanked: 714 times | Joined on Jul 2019 @ UK
#3
Video recording has fixed. Link has updated to the new build.
 
edp17's Avatar
Posts: 601 | Thanked: 714 times | Joined on Jul 2019 @ UK
#4
I've managed to make Waydroid (18.1) working on the device.

For now it only can be installed with some manual work (I recommend to copy/paste commands in a terminal from PC via ssh, rather than using Fingerterm).
Here is the instruction to follow.

1, Upgrade Sailfish Os configs and kernel for Waydroid support:
[code]devel-su zypper ref
devel-su zypper up
devel-su reboot[code]

2. Install Waydroid and required packages
Code:
devel-su zypper in waydroid waydroid-settings waydroid-gbinder-config-hybris waydroid-sensors python3-gbinder dnsmasq
(Be able to install all of these you'll need Chum repo added and this command will install many other required packages. For getting Chum repo please see first step of this post.)

3. Mask dnsmasq service
Code:
devel-su systemctl mask dnsmasq
4. Initialize Waydroid
Code:
devel-su waydroid init -f
(This will download and extract latest 18.1 system and vendor images, be patient)

5. Download, rename and replace vendor.img
Download this file: vendor.img for 18.1
Once you downloaded, rename vendor181.img it to vendor.img and as root move it into /home/waydroid/images/
(Overwrite the vendor.img in there. This step is required for be able to use the device graphics drivers and camera within Waydroid)

6. Amend some configurations

6.1. Add real graphics drivers. In /home/waydroid/waydroid_base.prop, add these two lines
Code:
ro.hardware.gralloc=msm8953
ro.hardware.egl=adreno
and comment out if there is any of these two:
#ro.hardware.gralloc=default
#ro.hardware.egl=swiftshader
6.2. Amend binders in /etc/gbinder.d/anbox-hybris.conf. The content of this file should be:
Code:
[Protocol]
/dev/anbox-binder = aidl3
/dev/anbox-vndbinder = aidl3
/dev/anbox-hwbinder = hidl

[ServiceManager]
/dev/anbox-binder = aidl3
/dev/anbox-vndbinder = aidl3
/dev/anbox-hwbinder = hidl
6.3. Amend binders in /home/waydroid/waydroid.cfg:
Look for binder, vndbinder and hwbinder lines and amend them to look like this:
Code:
binder = anbox-binder
vndbinder = anbox-vndbinder
hwbinder = anbox-hwbinder
Also in this file double check the protocols which must be aidl3:
Code:
binder_protocol = aidl3
service_manager_protocol = aidl3
6.4. Amend binders in /home/waydroid/lxc/waydroid/config_nodes:
Look for mount entries dev/binder, dev/vndbinder and dev/hwbinder and amend the lines to be like:
Code:
lxc.mount.entry = /dev/anbox-binder dev/binder none bind,create=file,optional 0 0
lxc.mount.entry = /dev/anbox-vndbinder dev/vndbinder none bind,create=file,optional 0 0
lxc.mount.entry = /dev/anbox-hwbinder dev/hwbinder none bind,create=file,optional 0 0
6.5. Turn off lxc.apparmor.profile in /home/waydroid/lxc/waydroid/config:
comment out this line:
Code:
#lxc.apparmor.profile = unconfined
7. Reboot and then go into Settings / Waydroid. Tap on the "Start daemon" button. Wait for a few secs and if it becomes and stays greyed out, then from app grid, tap on the Waydroid icon.
(In here Settings / Waydroid, you can turn on the "Start Waydroid session on bootup" option. This way, after each boot, you only need to tap on the Waydroid icon and it should start.
After boot, shortly after Lipstick is started, my device briefly vibrates which means Waydroid has completed to start.
If you tap on Waydroid icon before the vibration you'll see Waydroid boot animation, otherwise you'll get the homescreen straight away.

Good luck and let me know if you bump into problems and/or has any questions.
 

The Following User Says Thank You to edp17 For This Useful Post:
Maemish's Avatar
Posts: 1,721 | Thanked: 4,765 times | Joined on Apr 2018 @ Helsinki, Finland.
#5
Thank you for your on going service. Personally have never used sailfish but appreciate your work.
__________________
"I don't know how but I can try!" (active)

Master of not knowing (active)

For me it is possible to get lost in any case (active)

Learning to fall from high (DONE)

Learning to code with BASIC (WIP)
 

The Following User Says Thank You to Maemish For This Useful Post:
edp17's Avatar
Posts: 601 | Thanked: 714 times | Joined on Jul 2019 @ UK
#6
How to update Waydroid system and vendor image with keeping real graphics drivers.
  • Download into ~/Downloads the extracted drivers from LOS18.1: vendor181.zip
  • Download into ~/Downloads my update script: upgrade-waydroid181-vendor.sh
  • Set the script executable: [code]chmod +x ~/Downloads/upgrade-waydroid181-vendor.sh[code]
  • Don't extract the downloaded zip file! The script will do that for you.
  • Head into Waydroid Settings/System/Advanced/Waydroid Updater and update the System and Vendor images
    (This will only download the two image files but once that's completed, it will offer to restart Waydroid. This process will take time because behind the scenes the Waydroid Udater is moving the two downloaded images into system.img and vendor.img. This is the point where you lose all your drivers and why you need to run my script to get them back into vendor.img. With a file manager, you can watch these two growing in /home/waydroid/images. You need to wait until the copy finishes.)
  • Once the Waydroid Updater finished, in a command line, as root execute the upgrade-waydroid181-vendor.sh script (This will extract the drivers from zip file, resize vendor.img to 150MB, and copies all drivers into it, then it tidy up and leave you with a vendor.img with all drivers in it.)
  • Start Waydroid session, the UI

I hope this works as I've tested on mine.

Last edited by edp17; 2024-12-13 at 14:32.
 

The Following User Says Thank You to edp17 For This Useful Post:
Reply


 
Forum Jump


All times are GMT. The time now is 01:49.