Jump to content

Pro1x with SailfishOS


Recommended Posts

Adam helped me to get Waydroid to work!

20220815_221338_1920.thumb.jpg.ed8565c4dd4873df10fd03255713b9c4.jpg

20220815_221341_1920.thumb.jpg.5afd04f2cd27f8754d1b6c163f28fc2d.jpg

20220815_221345_1920.thumb.jpg.34020b9928cd25bdbfde1da46d6946c2.jpg

 

And shadow.tech works in Waydroid (no sound nor keyboard, though, so it's somewhat limited):

IMG_20220816_024215_808_1920.jpg

IMG_20220816_024923_511_1920.thumb.jpg.1a994152383d71a5788eb979c1ef9874.jpg

IMG_20220816_024908_089_1920.thumb.jpg.dfd4801bba24663ccd734ffa2c97a56b.jpg

 

See how to get Waydroid to run on SFOS and what doesn't work: https://github.com/sailfish-on-fxtecpro1/droid-config-halium-qx1050/issues/1#issuecomment-1215734546

The current list of issues after just one hour of use:

  • Camera doesn't work (who cares? But it shows that some hardware is not visible to Waydroid)
  • Vibration does not work
  • Landscape rotation is borked (it just stretches everything)
  • Hardware keyboard does not work (but with the landscape issue, there's little use for it anyway)
  • Could not copy/paste text from the default browser, but text selection and copy works well in Fennec (from F-droid)
  • Adding repos to F-droid makes the application crash; prevents installing microG, among others
  • Closing Waydroid breaks SFOS which has to be hard rebooted

However it works well enough for me to be able to install one Nneobank application (which probably doesn't have too strong requirements). Another one installed fine, but throws errors when I log in (I suppose it needs Google Services or microG).

 

 

Edited by matf
  • Like 2
  • Thanks 3
Link to post
Share on other sites
  • Replies 130
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Following @esialb's thread on Ubuntu Touch, here's one showing that SailfishOS works too: ——— Instructions: - First and foremost, backup your "persist" partition

LXC containers work (with Xsession, but the setup is not as user friendly as it was on Pro1 in 2020😞 Still no luck with Waydroid despite my attempts, but theoretically this shou

Adam helped me to get Waydroid to work!   And shadow.tech works in Waydroid (no sound nor keyboard, though, so it's somewhat limited):   See how

Posted Images

8 hours ago, ducksoup said:

Great progress, @matf!  Is there any way to acquire the Android image linked in that post without using Telegram?  I don't have a Telegram account.

Check here: https://github.com/UbuntuTouch-vayu/waydroid_11/releases

Sorry I missed your previous message asking for that when I was away. Would be interesting to see if that works for you with the UT boot.img.

Link to post
Share on other sites
19 hours ago, matf-kabouik said:

Check here: https://github.com/UbuntuTouch-vayu/waydroid_11/releases

Sorry I missed your previous message asking for that when I was away. Would be interesting to see if that works for you with the UT boot.img.

Thanks for the link.  I made a little bit of progress following your process, but step 8 fails with 'ERROR: Binder node "binder" for waydroid not found', which I suspect is due to running the Ubuntu kernel.

I am still unable to get my device to boot either Ubuntu Touch or Sailfish with any UT kernel newer than 2807435728, even after I do a complete stock Android reflash, even using the official QFIL tool.  So of course I have concerns that it also won't boot with the kernel you've been testing out.

Link to post
Share on other sites

spacer.png

https://github.com/Kabouik/harbour-containers

My PR to harbour-containers has been merged, it should now work much better than the upstream one that was using qxdisplay and, most of all, could no longer configure X in new containers properly. 

Instructions have been simplified, with just 3 packages to install from one single place (and hopefully from Chum app store soon, I'll submit them today), better default settings for X scaling and Onboard vkb, and most of all without the need to tweak things manually to debug container creation.

- 3 packages to install from a single OBS repo,
- no need to manually debug things when creating a debian-based container or work around the Xwayland compilation,
- dynamic rotation,
- sane default settings for X scaling and Onboard (for non-hwkb devices),
- simplified instructions,
- new icon :O,
- no polkit prompts for nothing after boot.

Unfortunately, only armv7hl and aarch64 are supported. We used to manually patch sources of Xwayland and build from that, which broke when Xwayland dropped support for autotools. I fixed that issue and the compilation step in the installation script now would work, but it appears that Xwayland sources no longer support a protocol that we need for SailfishOS, so I just plain and simple disabled that whole part of the installation (it's still there in /usr/share/harbour-containers/scripts/guest/setups/debian.sh, but commented out, if some want to play with it). That means we're back to just fetching binaries that were pre-built in 2020, and we only have armv7hl and aarch64 available sadly.

I'll make another post if some important changes are made, or if this makes it to the Chum repository for easier installation.

X looks like this at first boot now, which should definitely be a lot more usable (but I still advise to configure things to set up as many keybindings as possible to manipulate the WM):


Screenshot_20220817_005.thumb.png.adc44ef96723693478af4e1527526c85.pngScreenshot_20220817_004.thumb.png.c927511f0aaf2007199335b5ee9e6b02.png

Edited by matf-kabouik
  • Like 2
Link to post
Share on other sites
23 hours ago, ducksoup said:

Thanks for the link.  I made a little bit of progress following your process, but step 8 fails with 'ERROR: Binder node "binder" for waydroid not found', which I suspect is due to running the Ubuntu kernel.

I am still unable to get my device to boot either Ubuntu Touch or Sailfish with any UT kernel newer than 2807435728, even after I do a complete stock Android reflash, even using the official QFIL tool.  So of course I have concerns that it also won't boot with the kernel you've been testing out.

I can share with you the kernel 1.6.1 from Adam (later versions that can be downloaded from his repo break the keyboard mapping so I don't advise them), but if you're not too much in a hurry, it might be best to just wait until he comes back from holidays and updates it with working mapping improvements.

  • Like 1
Link to post
Share on other sites
36 minutes ago, matf-kabouik said:

I can share with you the kernel 1.6.1 from Adam (later versions that can be downloaded from his repo break the keyboard mapping so I don't advise them), but if you're not too much in a hurry, it might be best to just wait until he comes back from holidays and updates it with working mapping improvements.

No hurry here.  This is all just for fun at this stage (although eventually, once the dust settles, I do think SFOS as host OS with containers for Linux and Android would be an ideal setup).

I'm pretty busy today anyway, although perhaps later I'll try out some Adam's kernels and at least see if I can get them to boot.  Bad keymaps may be the least of my worries.  😉 

  • Like 1
Link to post
Share on other sites

What is the current status of SFOS on Pro-1[X]? Last time I used it (Jolla) even copy&paste was barely existing. Smartwatches that needed Android apps also did not work, as Android apps did have access to internet, but could not use bluetooth. Any updates on that front?

  • Like 2
Link to post
Share on other sites
On 8/20/2022 at 7:43 AM, Logan said:

I'd love to consider this over LOS, but would have to get to the point I could use it as a daily driver (camera, calls, wifi, text, F-Droid and Google Play apps).  I'll keep an eye on SailfishOS.

Camera works for still images, calls work, WiFi works (but see potential issue in the FP), texts work, MMS work, F-Droid works in Waydroid but I couldn't add custom repositories because F-Droid would crash, I have not tried Google Play apps.

 

On 8/20/2022 at 12:52 PM, fxnoma said:

What is the current status of SFOS on Pro-1[X]? Last time I used it (Jolla) even copy&paste was barely existing. Smartwatches that needed Android apps also did not work, as Android apps did have access to internet, but could not use bluetooth. Any updates on that front?

Copy/paste works fine in Sailfish, what's difficult is to transfer the clipboard from native apps to Alien Dalvik or Waydroid ones, or to LXC of course. I remember that copy/pasting from emails was not trivial (we had to go into edit mode to copy text), I don't know if that's still the case because I read my emails in my LXC container now. 

I cannot comment about Smartwatches. Pretty sure @mosen can, but he's still not daily driving SailfishOS on his Pro1x because he's using Android to sort out the backup/restore circus. I know that giving Bluetooth access to Alien Dalvik apps has always been an issue, but this could be different with Waydroid; probably not in that early stage though.

On other fronts, harbour-containers is undergoing testing in Chum repo so that will soon be a one-tap install (not available in the main repository yet, we found a couple non-critical bugs we'd like to resolve before pushing to the main repository). Meanwhile, I'm also working on making Arch containers available out of the box:

spacer.png

  • Like 2
Link to post
Share on other sites

@fxnoma Like Kabouik mentioned, Android sync apps will not work since the SailfishOS android layers do not support to relay bluetooth to the system.
On the native sync client side we have Adams Amazfish, originally written to support Amazfit products. But adam maded it nicely modular and now the PineTime and bangle.js are supported as well.
https://github.com/piggz/harbour-amazfish
Then there is rockpool, providing support for all pebbles. I used that on the Pro¹ for some time.
You might have heard of AsteroidOS, a full linux replacement to WearOS on 19 supported watches. The pitty, tho being extremely similar to SailfishOS, a sync client has not been succesfully developed. Its ongoing since 3 years now but Jolla put some sticks between devs legs. At some point AOS watches might just be supported by Adams Amazfish before a dedicated ASO sfos client is ready.

Anyway, no hope for all those WearOS watches that rely on the WearOS sync app.

 

  • Like 2
Link to post
Share on other sites

After Playing a little bit around on SFOS, the virtual touch keyboard isn't shown anymore when I focus on text inputs. Just the numeric keyboard to enter the security pin is still shown. The hardware keyboard still does work.

Has anybody an idea how to get it working again? Changing layouts, installing the dolphin keyboard and such things don't have any effect.

I tried to kill the maliit-server on the shell and restart it manually, I get some error messages:

 

WARNING: bool MIMPluginManagerPrivate::loadPlugin(const QDir&, const QString&) Error loading plugin from "/usr/lib64/maliit/plugins/libmaliit-keyboard-plugin.so" "The shared library was not found."
library "eglSubDriverAndroid.so" not found
WARNING: invalid inputhandler for Xt9InputHandler.qml, forcing paste input handler
WARNING: invalid inputhandler for Xt9InputHandler.qml, forcing paste input handler
WARNING: input handler instantiation failed for Xt9InputHandler.qml: file:///usr/share/maliit/plugins/com/jolla/Xt9InputHandler.qml:-1 File not found

WARNING: input handler instantiation failed for Xt9InputHandler.qml: file:///usr/share/maliit/plugins/com/jolla/Xt9InputHandler.qml:-1 File not found

WARNING: invalid inputhandler for Xt9InputHandler.qml, forcing paste input handler
WARNING: invalid inputhandler for Xt9InputHandler.qml, forcing paste input handler
WARNING: invalid inputhandler for Xt9InputHandler.qml, forcing paste input handler

 

But none of the maliit-related RPM package neither include the missing libraries, nor the listed qml file.

Has anybody an idea what may be wrong?

  • Like 1
Link to post
Share on other sites
On 8/24/2022 at 2:05 AM, GoaSkin said:

Yes, this is expected with the UT kernel and current SailfishOS configuration. What happened is I submitted a PR to the Sailfish configuration that aims at complying with Adam's kernel, but the things that changed work in the opposite way with UT's kernel. So, if you are using the UT kernel (current instructions in the FP), then you have to revert the changes in these two files (edit them so that they look like the left panel):

https://github.com/sailfish-on-fxtecpro1/droid-config-halium-qx1050/pull/4/files

Alternatively, you can try using Adam's kernel, which allows using Waydroid, but is still experimental. I'm still not sure where the latest version is because this was built 10 days ago and I think Adam tried another one since (the 1.9.1 in the link boots fine but breaks the keymap). When the actual URL is clarified, you can try it with:

fastboot flash boot_a boot.img
fastboot flash dtbo_a dtbo.img # Note the extra step compared to the UT kernel
fastboot set_active a
fastboot flash userdata userdata.simg

 

Edited by matf-kabouik
Link to post
Share on other sites

I tried out Adam's latest kernel tonight, and I'm glad to report that although I still can't get the more recent UT kernels to boot, Adam's does boot, and also I've got Waydroid up and running just fine.  Whether or not it's in a usable state is a different question of course.  🙂 

 

  • Like 1
  • Thanks 2
Link to post
Share on other sites

Thanks a lot. That was it. I wasted a lot of time because I thought the reason is maliit, mce or libstick.

I will try adams kernel soon. Is it necessary to make a backup of the dtbo partition to keep it possible to re-install the stock android?

Furthermore , I realized that video playback isn't possible if the UT kernel is used (any app starting a video crashes). Will a replacement of the kernel fix this or are there bugs on the userdata image to be solved?

  • Like 1
Link to post
Share on other sites
On 8/16/2022 at 12:27 AM, matf-kabouik said:

Adding repos to F-droid makes the application crash; prevents installing microG, among others

I just added the microG repository to F-Droid with no problem at all.  Seemed to work identically to native Android.

  • Like 3
Link to post
Share on other sites
15 hours ago, GoaSkin said:

Thanks a lot. That was it. I wasted a lot of time because I thought the reason is maliit, mce or libstick.

I will try adams kernel soon. Is it necessary to make a backup of the dtbo partition to keep it possible to re-install the stock android?

Furthermore , I realized that video playback isn't possible if the UT kernel is used (any app starting a video crashes). Will a replacement of the kernel fix this or are there bugs on the userdata image to be solved?

We should know by tomorrow if Adam's kernel update works out of the box, with even an install script to simplify the process. I'll post an update here and edit the FP when this is confirmed.

No need to back dtbo up, it's not unique to devices.

Yeah, the video (playback and recording) problem is a known issue, it's listed in the FP, but I don't know if Adam knows where it comes from (or if it is a priority). I expect it may just be some configuration file to edit to properly set hardware decoding/encoding, but I am not sure. I really want to get audio working in LXC because this would usually be my preferred way of watching short videos, using mpv (it can drop frames on VP9, but otherwise was acceptable to me).

 

6 hours ago, ducksoup said:

I just added the microG repository to F-Droid with no problem at all.  Seemed to work identically to native Android.

That's good to know. I have no idea why it doesn't work for me then, we used the same images, weird. You'll see that the camera works in Waydroid too (I didn't try recording by the way), but so far I haven't managed to get any GPS satellite in view, I'm afraid it might not work yet.

Link to post
Share on other sites

I also managed to install Waydroid now. By installing the Aurora Store, most Google Play apps I used before also run well.

But if an application uses the built-in Android browser for authentification issues, the browser just shows an error page that a proprietary app-specific URL scheme isn't supported. A possible workaround is to deactivate the built-in Android browser in the Android system settings and to install Microsoft Edge from the Aurora store. If the apps use Edge for online authentifications, it works. Google Chrome isn't installable due to a missing library.

My other experience with Waydroid so far:

- showing web pages with an Android browser is a little bit slower but almost usable

- while Waydroid is running, the built-in SFOS linux shell is still accessible by SSH but the console becomes very slow. But the uptime command reports values around 0.5

- if you try to reboot the phone using the reboot command, no reboot happens. You need to perform a reset with using power button then. I believe the shutdown process doesn't finish.

- after a reboot of the phone, I have to repeat to chmod the binderfs/*puddle* files and to create the symbolic links for them. Otherwhile, the waydroid start hangs at

[FullUI] [14:47:13] Failed to get service waydroidplatform, trying again...

The message is repeated secondly a few times before the phone crashes.

 

Edited by GoaSkin
  • Thanks 2
Link to post
Share on other sites

I experience the issues with rebooting the phone when Waydroid has been started (and also the whole OS freezes when we close Waydroid), but I do not have to redo the chmod step at every boot, there must be something missing in your initial Waydroid installation.

Edited by matf-kabouik
Link to post
Share on other sites

harbour-containers is now in the Chum repository, hence easy to install!

spacer.png

Please let us know if there are any issues (but check the known issues first), preferably as issues in the repositories so that we get notifications. 

It's only tested by me so far, and on a single device, so I hope it will work well enough for other devices.

Edited by matf-kabouik
Link to post
Share on other sites
  • 2 weeks later...

Hello,

 

I got video playback working by creating a file:  /etc/gst-droid/gstdroidcodec.conf

 

with the following content (as mentioned as a quirk for the old Pro1x):


[decoders]
video/hevc=1

[decoder-quirks]
video/mp4v-es=use-codec-supplied-height;use-codec-supplied-width
video/avc=use-codec-supplied-height;use-codec-supplied-width

 

The directory does not exist. You must create it before creating the file. After creating the file, I ran as root dconf update , deleted /home/defaultuser/.cache/gstreamer-1.0/registry.aarch64.bin and rebooted the device.

After rebooting, the LLsvPlayer plays videos fluently but if the Browser is going to play an embedded video, it still crashes.

Can anybody confirm this?

If not, please try also to repair the broken codec links in /etc:

lrwxrwxrwx    1 root     root            35 Sep  2 14:05 /etc/audio_platform_info.xml -> /system/etc/audio_platform_info.xml
lrwxrwxrwx    1 root     root            36 Sep  7 18:35 /etc/media_codecs.xml -> /android/vendor/etc/media_codecs.xml
lrwxrwxrwx    1 root     root            35 Sep  2 14:05 /etc/media_codecs_ffmpeg.xml -> /system/etc/media_codecs_ffmpeg.xml
lrwxrwxrwx    1 root     root            49 Sep  7 18:37 /etc/media_codecs_google_audio.xml -> /android/vendor/etc/media_codecs_google_audio.xml
lrwxrwxrwx    1 root     root            46 Sep  7 18:37 /etc/media_codecs_google_c2.xml -> /android/vendor/etc/media_codecs_google_c2.xml
lrwxrwxrwx    1 root     root            52 Sep  7 18:37 /etc/media_codecs_google_c2_audio.xml -> /android/vendor/etc/media_codecs_google_c2_audio.xml
lrwxrwxrwx    1 root     root            52 Sep  7 18:37 /etc/media_codecs_google_c2_video.xml -> /android/vendor/etc/media_codecs_google_c2_video.xml
lrwxrwxrwx    1 root     root            53 Sep  7 18:37 /etc/media_codecs_google_telephony.xml -> /android/vendor/etc/media_codecs_google_telephony.xml
lrwxrwxrwx    1 root     root            49 Sep  7 18:37 /etc/media_codecs_google_video.xml -> /android/vendor/etc/media_codecs_google_video.xml
lrwxrwxrwx    1 root     root            52 Sep  7 18:37 /etc/media_codecs_google_video_le.xml -> /android/vendor/etc/media_codecs_google_video_le.xml
lrwxrwxrwx    1 root     root            48 Sep  7 18:37 /etc/media_codecs_performance.xml -> /android/vendor/etc/media_codecs_performance.xml
lrwxrwxrwx    1 root     root            38 Sep  7 18:36 /etc/media_profiles.xml -> /android/vendor/etc/media_profiles.xml
lrwxrwxrwx    1 root     root            35 Sep  7 18:38 /etc/mixer_paths.xml -> /android/vendor/etc/mixer_paths.xml

This step is probably senseless but that is what I tried first and didn't solve the problem. But maybe, it is also required; I don't know.

  • Like 1
  • Thanks 1
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Terms