[Wiki] GeminiPDA with sailfish os community port and sailfishX
asked 2018-06-24 18:27:20 +0200
This post is a wiki. Anyone with karma >75 is welcome to improve it.
Since 22th of June 2018 there is an 'official' flash image of a sailfish os 2.1.4.14 community port at Planet Computers support page.
Edit 2020-06-19
Late, but some addidtional information for the 3.3.0.16 version.
It seems that there are some updates at this version, but no additional features or bug fixes (see Edit 2019-11-24).
There is also no /home encryption for the Gemini PDA available (see question Why is there no /home encryption on GeminiPDA SailfishX?).
End Edit 2020-06-19
Edit 2019-11-24
This will probable be my last edit in this wiki. We have Sailfish 3 version 3.2.0.14 for a while. Updating to new versions is easy with it. But I cannot see any progress. We still have no alien dalvik for the device, Jolla promised for 'Final phase'. I do not believe we will get it in future. But may be Jolla knows more secrets about it. And other features are still missing or buggy, here a partial list (answer calls with gemini is closed, switch microphone, screen orientation, apps orientation, battery drain with wifi, alarm not working). The device is good enough for playing around with sailfish only, but far from be a daily driver since 1.5 years.
End edit 2019-11-24
Edit 2019-08-23
Jolla's SailfishOS releases 3.0.3 and 3.1.0 brought only minor enhancements for the Gemini PDA.
This is in line with Jolla still defining these releases as betas for the Gemini (and hence still charges only € 30,- for a license) and they lack "Android support". Jolla might base Gemini's "Android support" on that for the XA2s, but this seems to require a newer kernel to be used (than 3.18 as currently in SailfishOS; PlanetCom's recent Android images provide a kernel 4.4 for the Gemini).
Supposedly SailfishOS for the Gemini will come out of its beta phase, when these two feats are accomplished.
End edit 2019-08-23
Edit 2019-03-19
The official 3.0.2.8 SailfishX for EA (early access) users is available. Look at release notes. You may subscribe at account.jolla.com to early access.
You can manually update the community port as well (at your own risk: ssu re 3.0.2.8; version --dup). But you will stay with the kernel of the community version.
SailfishX 3.0.1.14
Linux Sailfish 3.18.41 #1 SMP PREEMPT Mon Jan 14 06:59:39 UTC 2019 aarch64 aarch64 aarch64 GNU/Linux
SailfishX 3.0.2.8
Linux Sailfish 3.18.41 #1 SMP PREEMPT Tue Feb 12 23:08:05 UTC 2019 aarch64 aarch64 aarch64 GNU/Linux
You have to build and flash a boot image for the community port manualy if you want to use a new kernel.
ATM I do not know what the changes are; obviously the compile date. But it is still a 3.18.41 kernel like the community port.
End edit 2019-03-19
Edit 2019-02-28
You can buy an official SailfishX from Jollas shop. It comes with 'MS Exchange support', 'Software updates as long as device is supported' and 'Customer support as long as device is supported'. But there is
- no Android 8.1 App Support
- no Predictive text input
- the capacity for rootfs is lower than 2.5GB, maybe cause later update problems
No other linux install option beside official SailfishX possible, because SailfishX uses the linux partition as lvm (logical volume manager) device. (As per description at 'Edit 2019-02-14')
Almost all known issues from the community version are still present. For me it is disappointing, waiting so long and getting not more than a community+ version.
But, maybe buying SailfishX will support the development in the future.
End Edit 2019-02-28
Edit 2019-02-14:
You can select sailfish os (community port 2.1.4.14) in the old Partitioning Tool as 2nd or 3rd boot option. This community port is still usable. It is updateable if you have done the modifications listed below at 'Edit 2018-11-19'.
More Information on Planet Computers support page.
There is a new version available. It needs new flashing. If you want to stay with the community port which is integrated into the linux partition with debian beside it, you should not install the new version.
New since 12th February 2019: A 'community like' SFOS beta (looks like a pre-official version, without EAS, without XT9 and without AlienDalvik) is available. Select it with Partitioning Tool. It is possible to use it as 1st boot option. You can select 0GB for Android, if do not want to use Android / LineageOS.
Tip: If you want to use Android or rooted Android / LineageOS beside SFOS, select Android for 1st boot option. Why? Because updating process and rooting tools like Magisk do not know about boot2 and boot3 and always modify the boot image in boot (1st boot). That will kill your sfos boot image if it is in the 1st boot.
Flashing is easy following instructions from Planet Computers support page Linux_Flasing_Guide. SailfishOS is using the linux partition for itself, there is no more room for linux (debian or kali), because SailfishOS uses lvm (logical volume manager) and the debian or kali do not use lvm.
Making SFOS fully usable after flashing is a bit tricky: The SFOS version flashed is called 3.0.1.13 (for which no online repositories are available, see below) and is a version for cbeta users only.
The missing online repos are causing a couple of annoying symptoms: You cannot use the Jolla Store, you cannot enable developer mode, etc. (i.e., all actions, which need additional RPMs from Jolla's repositories).
But there is a light in every night (just make a jump to the left or set SSU to 3.0.1.14 :-)):
- Start SFOS the first time
- Enable settings -> Untrusted software -> Allow untrusted software
- Download fingerterm latest (armv7hl) by lourens from openrepos.net, click on downloaded message, click on fingerterm in transfers and then on '+' to install it.
- Start fingerterm and execute an
ssu re 3.0.1.14
in there. - Now that the version mismatch is temporarily resolved, creating or entering a Jolla account is possible, to make the Jolla Store usable.
- After logging in to the Jolla Store (seems to require EA rights for this account), enabling developer mode works.
- Become root user per
devel-su
and executessu re 3.0.1.14
again (done as root it is able to set the correct release number permanently in ssu.ini), followed by aversion --dup
to ensure all installed RPMs are for 3.0.1.14 (it might download and install a few RPMs). - Reboot and execute a
pkcon refresh
(as root): You now have a fully working installation of SFOS 3.0.1.14
Conclusion:
- it is beta (most known bugs still there), nice list for 3.0.1.11 is still valid (including: wlan eats the battery).
- Many apps have orientation issues. Use Patchmanager3 with GeminiPDA- or other orientation Patches (e.g. "Allow all orientations" by coderus) to alleviate this.
End Edit 2019-02-14
Edit 2019-01-09: Ok, it is update time again -- but it is a little bit tricky and you need an account for the Jolla store to do it. Because the last community version is 3.0.0.8 and the next version is 3.0.1.11 EA (early access) from Jolla. It is beta and still under development. Read this step by step guide first and if you understand everything you may start. I did it this way and it works for me. Remember, if you are using patches, that there may be no version for 3.0.1.11, because it is not official. If you need your patches do not update. As before every update disable all patches before you start.
If you have debian installed too, an optional backup of sailfishos is very easy before update: Start your debian and use terminal as root to makethe backup as tar archive.
tar --numeric-owner -C /.stowaways -czvf /YOURBACKUPFOLDER/sailfishos.tar.gz ./sailfishos
Lets do the change from community version 3.0.0.8 to Jolla EA version 3.0.1.11 (Device adaptation 0.0.3.10). It is still like community, no aliendalvik, no eas, no xt9. You do it at your own risk just for fun. Start your sailfishos and make all as root in terminal.
1. disable your patches (settings-patchmanager) and disable openrepos repositories
for i in $(ssu lr 2>&1 | grep openrepo | cut -d" " -f3); do ssu dr $i ; done
2. disable community adaptation repos
ssu dr adaptation-community
ssu dr adaptation-community-common
3. delete the files at /usr/share/ssu/features.d/
rm -f /usr/share/ssu/features.d/adaptation-community-common.ini
rm -f /usr/share/ssu/features.d/adaptation-community.ini
4. set releasemode an add repos
ssu re 3.0.1.11
ssu ar adaptation-0 https://store-repository.jolla.com/releases/3.0.1.11/jolla-hw/adaptation-mediatek-geminipda/armv7hl/
ssu ar adaptation-1 https://store-repository.jolla.com/releases/3.0.1.11/jolla-hw/adaptation-mediatek-geminipda-dhd/armv7hl/
version --dup
5. check repositories,
ssu lr
you should find under
"Enabled repositories (global):"
- adaptation0 ... https://store-repository.jolla.com/releases/3.0.1.11/jolla-hw/adaptation-mediatek-geminipda/armv7hl/
- adaptation1 ... https://store-repository.jolla.com/releases/3.0.1.11/jolla-hw/adaptation-mediatek-geminipda-dhd/arm
and if this repos are there, then delete the user repos adaptation-0 and adaptation-1 we created before
ssu rr adaptation-0
ssu rr adaptation-1
the old adaptation-community and adaptation-community-common are still under disabled repos, if they are without url then delete them else they should stay disabled (you can do it with the following commands)
ssu er adaptation-community
ssu rr adaptation-community
ssu dr adaptation-community
ssu er adaptation-community-common
ssu rr adaptation-community-common
ssu dr adaptation-community-common
5. reboot
6. enable openrepos repositories
for i in $(ssu lr 2>&1 | grep openrepo | cut -d" " -f3); do ssu er $i ; done
7. refresh package cache
devel-su pkcon refresh
Check at "Settings->About product" the Device adaptation 0.0.3.10 = done. If it is not 0.0.3.10 something went wrong and you may have lost sensor functionality and more.
on error If something or everything wents wrong, its time to restore your backup. Start your debian and use terminal as root to make the restore from tar archive.
tar --numeric-owner -C /.stowaways -xzvf /YOURBACKUPFOLDER/sailfishos.tar.gz
Reboot to your Sailfishos community version.
End Edit 2019-01-09:
Edit 2018-06-30: Since 26th of June it is possible to set android space to 0 in the Partitioning Tool and use debian as boot1 and sailfishos as boot2 and boot3. You will get a 'LinuxOnly' scatter file. I flashed my x25 geminipda with the 'Gemini_x25_LinuxOnly.txt' and have a device without android now.
I read, that x27 users have to use android to select the SIM first, before sailfishos is working. Maybe 'LinuxOnly' is not working on x27. If you have a x27 and flashed a working 'LinuxOnly', please add it to this wiki or write a comment.
End Edit 2018-06-30:
Edit 2018-11-19: Community Port Version 3.0.0.8 is ready to install (state is testing).
/usr/share/ssu/features.d/adaptation-community.ini
[adaptation-community]
repos = adaptation-community
pattern = Feature community adaptation
description = Enable ssu for community ports
[repositories]
adaptation-community = http://repo.merproject.org/obs/nemo:/testing:/hw:/planet:/geminipda/sailfishos_%(release)/
/usr/share/ssu/features.d/adaptation-community-common.ini
[adaptation-community-common]
repos = adaptation-community-common
pattern = Feature adaptation community common
description = Common packages needed by community's HW adaptation
[repositories-release]
adaptation-community-common = http://repo.merproject.org/obs/nemo:/testing:/hw:/common/sailfishos_%(release)/
start the update to 3.0.0.8:
ssu re 3.0.0.8
pkcon refresh
version --dup
sync
reboot
Maybe you have to disable openrepo repositories for update and revert some patches (i have installed non of the patches).
The system works as expected. But sometimes WLan did not work and i have to reboot. Also the landscape bug is not fixed (not on startup screen nor on settings). I think adapting it from the table version should be some kind easy (but i'm no a programming geek) ..
Terminal rotates most times fine on startup (may be the sensor calibration did not work always exactly).
Other hints show below on older versions.
End Edit 2018-11-19:
Problems with the community version:
- Permanent deauth and reauth of wifi starts if display turns off and eats my battery.
- Display standard is landscapeInverted. It turns to early to landscape and all is upside down.
- The geminipda should switch microphone and speaker if you turn it over on a call. With sailfishos it does not.
- More telephony quirks. You have to open it to answer a call or make one, and the silver button does nothing. It should be at least possible to answer an incoming with a closed clam shell.
- External speaker still on when headphones plugged in
Possible first steps after installing the community edition:
Warning: A lot of these things change your system. An Error might ruin your Installation. You have been warned.
Openrepos
As with every Sailfish OS system, you'll find most applications on openrepos.net. To make installing apps easy, the following steps will help:
- In Settings, enter the "Untrusted Software" section and enable the installation. Read the warnings carefully.
- Navigate to https://www.openrepos.net and search for "storeman". Find the most recent version and download it. Tapping on the "finished" notification will bring you to the list of downloads. Tap the .rpm file to install it.
Applications with added keyboard functionality for gemini pda
Webcat bb10 key shortcuts for the browser.
- P - Previous,
- N - Next,
- K - Bookmarks,
- Q - Tabs,
- W - New Tab,
- Shift+W - New Window,
- T - Scroll to top,
- B - Scroll to bottom,
- A - Add to bookmarks,
- L - Reload page.
Piepmatz key shortcuts for the Twitter client:
- 1-6 - Tabs (Timeline, Notifications, ...)
- [cursor up/dn] - Scroll tweet up/dn
- t - Top
- b - bottom
- [cursor left] | ESC - back
- N - New tweet
- R - Refresh
- S - Settings
- A - About
- [Enter] inside a tweet - Show thread
Special commands for gemini pda*
Turn wifi off
echo "0" > /dev/wmtWifi
if you done so you have to turn it on before you can use it again
echo "1" > /dev/wmtWifi
LED control
echo "<ledNo.> <red> <green> <blue>" > /proc/aw9120_operation
values: - ledNo. [1..6] - red: [01] - green [01] - blue [01] LEDs 1 to 6 have RGB, example
echo "1 1 0 0" > /proc/aw9120_operation # LED1 turns red
echo "1 0 1 0" > /proc/aw9120_operation # LED1 turns green
echo "1 0 0 1" > /proc/aw9120_operation # LED1 turns blue
echo "1 0 0 0" > /proc/aw9120_operation # LED1 turns off
you may combine colors by yourself setting RGB at the same time to 1.
LED7 is different and has only RBx as parameters you can set it to red, blue, violet and off.
echo "7 1 0 0" > /proc/aw9120_operation # LED7 turns red
echo "7 0 1 0" > /proc/aw9120_operation # LED7 turns blue
echo "7 1 1 0" > /proc/aw9120_operation # LED7 turns violet
echo "7 0 0 0" > /proc/aw9120_operation # LED7 turns off
Funzel uses gemini pda LEDs for visualisation of incoming calls.
Patchmanager
If you know what you're doing, installing coderus' Patchmanager (from openrepos) enables you to change many facets of the system. If you kind of know what you're doing you can use premade patches to make your life easier:
- Search for and install "Patchmanager 2" from coderus via the storeman application. Alternatively, you may try the beta of "Patchmanager 3", which uses a new method of changing files in memory instead of on the disk.
Landscape Mode
After boot, everything will be sideways until you turn the device a bit.
If you have installed 'patchmanger 3' and do not want to change some system files install 'Default allowed orientations patch' from 'elros34' using the patchmanger webcatalog.
Set the allowed orientation from terminal this way
dconf write /desktop/sailfish/silica/default_allowed_orientations 8
Everything is done after a restart of lipstick or reboot. You have not to edit the system files.
If you have not installed patchmanger 3 or like to change system files do this: As root (devel-su):
vi /usr/lib/qt5/qml/Sailfish/Silica/Page.qml
→ inside function _updatePageOrientation()
, replace pageOrientation = desiredPageOrientation
with pageOrientation = Orientation.LandscapeInverted
FingerTerm will be rotated weirdly, but you can use ToeTerm as an alternative. If you can not live without FingerTerm, more changes are needed (also as root):
vi /usr/share/fingerterm/Main.qml
→ inside Item { id: page …,
replace property int orientation: forceOrientation ? forcedOrientation : Screen.orientation
with property int orientation: forceOrientation ? forcedOrientation : 8
Micro SD card
to use a micro sd card, open the terminal and install the required package with pkcon install sd-utils (older SFOS, newer versions should have udisks2 installed per default instead) then reboot.
Updates (you can do it at your own risk)
The default image can be updated from OBS. The 'Problems with this early community version' described above will remain. Some x27 users told on telegram, that the 'wifi bug' is solved (read at 2.2.1.18 update about my experience on a x25 device).
update to 2.2.0.29 (state is testing):
- new: usb stick automount via otg out of the box
as root:
vi /usr/share/ssu/features.d/adaptation-community-common.ini
change this line:
adaptation-community-common = http://repo.merproject.org/obs/nemo:/devel:/hw:/common/sailfish_latest_%(arch)/
to:
adaptation-community-common = http://repo.merproject.org/obs/nemo:/testing:/hw:/common/sailfishos_%(release)/
If do not change from devel: (state: unstable) to testing: (state: testing) you get trouble with your sensorfw (sensors not working, only a software problem). Before next step you can verify that the change is done with:
ssu lr
start the update to 2.2.0.29:
ssu re 2.2.0.29
pkcon refresh
version --dup
sync
reboot
update done.
update to 2.2.1.18 (state is unstable):
- new: wifi bug fixed, on x25 network freeze after a while (read all before update)
as root:
vi /usr/share/ssu/features.d/adaptation-community-common.ini
change content to:
[adaptation-community-common]
repos = adaptation-community-common
pattern = Feature adaptation community common
description = Common packages needed by community's HW adaptation
[repositories-release]
adaptation-community-common = http://repo.merproject.org/obs/nemo:/devel:/hw:/common/sailfish_latest_%(arch)/
Next
vi /usr/share/ssu/features.d/adaptation-community.ini
change content to:
[adaptation-community]
repos = adaptation-community
pattern = Feature community adaptation
description = Enable ssu for community ports
[repositories]
adaptation-community = http://repo.merproject.org/obs/nemo:/devel:/hw:/planet:/geminipda/sailfish_latest_%(arch)/
Before next step you can verify that the change is done with:
ssu lr
start the update to 2.2.1.18:
ssu re 2.2.1.18
pkcon refresh
version --dup
sync
reboot
Some x27 users told, that the 'permanent deauth reauth wifi bug' is fixed with the 2.2.1.18 update. On my x25 early bird the bug is gone too, but after a while the network dies. Symptom: I cannot switch wifi on/off, cannot switch flight mode on/off and have to restart network or reboot.
Responsible is 'sailfish-connman-plugin-suspend-wmtwifi-0.0.2-1.3.1.jolla.armv7hl.rpm' that suspends the wifi. I decided to deinstall it.
devel-su pkcon remove sailfish-connman-plugin-suspend-wmtwifi
The 'permanent deauth reauth wifi bug' ist back, but the network is working all the time. To save battery life switch wifi off manualy before the display turns off.
update done.
Useful patches
'Launcher combined patches' – lets you customise, for example, the number of rows/colums in the application grid, which is really nice on the 2:1 aspect ratio. You may have to install the forked version from openrepos if you are on SFOS 2.1
'Default allowed orientations patch' – fix the orientation (look above at Landscape Mode)
From the link: "... Sailfish OS Community edition..."
Is that a formal term (like versus "Enterprise Edition")? If so, what's the difference between the community edition and the version that I have running on my Jolla 1?
Éibhear ( 2018-06-25 11:56:56 +0200 )edittypically it signifies lack of First Party support from Jolla, as well as lack of paid for proprietary things like alien-dalvik and exchange support
r0kk3rz ( 2018-06-25 12:14:34 +0200 )editHello, i installed the devel SF3 (version 3.0.0.5) on my Gemini PDA (as i wrote below).
Now i read at the Jolla blog that a beta version (3.0.0.8) will be provide later this year.
Did this mean, that this beta version is the further development of community version on http://repo.merproject.org/obs/nemo:/devel:/hw:/planet:/geminipda/sailfish_latest_armv7hl/ (or on the testing tree)? Or is there an other project on Jolla or Gemini side?
The version 3.0.0.5 works quite fine, but with some restrictions to the landscape mode. This should be corrected for the OS side at version 3.0.0.8 (as i read).
But some apps seems not to use standard rotate mechanism (as i see on my tablet). I hope the developer of this apps also will correct this behaviour ;-).
gabs5807 ( 2018-11-10 11:47:07 +0200 )editMany thanks for the info. I updated to 3.0.1.11 as described and it worked for me ;-).
gabs5807 ( 2019-01-12 14:38:08 +0200 )editIs it possible to set bootloader order: boot1 - Debian; boot2 - official SailfishX; boot3 - Android or nothing?
Or: boot1 - official SailfishX; boot2 - Debian; boot3 - Android or nothing?
orol ( 2019-02-28 14:51:27 +0200 )edit