PDA

View Full Version : SailfishOS on Motorola Droid 4 XT894 (alpha port)


TheKit
2017-03-04, 08:37
This is a testing version port of SailfishOS to Motorola Droid 4 (maserati), based on CyanogenMod 11.0.

What works:

Graphics
Sound
Mobile data and calls
Wi-Fi
Camera (for taking photos/videos)
Hardware keyboard


Known issues:

Video recording doesn't work yet
Bluetooth discovery works, but no proper connection
CDMA networks are completely untested and probably don't work
No FM radio


Installation:
It's intended to work with SafeStrap (https://forum.xda-developers.com/droid-4/development/wip-safestrap-3-75-unused-partitions-t3023932), due to device's non-unlockable bootloader. SailfishOS install/init scripts were modified to allow booting from secondary slots and safe rom slot.


Boot to SafeStrap recovery and switch to the slot you want to use
If it's not a new slot, please wipe data/system to avoid potential issues. Don't install it to stock slot. Stock slot install is fixed now, but please be careful and have device fully charged.
Flash cm-11-20160104-UNOFFICIAL-maserati.zip (http://droid.cs.fau.de/cm-11.0/unofficial/cm-11-20160104-UNOFFICIAL-maserati.zip)
Flash sailfishos-maserati-release-2.1.0.11-test.zip (http://sfos.scanf.su/maserati/sailfishos-maserati-release-2.1.0.11-test.zip) on top of it


Photos:
https://puu.sh/utCpx/8bfa61de11.jpg
https://puu.sh/utCn9/77a26a13a1.jpg

Thanks to carepack, who initially started the port, and all the great people at #sailfishos-porters and SailfishOS community.

26.04.17 update:
New image with SailfishOS 2.1.0.11.
(http://sfos.scanf.su/maserati/sailfishos-maserati-release-2.1.0.11-test.zip)
A lot of small but troublesome issues mentioned in the topic fixed.
Video recording works now.


08.04.18 update: SailfishOS 2.1.3.7 (http://sfos.scanf.su/maserati/sailfishos-maserati-release-2.1.3.7-rel2.zip)

There is no update path from older image yet, I'm still waiting for OBS to be set up for the device.

nthn
2017-03-04, 11:35
Getting a Bluetooth keyboard to work on a device with a keyboard built in is probably not very important anymore. Thanks for expanding the reach of Sailfish!

mautz
2017-03-04, 13:26
Nice work!

matemana
2017-03-04, 14:53
Great work!

m4r0v3r
2017-03-04, 15:42
where did you buy the phone from?

TheKit
2017-03-04, 16:04
where did you buy the phone from?
Bought it from eBay (this seller (http://www.ebay.com/itm/172494846971)) and used Russian forwarding company to send it from USA to Russia, since the seller doesn't send here and often it's actually cheaper than seller shipping directly.

m4r0v3r
2017-03-05, 01:02
Bought it from eBay (this seller (http://www.ebay.com/itm/172494846971)) and used Russian forwarding company to send it from USA to Russia, since the seller doesn't send here and often it's actually cheaper than seller shipping directly.

my days its $24.

matemana
2017-03-05, 11:20
my days its $24.

That's why they use prices like that. It's 25$ not 24!

That works pretty well. For only 299$ it's 300 not 200 and something :D

moodroid
2017-03-05, 17:29
Hi TheKit,

Thank you so much for this - excellent work, and great to have a new OS to try on my Droid 4.

Were you able to access the phone's internal storage or an external SD card at all? I'm not sure whether it's me not knowing what I'm doing, or something that hasn't been implemented yet?

Thanks

TheKit
2017-03-05, 18:04
Hi TheKit,
Were you able to access the phone's internal storage or an external SD card at all? I'm not sure whether it's me not knowing what I'm doing, or something that hasn't been implemented yet?
Hasn't been implemented yet. Actually internal storage is mounted for SafeStrap to /ss folder. To access it as nemo user, set developer password, go to terminal and:

devel-su
usermod -a -G media_rw nemo
reboot

I will fix this in new build. As for external SD, it probably won't mount yet due to OS considering mmcblk0 (external SD) as internal storage and mmcblk1 (phone NAND) as external storage, since it's usually the other way around. I'll look for workaround for this.

moodroid
2017-03-05, 20:15
Excellent, thanks - that's that problem solved!
I know this is only a test version, so hope you don't mind me asking questions? Please ignore if you don't have time...
I can connect to my wifi fine, but when I try and use the included browser, it won't connect to anything, and I don't seem to be able to ping anything from the terminal - did that work for you?

TheKit
2017-03-06, 06:25
Excellent, thanks - that's that problem solved!
I can connect to my wifi fine, but when I try and use the included browser, it won't connect to anything, and I don't seem to be able to ping anything from the terminal - did that work for you?
Please check what is inside /etc/resolv.conf. If it's empty or has 127.0.0.1 as nameserver, add your router DNS or Google DNS there (echo "nameserver 8.8.8.8" > /etc/resolv.conf).

moodroid
2017-03-06, 09:04
Please check what is inside /etc/resolv.conf. If it's empty or has 127.0.0.1 as nameserver, add your router DNS or Google DNS there (echo "nameserver 8.8.8.8" > /etc/resolv.conf).

Hi, thanks, but still no joy, sorry. I should have been more clear in my original message. I couldn't ping 8.8.8.8 before or after changing resolv.conf, so don't think it's dns related?

TheKit
2017-03-06, 11:50
Hi, thanks, but still no joy, sorry. I should have been more clear in my original message. I couldn't ping 8.8.8.8 before or after changing resolv.conf, so don't think it's dns related?
Hi. That's weird, Wi-Fi or mobile data connection works on mine device. Can you please check the output of ip addr and ip route?

moodroid
2017-03-06, 12:52
Thanks. I think I've managed to fix this now by changing the entries in /etc/group to:

inet:x:3003:root
net_raw:x:3004:root

...and doing:

gpasswd -a nemo inet

...then rebooting.

No idea what I was doing and just followed some instructions! Will carry on testing, thanks.

moodroid
2017-03-06, 16:19
Sorry again for all the questions...
Were you able to install anything from the store at all? Whatever I try, I just get 'problem with store: could not install <whatever>'?
Many thanks

matemana
2017-03-06, 16:25
Sorry again for all the questions...
Were you able to install anything from the store at all? Whatever I try, I just get 'problem with store: could not install <whatever>'?
Many thanks

did you try 'devel-su pkcon refresh'

moodroid
2017-03-06, 16:36
Thanks - I hadn't. Just tried, and get:
Fatal error: Authentication failed (is SSU set up correctly?)

TheKit
2017-03-06, 16:44
Sorry again for all the questions...
Were you able to install anything from the store at all? Whatever I try, I just get 'problem with store: could not install <whatever>'?
Many thanks

Store needs to be enabled for ported devices on per port basis, so it's not enabled on server side yet. Try Warehouse (https://openrepos.net/content/basil/warehouse-sailfishos) for now.

moodroid
2017-03-06, 19:15
Excellent, thanks.

- WebPirate browser seems pretty good
- LLS Video Player also seems good (had to do 'ssu dr home' and 'ssu dr adaptation0' in order to be able to do 'pkcon install python')
- harbour-file-browser seems ok too

I know this is a bit off topic, but do you (or anyone else) know what I'd need from the Warehouse (or an rpm) to run Android apps?

Although, with the above I think I might be able to manage without Android apps altogether. Many thanks again - this is already good enough to use as my main OS!

moodroid
2017-03-07, 11:37
Sorry for yet another question...
Obviously very low priority...
The cursor keys seem to be mapped a bit funny with left and right being up and down and vice versa. Any way to change them?
Thanks

elros34
2017-03-07, 12:02
I had the same problem with cursors on photon q. Swap them in /usr/share/X11/xkb/keycodes/evdev.

carepack
2017-03-07, 14:22
@TheKit
oh no, you're out with the port? damn. Hey good job man! I hope a lot of people enjoy it. What about an xda thread? Already up?

moodroid
2017-03-07, 14:34
I had the same problem with cursors on photon q. Swap them in /usr/share/X11/xkb/keycodes/evdev.

Excellent, thanks - sorted! (114, 111, 113, 116 for reference)

This is now totally usable for me except for the headphone socket not working.

Don't suppose anyone knows of anyway of routing sound to the headphone socket, even if it's a manual process rather than automatic?

Many thanks

elros34
2017-03-07, 14:49
journalctl is your friend :) You can try to create /etc/ohm/plugins.d/accessories.ini (https://raw.githubusercontent.com/elros34/Photon-Q-various-fixes/master/etc/ohm/plugins.d/accessories.ini) with appropriate values taken from evdev_trace (mce-tools package).

TheKit
2017-03-07, 15:20
@TheKit
oh no, you're out with the port? damn. Hey good job man! I hope a lot of people enjoy it. What about an xda thread? Already up?
Heh, sorry for getting ahead of train, didn't see you on #sailfishos-porters lately. There are still issues to fix, as you see, so I wanted the port to become more stable before posting on XDA, but to get some initial feedback and testing.

moodroid
2017-03-07, 16:51
journalctl is your friend :) You can try to create /etc/ohm/plugins.d/accessories.ini (https://raw.githubusercontent.com/elros34/Photon-Q-various-fixes/master/etc/ohm/plugins.d/accessories.ini) with appropriate values taken from evdev_trace (mce-tools package).

Thanks anyway, but it's beyond me! I can't even identify which event I need to use. I guess I'll wait until somebody who knows what they're doing has time to look, i.e. @TheKit

Thanks everybody for the help so far, and especially to TheKit for even making this possible.

mp107
2017-03-07, 19:30
Glad to see a port for the Droid 4.
Might count me in as a tester. :)

t-b
2017-03-07, 20:14
Bought a Droid 4 a while ago (they are dirt cheap and the keyboard seems to be nice) but never used it.
This port sparked my interest though so rooted the device and installed safestrap yesterday.

After installing Sailfish and rebooting the screen turned black (lit) and didn't show any error message.
I didn't turn it off this night (not knowing how long it takes to boot the first time) but this morning still a black screen.

Wiped the phone and tried again. Same result.
Wiped the phone and only installed CM11 and booted CM11 - that worked fine.
I used ROM slot 'stock'

Maybe I am missing one obvious step - I am not very experienced in flashing custom roms for Android phones and never used safestrap before.

TheKit
2017-03-07, 20:22
...
I used ROM slot 'stock'

Maybe I am missing one obvious step - I am not very experienced in flashing custom roms for Android phones and never used safestrap before.
Please try non-stock ROM slot (for example ROM slot 1). I didn't actually know that "stock" slot can be used for installing custom ROMs in SafeStrap, going to fix this in init scripts. If it takes more than a few minutes for initial boot, something went wrong and it probably won't boot.

journalctl is your friend :) You can try to create /etc/ohm/plugins.d/accessories.ini (https://raw.githubusercontent.com/elros34/Photon-Q-various-fixes/master/etc/ohm/plugins.d/accessories.ini) with appropriate values taken from evdev_trace (mce-tools package).
Thanks for mentioning this. The kernel didn't transmit EV_SW events expected by ohm though, so I needed to modify it.

As a quick fix, extract files from the this archive (https://drive.google.com/file/d/0By7Ry3yX7vD4dlZlUU00a2lfczA/view?usp=sharing), then do:

devel-su
mount -o remount,rw /system
cp kernel /system/etc/kexec/
cp accessories.ini /etc/ohm/plugins.d/


I plan to do a new build to fix this and some other issues from the thread later.

t-b
2017-03-07, 20:58
Please try non-stock ROM slot (for example ROM slot 1). I didn't actually know that "stock" slot can be used for installing custom ROMs in SafeStrap, going to fix this in init scripts. If it takes more than a few minutes for initial boot, something went wrong and it probably won't boot.


Thanks for the prompt reply. Installed without problems this time. Only walked through the tutorial and used the phone app, but that all works flawless.

moodroid
2017-03-08, 09:43
As a quick fix, extract files from the this archive (https://drive.google.com/file/d/0By7Ry3yX7vD4dlZlUU00a2lfczA/view?usp=sharing), then do:

devel-su
mount -o remount,rw /system
cp kernel /system/etc/kexec/
cp accessories.ini /etc/ohm/plugins.d/


I plan to do a new build to fix this and some other issues from the thread later.

Marvellous, thank you - working perfectly.
For my purposes, at least, this is now fully usable.
The only other little thing I've noticed, which I'm not really going to miss, is that the keyboard doesn't light up.
Thanks again.

elros34
2017-03-08, 12:27
Create ini file in /etc/mce/
[KeyPad]
BrightnessDirectory=/sys/class/leds/keyboard-backlight // or similar path

t-b
2017-03-08, 20:25
I've spent a few minutes navigating Sailfish and selected Landscape mode. It did change apps behaviour but very inconsistent in the GUI. Sailfish issue?

The OS is pretty snappy and touchscreen responds very well. Battery life seems to be not too bad as well. Now 60% so -40% in 1 day. Not played around with it very long though, without WIFI connection.

moodroid
2017-03-09, 14:53
Hi TheKit,

I couldn't seem to get Windows to recognise my phone when I connected via USB to transfer files? But then I realised I could just use WinSCP over WiFi which is miles better anyway, so I can't think of any reason, personally, to use USB again.

I can't believe how little attention this has got, given that CM/Lineage 13 and 14 aren't that stable at the moment, and this is very stable and fast. I reckon that once you post on XDA this could be quite popular - I'm certainly sticking with it!

If you do make any more improvements, it would be wonderful if you could post the commands required for existing users (like me) to save a reinstall, but I appreciate that's a lot to ask.

Many thanks again

juiceme
2017-03-10, 05:55
I can't believe how little attention this has got, given that CM/Lineage 13 and 14 aren't that stable at the moment, and this is very stable and fast. I reckon that once you post on XDA this could be quite popular - I'm certainly sticking with it!

IMHO nobody on XDA will really care about this. They are so Android-centric they don't even want to know SFOS exists... :eek:

matemana
2017-03-10, 06:11
IMHO nobody on XDA will really care about this. They are so Android-centric they don't even want to know SFOS exists... :eek:

Nexus 4 & 5 have their threads on XDA and they have much more pages then in here :)

https://forum.xda-developers.com/google-nexus-5/development/rom-sailfish-os-alpha-t2841266/page79
https://forum.xda-developers.com/nexus-4/development/rom-sailfish-os-community-port-t2969823/page78

I think some people think that this is another custom rom for their devices. :D

I love this OS and i'm never gonna use android on nexus 4 or nexus 5. From now on i'll be choosing smartphone based on if it can run or not SFOS. It's great sony will support it officialy on their xperia devices, that makes it easy to buy a smartphone with decent hardware and camera and play with SFOS.

NX500
2017-03-10, 07:47
IMHO nobody on XDA will really care about this. They are so Android-centric they don't even want to know SFOS exists... :eek:

I miss the real XDA- aka windows-mobile-days of XDA-DEV, without all these cyanogenmod repackers and the lack of interest in anything besides android..

QWERTY_Slider
2017-03-10, 21:57
Something went horribly wrong! First I wiped everything excluding internal storage. Then I flashed CM11 and SFOS. I tried to boot but got black screen for about 10min. Then I rebooted to safestrap and selected ROM slot 1 instead of stock ROM. Then I tried flashing again and got black screen for 10min.

After that I was not able to boot safestrap again. I was able to boot AP Fastboot so I tried to flash FXZ. After 5min FXZ failed because I was out power. My Droid 4 doesn't charge anymore. I guess that I need new Droid 4 with fresh battery so that I'm able to recover my old Droid 4.

I don't know what I did wrong :confused: :(

TheKit
2017-03-11, 07:43
Something went horribly wrong! First I wiped everything excluding internal storage. Then I flashed CM11 and SFOS. I tried to boot but got black screen for about 10min. Then I rebooted to safestrap and selected ROM slot 1 instead of stock ROM. Then I tried flashing again and got black screen for 10min.

After that I was not able to boot safestrap again. I was able to boot AP Fastboot so I tried to flash FXZ. After 5min FXZ failed because I was out power. My Droid 4 doesn't charge anymore. I guess that I need new Droid 4 with fresh battery so that I'm able to recover my old Droid 4.

I don't know what I did wrong :confused: :(
Booting from stock slot doesn't work, as it was found in the topic before, I should have updated the first post to say this explicitly. For modern phone I would connect it to charger and leave for some time even if it doesn't display anything on screen, but not sure if this phone will charge without OS running, need someone who is more familiar to it to confirm. In the worst case you can use universal battery charger like this one (https://www.aliexpress.com/item/Black-Plastic-Universal-Mobile-Cell-Phone-Battery-Charger/32767373633.html?spm=2114.01010208.3.117.ua0oGR&ws_ab_test=searchweb0_0,searchweb201602_3_10065_10 068_433_434_10136_10137_10138_10060_10062_10056_10 055_10054_302_10059_10099_10103_10102_10096_10052_ 10053_10050_10107_10051_10106_10084_10083_10080_10 082_10081_10110_10111_10112_10113_10114_5000000_10 078_10079_10073_10070_10122_10123_10126_10124,sear chweb201603_9,afswitch_1,ppcSwitch_5,single_sort_0 _default&btsid=9a1f85cc-023d-4c04-891e-a5b1d2b22a21&algo_expid=89411cd0-d987-4e1c-9ff0-987806bc6b56-13&algo_pvid=89411cd0-d987-4e1c-9ff0-987806bc6b56).

Sorry that it went this way for you.

QWERTY_Slider
2017-03-11, 09:15
Booting from stock slot doesn't work, as it was found in the topic before, I should have updated the first post to say this explicitly. For modern phone I would connect it to charger and leave for some time even if it doesn't display anything on screen, but not sure if this phone will charge without OS running, need someone who is more familiar to it to confirm. In the worst case you can use universal battery charger like this one (https://www.aliexpress.com/item/Black-Plastic-Universal-Mobile-Cell-Phone-Battery-Charger/32767373633.html?spm=2114.01010208.3.117.ua0oGR&ws_ab_test=searchweb0_0,searchweb201602_3_10065_10 068_433_434_10136_10137_10138_10060_10062_10056_10 055_10054_302_10059_10099_10103_10102_10096_10052_ 10053_10050_10107_10051_10106_10084_10083_10080_10 082_10081_10110_10111_10112_10113_10114_5000000_10 078_10079_10073_10070_10122_10123_10126_10124,sear chweb201603_9,afswitch_1,ppcSwitch_5,single_sort_0 _default&btsid=9a1f85cc-023d-4c04-891e-a5b1d2b22a21&algo_expid=89411cd0-d987-4e1c-9ff0-987806bc6b56-13&algo_pvid=89411cd0-d987-4e1c-9ff0-987806bc6b56).

Sorry that it went this way for you.
I don't blame you. I know that there are risks. I'm happy that there even is Sailfish OS port :). I'm just wondering what went wrong?

My Droid 4 didn't charge during night so I already bought another Droid 4. I should get before end of this month. Then I have two units to play with ;). I'm sure I get the old one working again with fully charged battery.

t-b
2017-03-11, 10:20
I always make sure my battery level is fully charged before flashing. Would be even better if safestrap checks battery level before flashing or at least warns you.

@TheKit I don't care that much for stock OS so will replace that for SFOS or Lineage OS anyway. Any chance you will make it possible to flash stock with SFOS later?

@QWERTY_Slider pretty sure you are not the first with an issue like this and is not SFOS specific. You can also post your problem at the XDA forum if TheKit's suggestion doesn't work.
https://forum.xda-developers.com/droid-4

mp107
2017-03-11, 10:38
@TheKit I don't care that much for stock OS so will replace that for SFOS or Lineage OS anyway. Any chance you will make it possible to flash stock with SFOS later?

But why to remove installed stock ROM on stock slot when you can use safe slot to install Sailfish OS without any affecting the performance (in opposite to virtual slots 1-4)?
On my Droid 4 I currently have stock ROM (in case of problems), CM11 (in the safe slot - as the main used OS at the moment) and Sailfish OS on virtual slot 1 (for testing it out).

EDIT:
As I can see currently the fixboot.sh file inside ramdisk.img in the base CM11 build does not allow to install Sailfish OS in the safe slot. It recognizes only stock and virtual slots 1-4.
@TheKit Is it possible to include such a possibility in the next build?
It may be done as described here: http://www.internauta37.altervista.org/en/xt894-and-xt912-safestrap-375-unused-partitions-preinstall-webtop
In case of problems I have encountered when following that - the block size must be equal before and after modification. Otherwise the OS won't boot.

t-b
2017-03-11, 11:24
But why to remove installed stock ROM on stock slot when you can use safe slot to install Sailfish OS without any affecting the performance (in opposite to virtual slots 1-4)

Well, basically only one reason. Not going to use it so keeping it is a waste of space.
In this case I agree it was my mistake to use stock slot initially though, I should have used a virtual slot because it is just an early port.

I blame lack of experience and lack of patience :)

mp107
2017-03-11, 11:30
Well, basically only one reason. Not going to use it so keeping it is a waste of space.
In this case I agree it was my mistake to use stock slot initially though, I should have used a virtual slot because it is just an early port. I agree - it wastes space. I haven't booted it at all since few months (~latest flashing).
But in case of problems might be useful.

I blame lack of experience and lack of patience :)To be honest, shortly after I've bought the Droid 4 bricked it once or twice. :)

mp107
2017-03-11, 18:34
Something went horribly wrong! First I wiped everything excluding internal storage. Then I flashed CM11 and SFOS. I tried to boot but got black screen for about 10min. Then I rebooted to safestrap and selected ROM slot 1 instead of stock ROM. Then I tried flashing again and got black screen for 10min.

After that I was not able to boot safestrap again. I was able to boot AP Fastboot so I tried to flash FXZ. After 5min FXZ failed because I was out power. My Droid 4 doesn't charge anymore. I guess that I need new Droid 4 with fresh battery so that I'm able to recover my old Droid 4.

I don't know what I did wrong :confused: :(

It looks like you need a special cable (buy it or make it) to be able to bring it back to life without battery replacement.
https://docs.google.com/document/d/1OI0Gfe2kubAocwkDnMejT2gdoCQyPYOAcLFBR9VBa80/edit
https://forum.xda-developers.com/showthread.php?t=1077414

I haven't tested it on my own, though.

QWERTY_Slider
2017-03-12, 08:33
Booting from stock slot doesn't work, as it was found in the topic before, I should have updated the first post to say this explicitly. For modern phone I would connect it to charger and leave for some time even if it doesn't display anything on screen, but not sure if this phone will charge without OS running, need someone who is more familiar to it to confirm. In the worst case you can use universal battery charger like this one (https://www.aliexpress.com/item/Black-Plastic-Universal-Mobile-Cell-Phone-Battery-Charger/32767373633.html?spm=2114.01010208.3.117.ua0oGR&ws_ab_test=searchweb0_0,searchweb201602_3_10065_10 068_433_434_10136_10137_10138_10060_10062_10056_10 055_10054_302_10059_10099_10103_10102_10096_10052_ 10053_10050_10107_10051_10106_10084_10083_10080_10 082_10081_10110_10111_10112_10113_10114_5000000_10 078_10079_10073_10070_10122_10123_10126_10124,sear chweb201603_9,afswitch_1,ppcSwitch_5,single_sort_0 _default&btsid=9a1f85cc-023d-4c04-891e-a5b1d2b22a21&algo_expid=89411cd0-d987-4e1c-9ff0-987806bc6b56-13&algo_pvid=89411cd0-d987-4e1c-9ff0-987806bc6b56).

Sorry that it went this way for you.
I don't blame you. I know that there are risks so this is my own fault. I'm just happy that there is Sailfish OS port for Droid 4 :).

My Droid 4 didn't charge during night so I bought another Droid 4. I should get it before end of this month. Then I have two units to play with ;). I'm sure that I will get the old one working again. I'm just wondering what went wrong in the first place. Was it that I used stock ROM slot at first?

It looks like you need a special cable (buy it or make it) to be able to bring it back to life without battery replacement.
https://docs.google.com/document/d/1OI0Gfe2kubAocwkDnMejT2gdoCQyPYOAcLFBR9VBa80/edit
https://forum.xda-developers.com/showthread.php?t=1077414

I haven't tested it on my own, though.
Yeah, I already searched over the net and found that thread. I don't mind to have two droid 4. I believe that it is the easiest method. Can't just wait to receive it :rolleyes:.

PS: For some reason moderators blocked my previous post yesterday :confused:

mp107
2017-03-15, 18:38
@TheKit
Where can/should I report bugs?

TheKit
2017-03-16, 12:15
@TheKit
Where can/should I report bugs?

Here in topic, or create issues at https://github.com/NotKit/droid-config-maserati/issues.


EDIT:
As I can see currently the fixboot.sh file inside ramdisk.img in the base CM11 build does not allow to install Sailfish OS in the safe slot. It recognizes only stock and virtual slots 1-4.
@TheKit Is it possible to include such a possibility in the next build?
It may be done as described here: http://www.internauta37.altervista.org/en/xt894-and-xt912-safestrap-375-unused-partitions-preinstall-webtop
In case of problems I have encountered when following that - the block size must be equal before and after modification. Otherwise the OS won't boot.
Missed your edit before. Safe slot should be supported in current (old) build. fixboot.sh isn't used by SailfishOS directly, but I integrated (https://github.com/NotKit/hybris-boot/commit/7dee9465c2a71f63946833e268c9bf835314e84b) parts of it into SailfishOS ramdisk init script.

matemana
2017-03-16, 15:16
Booting from stock slot doesn't work, as it was found in the topic before, I should have updated the first post to say this explicitly. For modern phone I would connect it to charger and leave for some time even if it doesn't display anything on screen, but not sure if this phone will charge without OS running, need someone who is more familiar to it to confirm. In the worst case you can use universal battery charger like

Sorry that it went this way for you.


Thr phone will not charge without os on it. One way to fix this is to take out the battery find its + and - terminals and charge it with 5 v for about 10-15 minutes. This will revive the battery.

juiceme
2017-03-16, 17:05
Thr phone will not charge without os on it. One way to fix this is to take out the battery find its + and - terminals and charge it with 5 v for about 10-15 minutes. This will revive the battery.

No, don't do that.
There are dedicated Li-Ion chargers that do it without destroying the battery in the process and cost maybe 2 euros on ebay.

pichlo
2017-03-17, 10:13
No, don't do that.
There are dedicated Li-Ion chargers that do it without destroying the battery in the process and cost maybe 2 euros on ebay.

Before I got myself one of those (http://www.ebay.co.uk/itm/Cell-Phone-Chargers-Wall-Charger-Battery-Charger-Battery-Charging-Device/112291301378?_trksid=p2047675.c100005.m1851&_trkparms=aid%3D2220071%26algo%3DSIC.MBE%26ao%3D2% 26asc%3D20140122125356%26meid%3D502b4b5a89e34457bc 72191161edd7cc%26pid%3D100005%26rk%3D6%26rkt%3D6%2 6sd%3D151819790213), I just used the charger that came with my camera. I had to make improvised leads out of aluminium foil from e.g. a chocolate wrapping and a way to fix them to the battery with my daughter's hair band but it worked fine.

All Li-Ion batteries are the same; they only differ in the capacity, which will only affect how long the charging would take.

maegon9y00
2017-03-17, 18:56
@TheKit, thanks for this alfa port!


I want to experience Sailfish OS, and the cheaper way (actually the only one, given my location and circumstances) is test it on Motorola Droid 4 XT894 (http://www.gsmarena.com/motorola_droid_4_xt894-4418.php)

I don't have a Motorola Droid 4 XT894 yet, and I know this is an alpha, but I wonder if:

-Both cameras (Primary 8mp and secondary 1.3mp) are working to take photos?
-HDMI port it works?
-Bluetooth doesn't work at all? (i.e to send a file to a laptop or another phone)
-It is possible to record audio?

TheKit
2017-03-18, 15:21
@TheKit, thanks for this alfa port!


I want to experience Sailfish OS, and the cheaper way (actually the only one, given my location and circumstances) is test it on Motorola Droid 4 XT894 (http://www.gsmarena.com/motorola_droid_4_xt894-4418.php)

I don't have a Motorola Droid 4 XT894 yet, and I know this is an alpha, but I wonder if:

-Both cameras (Primary 8mp and secondary 1.3mp) are working to take photos?
-HDMI port it works?
-Bluetooth doesn't work at all? (i.e to send a file to a laptop or another phone)
-It is possible to record audio?
Honestly I wouldn't recommend it if your goal is to experience Sailfish OS, since the port is still in early stage. You might be able to get Nexus 4 for cheap, for example, which has better hardware and mature port. But to answer your questions:


Both cameras work for taking photos.
HDMI is untested, but likely it won't work, since SailfishOS doesn't have support for secondary outputs, and there was no HDMI on Jolla Tablet.
Bluetooth can scan and detect the devices, but something prevents it from making actual connection, so no.
You mean like a sound recorder? Yes, there is an application to record sound from mic in warehouse. If you mean voice calls recording, I didn't try it yet, but it might need more work.

elros34
2017-03-18, 19:34
There is old slimport branch in qt5-qpa-hwcomposer-plugin so maybe it is possible to add support for regular hdmi.
https://bugs.nemomobile.org/show_bug.cgi?id=765

TheKit
2017-03-20, 20:44
@mp107 here is local_manifest.xml: https://gist.github.com/NotKit/95ec76f4eff149e61753ae467f613cbe

TheKit
2017-04-09, 20:32
Quick update: got video recording fixed thanks to mal (https://github.com/mlehtima/gst-droid/commit/e5e79687e07ae9f71fff4a07403221b8078e933c) at #sailfishos-porters.

Currently I switched to SailfishOS 2.1.0.11 and there is no browser scaling issue anymore, everything else seems to work more or less the same. The main issue is Bluetooth now.

Unfortunately I'm still unable to contact sledges to add device to OBS, which is required for OTA updates. I'm waiting for this to make new image, otherwise reflashing is needed.

ThePhxRises
2017-04-15, 03:43
When I tap a text field, the software keyboard does not show up. Someone has posted this bug on the github with this log:
Mar 16 21:40:51 Sailfish dbus-daemon[603]: Activating via systemd: service name='org.maliit.server' unit='maliit-server.service'
Mar 16 21:40:56 Sailfish dbus-daemon[603]: Successfully activated service 'org.maliit.server'
Mar 16 21:40:56 Sailfish invoker[731]: WARNING: bool MIMPluginManagerPrivate::loadPlugin(const QDir&, const QString&) Error loading plugin from "/usr/lib/maliit/plugins/libmaliit-keyboard-plugin.so" "The shared library was not found."

[root@Sailfish nemo]# ls -l /usr/lib/maliit/plugins/
total 24
-rw-r--r-- 1 root root 21814 Jan 1 2000 jolla-keyboard.qml
I would assume the log is likely the same for my phone, but I haven't checked.

Edit: I seem to be getting the issue where APN settings do not save after a reboot as well. I remember having this issue back on the Nexus 5, but I can't remember how I fixed it, and I can't find whatever I read on it before.

elros34
2017-04-15, 07:21
chown -R radio:radio /var/lib/ofono should help with APN.

ThePhxRises
2017-04-15, 18:48
chown -R radio:radio /var/lib/ofono should help with APN.
That did it, but even with my APN set up, I'm not getting service in the same places I do on android, or any places for that matter. I'm on verizon and I'm using vzwinternet as my APN. Does this port utilize CDMA properly?

EDIT: And my protocol is set to Dual.

TheKit
2017-04-15, 19:50
That did it, but even with my APN set up, I'm not getting service in the same places I do on android, or any places for that matter. I'm on verizon and I'm using vzwinternet as my APN. Does this port utilize CDMA properly?
EDIT: And my protocol is set to Dual.
Are you from the USA? I wonder how to debug this, since in my area I don't have CDMA/needed LTE bands. Try to make logs with https://openrepos.net/content/slava/ofono-logger.

ThePhxRises
2017-04-15, 23:27
Are you from the USA? I wonder how to debug this, since in my area I don't have CDMA/needed LTE bands. Try to make logs with https://openrepos.net/content/slava/ofono-logger.

Yep, live in semi-rural US. Unfortunately, since neither mobile data, WiFi or MTP work, I don't have any way to install that logger...

moodroid
2017-04-16, 09:27
Yep, live in semi-rural US. Unfortunately, since neither mobile data, WiFi or MTP work, I don't have any way to install that logger...
It sounds like wifi works for most people, but I had to do some extra steps to get it working (described on page 2) - don't know if that was just me or I did something wrong.
But if all else fails, you could download the rpm to the internal storage using Android, then follow the steps TheKit described on page 1 to access your internal storage in Sailfish.

ThePhxRises
2017-04-16, 13:29
It sounds like wifi works for most people, but I had to do some extra steps to get it working (described on page 2) - don't know if that was just me or I did something wrong.
But if all else fails, you could download the rpm to the internal storage using Android, then follow the steps TheKit described on page 1 to access your internal storage in Sailfish.

I didn't think about doing that, I'll give it a shot sometime today.

And about the wi-fi, how would I go about changing those entries without the file manager?

moodroid
2017-04-16, 18:35
I didn't think about doing that, I'll give it a shot sometime today.

And about the wi-fi, how would I go about changing those entries without the file manager?

Hi. I used the terminal emulator app, and used vi/vim to edit the files.

mp107
2017-04-16, 19:17
Same me.
Only, at first, I would recommend fixing the keyboard mapping because it might be a bit irritating to use vi with misconfigured arrows.

TheKit
2017-04-16, 20:04
New image (http://sfos.scanf.su/maserati/sailfishos-maserati-release-2.1.0.11-test.zip) with SailfishOS 2.1.0.11.
A lot of small but troublesome issues mentioned in the topic fixed.
Video recording works now.

There is no update path from older image yet, I'm still waiting for OBS to be set up for the device.

@ThePhxRises please try this image, Wi-Fi should work without extra steps.

ThePhxRises
2017-04-16, 20:15
Thanks, it's downloading now.
I'll update this post as soon as I get it flashed.

UPDATE: After way too many corrupted downloads, I got it install and it's working great. The keyboard is working now, along with WLAN. I haven't got the chance to test mobile network yet, but I'll update when I do.

Also, weird thing, has anyone else noticed the battery indicator only moves in 10s?

t-b
2017-04-17, 20:10
A lot of small but troublesome issues mentioned in the topic fixed.
@ThePhxRises please try this image, Wi-Fi should work without extra steps.

Thanks for the update. Gave it a try and have the following issues with the image.

WLAN isn't picking up any network. Ifconfig shows wlan0 without ip address.

/etc/resolv.conf:
nameserver 127.0.0.1
nameserver ::1

Keyboard isn't backlit.

TheKit
2017-04-17, 21:26
WLAN isn't picking up any network. Ifconfig shows wlan0 without ip address.
Could you please elaborate on that? Does it connect ti Wi-Fi network, but doesn't have internet connection, or it doesn't even show up after scanning?

mp107
2017-04-17, 21:40
For me WLAN didn't work only on first boot.
After reboot works well.

I confirm lack of the keyboard's backlight.

t-b
2017-04-17, 21:54
Could you please elaborate on that? Does it connect ti Wi-Fi network, but doesn't have internet connection, or it doesn't even show up after scanning?

I just rebooted (as suggested by mp107) and tried again and now it works. First time I tried it it didn't show any network.

Flash-A-Holic
2017-04-18, 11:58
Thanks @TheKit! Latest build SailfishOS 2.1.0.11 seems to work good on stock slot. I'm just struggling to get landscape rotation working in home screen and not supported apps by stock. Is there any updated guide? I tried to install a patch (https://openrepos.net/content/coderus/patch-homescreen-rotate-and-eventsview-sidebar) from Warehouse but it gives me error.

EDIT: I found this guide: Howto auto-rotate homescreen and all other apps (https://together.jolla.com/question/123165/howto-auto-rotate-homescreen-and-all-other-apps-was-solved-saimaa-and-patchmanager-lost-off-shore-/?answer=123179#post-id-123179)

However, I don't know how to install Zypper. Is there any other way or good guide for Zypper?

mp107
2017-04-18, 14:34
I did:
1. Downloaded "Warehouse for Sailfish" rpm file
2. Installed it by # rpm -i file.rpm
3. Most of the applications I have installed later using Warehouse (it almost doesn't hang up on installing packages on Sailfish OS 2.1.0!)
4. Some apps (f.e. nano) I have installed through Terminal using pkcon instead of zypper # pkcon install nano

moodroid
2017-04-18, 15:17
There's quite a few patches in the warehouse for rotation, so if one doesn't work, I'd try some of the others. For zypper, I think you can use pkcon to install it, like mp107 mentioned.

Flash-A-Holic
2017-04-18, 15:21
I did:
1. Downloaded "Warehouse for Sailfish" rpm file
2. Installed it by # rpm -i file.rpm
3. Most of the applications I have installed later using Warehouse (it almost doesn't hang up on installing packages on Sailfish OS 2.1.0!)
4. Some apps (f.e. nano) I have installed through Terminal using pkcon instead of zypper # pkcon install nano
Thanks for helping. I figured out what was wrong. I needed to write these lines via terminal:
devel-su
ssu dr home
ssu dr adaptation0
zypper refresh
After that I was able install patches from Warehouse. However "Patch: Homescreen rotate and eventsview sidebar (https://openrepos.net/content/coderus/patch-homescreen-rotate-and-eventsview-sidebar)" wasn't working for me but this patch is working:

Allow Apps rotation (https://openrepos.net/content/rikudousennin/allow-apps-rotation)

moodroid
2017-04-21, 10:00
I decided to try 2.1 in another slock out of curiosity, and can see all the great improvements already mentioned, like video recording, sailfish browser working and warehouse not locking up.

But mobile data just seems to be permanently disabled in 2.1, whereas it works in 2.0. Anyone else having a problem with that?

TheKit
2017-04-21, 12:41
But mobile data just seems to be permanently disabled in 2.1, whereas it works in 2.0. Anyone else having a problem with that?
Just got the same, weird. Try installing https://openrepos.net/content/slava/ofono-logger and select "Fix mobile data" from top menu.

moodroid
2017-04-21, 14:08
Just got the same, weird. Try installing https://openrepos.net/content/slava/ofono-logger and select "Fix mobile data" from top menu.

Thanks, TheKit. That worked for me - in case it helps anyone else...

Flash-A-Holic
2017-05-26, 05:51
My battery stuck to 100% (I took Droid off from the charger) and reboot won't fix it. This happened couple times before but reboot fixed it earlier, weird :confused:

Do you guys think that I need reflash? I didn't install any modifications before this issue. I'm on the latest 2.1.0.11 version.

moodroid
2017-05-26, 11:40
My battery stuck to 100% (I took Droid off from the charger) and reboot won't fix it. This happened couple times before but reboot fixed it earlier, weird :confused:

Do you guys think that I need reflash? I didn't install any modifications before this issue. I'm on the latest 2.1.0.11 version.

Yeah, I get that too sometimes. I find that if I boot into another OS like Android, then go back to Sailfish it helps, though even then, I sometimes need to reboot again before it works. But with enough reboots, I can always get it to sort itself out without resorting to anything drastic.
However, I notice that when this problem occurs, Safestrap is also incorrectly reporting the battery level at 99% - I don't know what that implies?
Also, are you using the safe slot? I am, and I don't remember this problem happening when I used a virtual slot, but that might just be because I didn't use it very long in a virtual slot.

Flash-A-Holic
2017-05-27, 09:18
Yeah, I get that too sometimes. I find that if I boot into another OS like Android, then go back to Sailfish it helps, though even then, I sometimes need to reboot again before it works. But with enough reboots, I can always get it to sort itself out without resorting to anything drastic.
However, I notice that when this problem occurs, Safestrap is also incorrectly reporting the battery level at 99% - I don't know what that implies?
Also, are you using the safe slot? I am, and I don't remember this problem happening when I used a virtual slot, but that might just be because I didn't use it very long in a virtual slot.
I'm using stock ROM slot and I don't have Android installed to my device right now. I think that I'm waiting for next build and then reflash Sailfish OS again.

I also noticed that Safestrap reports wrong battery status some times. That happened also when I had only Android installed. However Android always reported right battery-%.

EDIT: After several reboots battery-% is now working again.

moodroid
2017-06-02, 15:04
Does anyone else have a problem with incoming calls and sound? Outgoing calls work fine, but sometimes when I receive a call, I can't hear the other person, and then I lose sound altogether and have to reboot?

TheKit
2017-06-02, 20:44
However, I notice that when this problem occurs, Safestrap is also incorrectly reporting the battery level at 99% - I don't know what that implies?
Basically both Safestrap and SailfishOS report battery level they receive from kernel, so I'm not sure if this bug is SFOS port-specific. I wonder if Is there any battery calibration file normally loaded by Android.

Does anyone else have a problem with incoming calls and sound? Outgoing calls work fine, but sometimes when I receive a call, I can't hear the other person, and then I lose sound altogether and have to reboot?
Could you please try to capture logs from journalctl when it happens? I suppose PulseAudio module crashes and won't restart for some reason.

ThePhxRises
2017-06-03, 01:19
I'm using stock ROM slot and I don't have Android installed to my device right now.
It's generally considered a bad idea to have this on your stock slot, so that may be causing the issue.

Also I've not been able to get around to uploading my ofono log because of some issues IRL, but I might be able to sometime soon.

Do you guys think this (https://talk.maemo.org/showthread.php?t=98800&page=1) would work for us? I'm fairly sure the Droid 4 would explode under all that stress, but who knows?

moodroid
2017-06-05, 14:06
Could you please try to capture logs from journalctl when it happens? I suppose PulseAudio module crashes and won't restart for some reason.

After a bit more testing, it appears that the first incoming call usually works ok, but on the 2nd incoming call, I lose sound and have to reboot.
I've got the journalctl logs for the first incoming call (1.txt) which worked, and then the 2nd incoming call (2.txt) which didn't.
I can't understand why this only happens to me? I've tried a clean install and it's still the same, and I've even tried on my old Droid 4 (which is falling to bits) and it's the same on that too.
Are incoming calls really working fine for everyone else?

EDIT: I don't really know what I'm doing here, but have tried a few things in case they help...
In /etc/pulse/daemon.conf I've added:
log-target = file:/home/nemo/pa.log
log-level = debug

I then rebooted, and called myself, and on this occasion I lost sound on the first call (which happens sometimes). I've attached the pa.log that it created.
When I try pacmd, it says 'Daemon not responding.', so don't know if that means it's crashed?

EDIT2: Well, I've found that I can restart pulseaudio without rebooting by doing:

pkill -9 pulseaudio
pulseaudio -vvvv --start -n --file=/etc/pulse/arm_droid_default.pa

I've tried it in the foreground (without the --start), and when the problem occurs, it seems that the process doesn't abort, but just hangs?
D: [pulseaudio] module-suspend-on-idle.c: Sink sink.null becomes idle, timeout in 1 seconds.
D: [pulseaudio] policy-group.c: Starting to move sink input feedback-event
D: [pulseaudio] dbusif.c: Policy groups moving: 9
D: [pulseaudio] droid-sink.c: Sink set port to parking
I: [pulseaudio] sink.c: Changed port of sink 1 "sink.primary" to output-parking

Thanks

TheKit
2017-06-11, 07:35
I've tried it in the foreground (without the --start), and when the problem occurs, it seems that the process doesn't abort, but just hangs?
This happens to me to, but have to find why yet. Do you know if it was always like this or started after 2.0.1.11 update?


Do you guys think this (https://talk.maemo.org/showthread.php?t=98800&page=1) would work for us? I'm fairly sure the Droid 4 would explode under all that stress, but who knows?
It can, but it turned out a bit more tinkering is required. On our device, hwcomposer lib can be loaded only once, and it's already used by SFOS. AD doesn't use hwcomposer API directly, but it's still loaded to find proper graphics format by SurfaceFlinger, so OpenGL ES context selection fails and it won't start.

I tried to disassemble and patch libsurfaceflinger to select proper EGL context. It still didn't start, but after replacing OpenGL ES libs with the ones built from CyanogenMod 11 tree, it seems to be able to start apps like Telegram/Discord. Camera doesn't work though, and would probably require using shim library for missing symbols in libc.so.

Here (http://sfos.scanf.su/maserati/alien-patched.tar.gz) are the changed files if anyone wants to try.

moodroid
2017-06-11, 08:32
This happens to me to, but have to find why yet. Do you know if it was always like this or started after 2.0.1.11 update?

Thanks. Glad it's not just me.

Just tried it on the first version that you did for us, and the same thing is happening. And I didn't apply the headphones kernel patch either, so it's nothing to do with that.

I'm happy to try anything out if I can help in any way..

moodroid
2017-06-17, 19:09
This happens to me to, but have to find why yet. Do you know if it was always like this or started after 2.0.1.11 update?

As mentioned above, it's definitely always been been like this, but as I don't don't get that many incoming calls, and because I reboot quite often when fiddling with stuff, it took me a while to spot what was going on, sorry.

I've tried tweaking lots of pulseaudio settings, but haven't been able to influence this in any way. I also had the idea of killing and restarting pulseaudio after answering a call, to see if I could bring back audio during the call itself, but unfortunately, it only seems to work after the call has finished.

It occured to me that testing it might end up costing you money in calls, so if you ever wanted a donation, I'd be more than happy to oblige. No offence intended if you don't go in for that kind of thing - just thought I'd offer.

Or if there's any crazy alternatives like trying to use an alternative phone app (Android via AD or other Linux via chroot?), I'd be more than happy to give it a go if you thought it was even feasible.

Many thanks

TheKit
2017-06-17, 20:49
As mentioned above, it's definitely always been been like this, but as I don't don't get that many incoming calls, and because I reboot quite often when fiddling with stuff, it took me a while to spot what was going on, sorry.

I've tried tweaking lots of pulseaudio settings, but haven't been able to influence this in any way. I also had the idea of killing and restarting pulseaudio after answering a call, to see if I could bring back audio during the call itself, but unfortunately, it only seems to work after the call has finished.

Thanks for the reply. I was already able to pinpoint what is causing PulseAudio to freeze. It turned out our audio blob uses AudioSystem::getDeviceConnectionState for BT headset detection, which in turn is dependant on AudioPolicyService, not enabled in SFOS, so it waits for it forever.

As a quick hack, try placing patched libmedia.so (http://sfos.scanf.su/maserati/libmedia.tar.gz) to /usr/libexec/droid-hybris/system/lib (it won't wait for AudioPolicyService).

For the long term solution I'd better try to enable AudioPolicyService service, as it was done for onyx (https://github.com/sailfishos/droidmedia/pull/11) and probably some other devices. That patch doesn't built as-is with hybris-11 though.

And well, testing is not a problem, since phone network is pretty cheap in Russia (for example, I have 300 minutes, which I never manage to use considerable amount of, and 3 GB for about 3.3$/month).

moodroid
2017-06-18, 08:22
Thanks for the reply. I was already able to pinpoint what is causing PulseAudio to freeze. It turned out our audio blob uses AudioSystem::getDeviceConnectionState for BT headset detection, which in turn is dependant on AudioPolicyService, not enabled in SFOS, so it waits for it forever.

As a quick hack, try placing patched libmedia.so (http://sfos.scanf.su/maserati/libmedia.tar.gz) to /usr/libexec/droid-hybris/system/lib (it won't wait for AudioPolicyService).

For the long term solution I'd better try to enable AudioPolicyService service, as it was done for onyx (https://github.com/sailfishos/droidmedia/pull/11) and probably some other devices. That patch doesn't built as-is with hybris-11 though.

And well, testing is not a problem, since phone network is pretty cheap in Russia (for example, I have 300 minutes, which I never manage to use considerable amount of, and 3 GB for about 3.3$/month).

Seems to be working perfectly to me. Thank you so much - you are a genius.
Sorry if I got a bit carried away in my last post, but now I've had a taste of Sailfish, I just couldn't bear the thought of going back to Android.

m4r0v3r
2017-06-20, 09:38
bought one :P

Macros
2017-06-20, 13:31
This looks quite interesting and I am already very thankful for all the hard work the porters did.

I think I will get one myself to get a glance at sailfish (I am aware of the alpha state of the port) and to have an device with which I can play Space Team with friends ;)

A few questions to remove last doubts:
- Can the OS access the SD card by now?
- Can I use the phone bought from USA on German phone networks?
I read online that it works and I read that it doesn't work.

mp107
2017-06-20, 18:26
1. From what I know you have to mount it manually. Doesn't work as is (if my knowledge is up to date).
2. I am able to use it on both 2G and 3G in Poland so it should work in Germany as well.

m4r0v3r
2017-06-20, 21:07
1. From what I know you have to mount it manually. Doesn't work as is (if my knowledge is up to date).
2. I am able to use it on both 2G and 3G in Poland so it should work in Germany as well.

any idea on 4g?

mp107
2017-06-20, 21:48
Most probably no chance.
Built-in 4G/LTE modem supports only one band which is not used in Europe.
Some details about built-in modems (there are 2) are available here: http://elektranox.org/2017/02/motorola-droid-4---modem/

TheKit
2017-08-03, 15:09
Quick question. In the next build I want to remap some keys in kernel, to avoid editing xkb files. Do you think it's a good idea to make Caps Lock => Shift and Shift => Ctrl, or this will cause unneeded confusion?

SYM is going to be Left Alt (needed to allow layout switching combinations, for example). What would be the good use for OK? Currently I have it as \ and | key on my device, which is useful in terminal.

Macros
2017-08-03, 15:15
Disclaimer: i don't own one yet

The changes seem very reasonable. Caps Lock isn't usually needed (except by trolls) and this brings the keyboard very close to a real keyboard. The only problem is that the shift label is on another key, but I would accept that.

Is there a way to switch the keys or is the keymat one part?

Edit: mp107's solution two posts below seems to be better to me.

moodroid
2017-08-04, 09:04
Quick question. In the next build I want to remap some keys in kernel, to avoid editing xkb files. Do you think it's a good idea to make Caps Lock => Shift and Shift => Ctrl, or this will cause unneeded confusion?

SYM is going to be Left Alt (needed to allow layout switching combinations, for example). What would be the good use for OK? Currently I have it as \ and | key on my device, which is useful in terminal.

Hi TheKit,

Edit:
IMHO, having a ctrl key would be great, and it'd be like a standard keyboard then (as Macros said, and you'd no doubt thought), so sounds like a good idea to me.
\ and | would be good too, but we also are currently missing : and ; which can be useful? If only we had another spare key!
Probably a stupid idea, but can shift + cursor key be mapped? Then maybe : and ; could be given their proper key and < and > could be shift + left and right cursor keys?

Also, don't know if you've already done this, but in post 33, elros34 suggested how to get the keyboard lights working:

Create ini file in /etc/mce/
[KeyPad]
BrightnessDirectory=/sys/class/leds/keyboard-backlight // or similar path

I tried putting those 2 lines into a file called 20backlight.ini, and it seems to work just fine.

Thanks

mp107
2017-08-04, 09:43
@TheKit
Why not OK -> CTRL?
It would be more convenient for pressing most popular CTRL + Z,X,C,V at once due to a larger space between keys. Otherwise it would be harder to press f. e. CTRL+X combo (keys would be close to each other but unable to do it using one finger). I use CTRL+Z,X,C,V,A more frequent than CTRL+↑←↓→ so placing CTRL near the arrows doesn't disturb me.
Beside that, keeping Shift at place and setting Caps Lock as Alt allows to use not only Shift + Letter/Sign (A, B, C, ;, : ) combo but also Shift + Alt + Letter/Sign (I've customized it on Android for f. e. Alt+Shift+/->|, Alt+Shift+A->Ą) and Alt+Tab. Moreover, it would allow pressing Shift + Alt, Alt + Tab using only one finger.

EDIT: Added the layout I currently use (here with assigned Polish character keys) as the reference of my idea.
http://obrazki.elektroda.pl/8390230500_1501841148.png

merpl
2017-08-04, 12:45
My vote would be for TheKit's solution since most of my use of alt and ctrl is for irssi - alt/ctrl+n/p

I'd also make < and > map to SYM(alt)+, and . keeping the ; and : as labeled on the keyboard.

Definitely also need \ ~ | somewhere.

I was also thinking maybe OK could be a right-shift, you know to shift the stuff on the left half of the keyboard more easily.

With the ALT mapped, we don't really need a seperate key mapped for '\', - for e.g. we could make it alt+L to put it near the normal US placement.

just my $0.02.

This is the greatest thing since the N900 folks. TheKit is one of my heroes. <3

wicket
2017-08-04, 16:18
Quick question. In the next build I want to remap some keys in kernel, to avoid editing xkb files. Do you think it's a good idea to make Caps Lock => Shift and Shift => Ctrl, or this will cause unneeded confusion?

SYM is going to be Left Alt (needed to allow layout switching combinations, for example). What would be the good use for OK? Currently I have it as \ and | key on my device, which is useful in terminal.

This thread may be of interest (https://www.spinics.net/lists/linux-omap/msg135136.html). It provides details on how the keys are mapped in mainline Linux.

P.S. I got myself a Droid 4, but not for Sailfish nor Android ;)

tmlind
2017-09-12, 14:47
This thread may be of interest (https://www.spinics.net/lists/linux-omap/msg135136.html). It provides details on how the keys are mapped in mainline Linux.

Yeah let's keep kernel changes to minimum and map the custom keys in user space as we need to do that anyways.

The user space app to use here in the long run is probably funkeymonkey:

https://github.com/bzar/funkeymonkey

P.S. I got myself a Droid 4, but not for Sailfish nor Android ;)

Yeah it should be possible to use any distro no problem.

For booting distros, please also take a look at the utagboot I pushed last night. It should allow booting sailfish from any partition, the microSD card should work too:

https://github.com/tmlind/utagboot

Cheers,

Tony

merpl
2017-09-14, 04:22
I noticed RetroArch emulator failed to start. On latest xt894 release from TheKit

After a websearch i found this seems to be related to egl problems.

[nemo@Sailfish /]$ test_egl
linkerlinker.c:1109| ERROR: Library 'libPVROGL.so' not found
linkerlinker.c:1109| ERROR: Library 'libPVROCL.so' not found

[nemo@Sailfish /]$ EGL_PLATFORM=hwcomposer test_egl
linkerlinker.c:1109| ERROR: Library 'libPVROGL.so' not found
linkerlinker.c:1109| ERROR: Library 'libPVROCL.so' not found
Segmentation fault

[nemo@Sailfish /]$ EGL_PLATFORM=fbdev test_egl
linkerlinker.c:1109| ERROR: Library 'libPVROGL.so' not found
linkerlinker.c:1109| ERROR: Library 'libPVROCL.so' not found
ERROR: failed to open framebuffer: (Bad address)
test_egl: eglplatform_fbdev.cpp:35: void fbdevws_init_module(ws_egl_interface*): Assertion `0' failed.
Aborted

[nemo@Sailfish /]$ EGL_PLATFORM=null test_egl
linkerlinker.c:1109| ERROR: Library 'libPVROGL.so' not found
linkerlinker.c:1109| ERROR: Library 'libPVROCL.so' not found
^C [just sits there]

[nemo@Sailfish /]$ EGL_PLATFORM=wayland test_egl
linkerlinker.c:1109| ERROR: Library 'libPVROGL.so' not found
linkerlinker.c:1109| ERROR: Library 'libPVROCL.so' not found
Segmentation fault


Looking for the egl drivers I found these:

[nemo@Sailfish /]$ ls -l /usr/lib/libhybris
total 368
-rwxr-xr-x 1 root root 104899 Apr 5 23:55 eglplatform_fbdev.so
-rwxr-xr-x 1 root root 25224 Apr 5 23:55 eglplatform_hwcomposer.so
-rwxr-xr-x 1 root root 19194 Apr 5 23:55 eglplatform_null.so
-rwxr-xr-x 1 root root 209501 Apr 5 23:55 eglplatform_wayland.so


Searching for PVROGL

find / -name libPVROGL.so
returns nothing.

I tested on three devices. All same result.

Now i just found something interesting:

[nemo@Sailfish /]$ EGL_PLATFORM=wayland test_egl_configs
Starting test (EGL_PLATFORM=wayland)
linkerlinker.c:1109| ERROR: Library 'libPVROGL.so' not found
linkerlinker.c:1109| ERROR: Library 'libPVROCL.so' not found
Segmentation fault

[nemo@Sailfish /]$ EGL_PLATFORM=hwcomposer test_egl_configs
Starting test (EGL_PLATFORM=hwcomposer)
linkerlinker.c:1109| ERROR: Library 'libPVROGL.so' not found
linkerlinker.c:1109| ERROR: Library 'libPVROCL.so' not found
EGL Version 1.4
Extensions: EGL_KHR_get_all_proc_addresses EGL_ANDROID_presentation_time EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_fence_sync EGL_ANDROID_image_native_buffer EGL_ANDROID_recordable EGL_HYBRIS_native_buffer2 EGL_HYBRIS_WL_acquire_native_buffer EGL_WL_bind_wayland_display
Available configurations: 25
===== Configuration #0 =====
EGL_RED_SIZE: 8
EGL_GREEN_SIZE: 8
EGL_BLUE_SIZE: 8
...
much more stuff


I have the sgx540 driver loaded of course.

[root@Sailfish lib]# lsmod
Module Size Used by
compat 1502 0
tty_hci 3952 0
pvrsrvkm_sgx540_120 293781 130
wl12xx 167937 0
mac80211 378066 1 wl12xx
cfg80211 144942 2 mac80211,wl12xx
wl12xx_sdio 2806 0


Possibly relevant discussions:
http://www.merproject.org/logs/%23sailfishos-porters/%23sailfishos-porters.2015-12-25.log.html

Can someone confirm this on their device? What do we do to get it working?

EDIT: The PVROGL and PVROCL aren't important and don't cause the errors, afaict. These mobile GPUs only need to support OpenGL-ES. AFAIK

ThePhxRises
2017-09-19, 04:20
I was never able to upload those ofono logs, and have since removed sfos from my Droid 4, though I can definitely confirm that CDMA networks do not work at all. If it's any help the log loops the same 3 or 4 lines over and over, but I can't recall them right now. My apologies, but if I can get my Droid 4's battery replaced so it doesn't die in .02 milliseconds, I'll look into getting those logs.

ThePhxRises
2017-09-24, 03:53
I decided to reinstall SFOS and ran the logger for a few minutes. The logs are attached.

Additionally, it may just be the humidity, but there almost seems to be some touch screen calibration issues.

EDIT: After using it for a while, I noticed the battery indicator still only moves in intervals of 10, and doesn't seem to work about 1/3 of the times I boot, constantly showing 100%.

merpl
2017-09-25, 11:38
Experimenting with Camera and video recording:

it defaults to store pictures in
/home/Nemo/Pictures/Camera
and for video
/home/Nemo/Videos/Camera

This is bad because root partition is almost full.

I try to go to Settings->Apps->Camera and change Storage setting, to point it to the sdcard.

This lists Device memory and many entries saying 'Memory card is unmounted'.

SFOS File Browser also doesn't register a mounted sdcard, however it can be accessed under the /media path.

My workaround currently to make space for pictures is to symlink directories on my sdcard to the /home/Nemo Pictures and Videos directories.

my sdcard is mounted on
/dev/mmcblk0p1 on /media/sdcard/3933-3934

using updated sdcard utils script https://git.merproject.org/mer-core/sd-utils

Some discussion on xt894 sd mounting here: http://www.merproject.org/logs/%23sailfishos-porters/%23sailfishos-porters.2017-09-18.log.html

Flash-A-Holic
2017-10-31, 10:50
After using it for a while, I noticed the battery indicator still only moves in intervals of 10, and doesn't seem to work about 1/3 of the times I boot, constantly showing 100%.
I can confirm that battery state is usually showing 100%. Sometimes reboot will fix it but sometimes not.

I have been using Droid 4 with Sailfish OS as a daily driver for a while and it works OK. There are some issues but I'm hoping that those can be fixed in future.

If the keyboard layout is still in pipeline I hope that TheKit could add Scandic support like it is done in FinQwerty Android app (https://play.google.com/store/apps/details?id=fi.onse.qwerty.finnish).

Anyway, thanks for hardwork so far :).

tmlind
2017-12-04, 01:33
For booting distros, please also take a look at the utagboot I pushed last night. It should allow booting sailfish from any partition, the microSD card should work too:

https://github.com/tmlind/utagboot

And now we have a flashable 4MB kexecboot image at :

https://github.com/tmlind/droid4-kexecboot :D

Note that kexec booting v3.0.8 kernels needs the initramfs modified to use the kernel command line instead of the SafeStrap configuration on mmcblk1p25 if somebody wants to work on that.

merpl
2017-12-13, 18:06
Nice work tmlind, ty. Might try that if I end up filling the remaining 200MB.

For what its worth, I realized I was being silly with the SD card issues. You can label the SD card partition and the mountpoint will be your label name. So now symlinks from /home/nemo are reliable (for Camera / Videos for e.g.).

Other than that, Sailfish on XT894 has been wonderful! I do need to hook it up to the charger overnight, or it seems to become unresponsive (crashed?) requiring a long power button hold to turn off and reboot.

tmlind
2017-12-20, 23:59
Nice work tmlind, ty. Might try that if I end up filling the remaining 200MB.

Yeah that would be great if you have a chance. I just pushed updated 2017-12-20 image that has v3.0.8 kernel kexec wrapper script fixed so kexecboot can boot v3.0.8 kernels from the menu configuration.

The initramfs problem still remains, might work for current SafeStrap image if you have that installed.

Regards,

Tony

TheKit
2017-12-26, 21:01
The initramfs problem still remains, might work for current SafeStrap image if you have that installed.
I can try to modify initramfs. In case of using kexecboot, as opposed to SafeStrap, what partitions are going to be used for /data and /system? The stock ones?

For anyone wishing to try in a separate SafeStrap slot, here is the new SailfishOS 2.1.3.7 build for Droid 4: http://sfos.scanf.su/maserati/sailfishos-maserati-release-2.1.3.7-ota.zip

There were some issues with updated systemd due to old kernel, but otherwise I didn't find any new problems. If there are no major issues with this build, we could try to OTA update from 2.1.0.11, since the packages for port are now built on OBS.

tmlind
2017-12-27, 02:11
I can try to modify initramfs. In case of using kexecboot, as opposed to SafeStrap, what partitions are going to be used for /data and /system? The stock ones?

Hmm yeah good question. I guess those could be mounted based on what names are passed for those partitions in the kernel cmdline.

So maybe first check if mmcblk1p25 is vfat and has SafeStrap config and try to use that. Then if there is no SafeStrap config it should be safe to just use the "mmcparts" partitions passed in the kernel cmdline, right?

And for the rootfs the usual root=/dev/mmcblk1p25 would be nice to have working with the initramfs without having to use rootfs=/dev/ram0, you know just like the typical Linux distros do :)

Regards,

Tony

moodroid
2017-12-27, 14:22
For anyone wishing to try in a separate SafeStrap slot, here is the new SailfishOS 2.1.3.7 build for Droid 4: http://sfos.scanf.su/maserati/sailfishos-maserati-release-2.1.3.7-ota.zip


Hi, The Kit,

I've tried this in a virtual slot, and when trying to start for the first time, I just get a black screen (I left it a quite a while).
Is it still the same procedure to install this, i.e. flash the same CM, then flash the new version?

Thanks

TheKit
2017-12-27, 17:59
Hi, The Kit,

I've tried this in a virtual slot, and when trying to start for the first time, I just get a black screen (I left it a quite a while).
Is it still the same procedure to install this, i.e. flash the same CM, then flash the new version?

Thanks
The procedure is the same. Is it still black screen after force-rebooting?

moodroid
2017-12-27, 18:18
The procedure is the same. Is it still black screen after force-rebooting?

Yes, it was, sorry.

TheKit
2018-01-13, 17:11
Hmm yeah good question. I guess those could be mounted based on what names are passed for those partitions in the kernel cmdline.

So maybe first check if mmcblk1p25 is vfat and has SafeStrap config and try to use that. Then if there is no SafeStrap config it should be safe to just use the "mmcparts" partitions passed in the kernel cmdline, right?

And for the rootfs the usual root=/dev/mmcblk1p25 would be nice to have working with the initramfs without having to use rootfs=/dev/ram0, you know just like the typical Linux distros do :)

Regards,

Tony

Am I correct to assume root=/dev/ram0 is unneeded for initramfs? If yes, this can be used to detect SafeStrap installs before mounting mmcblk1p25. Tried to implement this in initramfs: https://github.com/NotKit/hybris-boot/commit/e03c3691620df44edacc96bba5a41559efa0187e

However I cheated and introduced "data_partition=" and "system_partition=" parameters to mount /data and /system, since initramfs executes before starting udev and doesn't have "named" partition blockdevices created. "mmcparts" could be probably parsed manually for that, but I'm not sure how to do that properly in shell script.

Laucian
2018-01-15, 12:55
Hi, The Kit,

I've tried this in a virtual slot, and when trying to start for the first time, I just get a black screen (I left it a quite a while).
Is it still the same procedure to install this, i.e. flash the same CM, then flash the new version?

Thanks

I had the same issue, but flashing CM11,Sailfish 2.1.0 and Sailfish 2.1.3 in that order fixed it.

On that note, I can boot, but Wi-Fi does not work. I get a "Networking is not available. Please restart device." error, no matter how many times I restarted.

Laucian
2018-01-16, 04:03
Hi, The Kit,

I've tried this in a virtual slot, and when trying to start for the first time, I just get a black screen (I left it a quite a while).
Is it still the same procedure to install this, i.e. flash the same CM, then flash the new version?

Thanks

I had the same issue, but I found that installing all three zips at the same (CM11>Sailfish 2.1.0>Sailfish 2.1.3) in the recovery worked.

However, I'm having problems with WLAN. I receive the error message "Networking is not available. Please restart device." Restarting and doing a device reset did not fix the issue. The WLAN worked in the 2.1.0 image.

tmlind
2018-01-16, 05:57
Am I correct to assume root=/dev/ram0 is unneeded for initramfs? If yes, this can be used to detect SafeStrap installs before mounting mmcblk1p25. Tried to implement this in initramfs: https://github.com/NotKit/hybris-boot/commit/e03c3691620df44edacc96bba5a41559efa0187e

Yeah root=/dev/ram0 should not be needed but you need to get rid of the CONFIG_CMDLINE_FORCE=y Kconfig option.

And I just pushed out 2018-01-15 droid4-kexecboot image that now can kexec boot SafeStrap installed v3.0.8 images so that should make things easier too.

arkanoid
2018-01-18, 14:26
Guys, a stupid question: I am trying to run a simple desktop QtQuick app and for whatever reason it is stuck in portrait mode, even if I specify contentOrientation: Qt.LandscapeOrientation in qml file. However, if I do so, i get the famous libPVROGL.so not found warning. Are those issues related to one another? Is there a workaround? (there is a reason why I cannot try that in the emulator at the moment, unfortunately)

monkeyisland
2018-05-26, 13:48
hi thera is there any chance to you use sailfish with full device (16 gb)?

mp107
2018-05-28, 05:42
Most probably - no.
The problem is related with lack of possibility to unlock the bootloader.
It does perform checks if the whole partition layout and types of filesystems on some of the partitions are untouched. The device won't boot if it detects any inconsistency. At least this is how it looked like when I've read about it on XDA some time ago.

merpl
2018-06-12, 10:46
I can try to modify initramfs. In case of using kexecboot, as opposed to SafeStrap, what partitions are going to be used for /data and /system? The stock ones?

For anyone wishing to try in a separate SafeStrap slot, here is the new SailfishOS 2.1.3.7 build for Droid 4: http://sfos.scanf.su/maserati/sailfishos-maserati-release-2.1.3.7-ota.zip

There were some issues with updated systemd due to old kernel, but otherwise I didn't find any new problems. If there are no major issues with this build, we could try to OTA update from 2.1.0.11, since the packages for port are now built on OBS.

This is great! Ctrl on right-OK and Alt on left-SYM. IRSSI IS LIKE ON MY PC NOW!

THANKYOUTHANKYOUTHANKYOU., This helps me very much because i cannot sit for long, and use the xt894 to chat while lying down.

However some regressions

1) Keyboard backlighting stopped working
2) Shift button persistence to next keypress stopped working - now shift has to be held to get a capital letter.

Everything else seems to be great.

My main goal now is to get a multi-console emulator (retroarch or emumaster). Running so we have amusement.

merpl
2018-07-12, 08:47
No luck with emulation yet. On my todo liet.

merpl
2018-07-17, 06:10
Any of you got keyboard backlighting or persistent shift key working with TheKit's new image?

moodroid
2018-07-18, 18:12
Hi,

Don't know if this is a Droid 4 thing, or just a general Sailfish thing, but has anyone managed to turn their Droid 4 into a hotspot and connect to it?

It does work in Android, but in Sailfish, the wifi network appears on my computer and when I connect it asks for a password, but after entering the password it just say 'unable to connect'.

Cheers

Macros
2018-07-18, 20:09
Two Droid 4s are on the way to me to test out Sailfish and Leste
(and to have Android when I really need it)

I am very grateful already for the work of all porters and coders.
The droid 4 should go a long way with its 1GB of RAM.
Hopefully long enough for people and manifacturers to discover handsome keyboard phones again.

Wolda
2018-07-22, 09:47
Any of you got keyboard backlighting or persistent shift key working with TheKit's new image?

Hi, the sticky SHIFT key can be obtained by adding the following lines to the first block in "/usr/share/X11/xkb/symbols/us" :


key <LFSH> {
type[Group1]="ONE_LEVEL",
symbols[Group1]=[ ISO_Level2_Latch]
};
modifier_map Shift { Shift_L, ISO_Level2_Latch};


Unfortunately, this seems to be buggy because it sends some escape character that makes crazy programs like vi or ssh when entering passphrases. Any ideas how to fix this?

PS: I've re-mapped CAPS->ESC, SHIFT+CAPS->'\' SHIFT+TAB -> '>' and SHIFT+ENTER -> '|' (the ';' and ':' are as the engraving on the keyboard says). I have most of my daily commands covered, although the lack of symmetry for '<' does annoy me a bit.

Wolda
2018-07-22, 11:32
Hi, the sticky SHIFT key can be obtained by adding the following lines to the first block in "/usr/share/X11/xkb/symbols/us" :


key <LFSH> {
type[Group1]="ONE_LEVEL",
symbols[Group1]=[ ISO_Level2_Latch]
};
modifier_map Shift { Shift_L, ISO_Level2_Latch};


Unfortunately, this seems to be buggy because it sends some escape character that makes crazy programs like vi or ssh when entering passphrases. Any ideas how to fix this?



Allright, a dirty hack that makes SHIFT sticky and doesn't do a mess in vim. We basically redefine CAPS_LOCK function to do the sticky SHIFT, and then assign the SHIFT key the CAPS_LOCK function.

File "/usr/share/X11/xkb/compat/caps" :

interpret Caps_Lock { action = LatchMods(modifiers = Shift);}


File "/usr/share/X11/xkb/symbols/us" :

key <LFSH> { [Caps_Lock] };
key <BKSP> { [BackSpace, Delete ] };
key <RTRN> { [Return, bar] };
key <CAPS> { [Escape, backslash] };
key <TAB> { [Tab, greater] };
key <SPCE> { [ space, less] };


I bet there is a less lopsided way of doing this, but since I live and die with vi, I'm currently being happy with the solution.

Macros
2018-07-26, 21:15
So I have flashed my Droid 4 with the following steps:
Rooted Android
Installed the latest Safestrap Recovery
Selected Safe slot
Flashed cm11->Sailfish 2.1.3.7 failed
Wiped
Flashed cm11->Sailfish 2.1.0.11->Sailfish 2.1.3.7 worked

I can confirm moodroids problem: The hotspot does not work.
I also checked everything mentioned in the first post. I can confirm most of it, except Video recording: It actually works :)

I see this mentioned in the thread, but maybe the post should be updated.

Bluetooth does pair, but does not work otherwise.

Wifi worked after the first reboot

Pin is curious: At first boot I entered it "Wrong Pin",
entered it again "Wrong Pin", pressed cancel and saw that the pin actually worked.
After the third boot it now still displays "Wrong Pin" but closes the pin requester a second later by itself.

And finally I have the 100% battery problem. Its horrible. I have made many reboots and its still stuck at 100%, having the phone shut of at "random" times is very bad. Also it seems like the phone doesn't charge in that state, or does it? I don't know.

Finally: Sailfish is awesome! So much more fluid than the stock rom! I love it.

Macros
2018-07-29, 09:10
Further testing results:

After about 15 reboots I got the battery working. After about 100 I can say, the chance for my device is about 20% that it works, this really needs to be fixed.

GPS is not working:
I get accurate speed and height, but the location is not accurate. Sometimes its exact to the town (2km), sometimes only to the state. This also seems to be reboot dependent.
The compass is not picked up.

After seeing the bad state of the drivers: Would it maybe be possible to use open source drivers which have been mainlined?
http://elektranox.org/droid4/

The keyboard backlight can be manually controlled via /sys/class/leds/keyboard-backlight/brightness. 255 is maximum brightness.


I want to help getting Sailfish fully running on the droid 4, but I have no experience at all in developing for Linux and porting. Only with programming. Feel free to show me where I can contribute.

TheKit
2018-07-29, 14:06
Further testing results:
After about 15 reboots I got the battery working. After about 100 I can say, the chance for my device is about 20% that it works, this really needs to be fixed.

The way battery level is calculated on Droid 4 is weird compared to newer devices. Basically it depends on closed userspace daemon. I tried to fix it and supposed I've fixed it before (the conditions when it starts and when it fails are pretty uncertain), but going to look again then with newer SailfishOS build.

Further testing results:
After seeing the bad state of the drivers: Would it maybe be possible to use open source drivers which have been mainlined?
http://elektranox.org/droid4/

The mainlining work for Droid 4 is pretty cool and I'm aware of it, however, the issue is there is no 3D acceleration support, and SailfishOS UI would be painfully useless with software rendering. If any way to port PowerVR kernel driver to mainline and use PowerVR blobs is found, Maemo Leste will benefit from this as well, see for details: https://leste.maemo.org/Motorola_Droid_4/PowerVR

hispeedimagins
2018-08-21, 05:22
Hello,
I have been using the builds for a while but did not make an account. I like, nice work.

For some reason the email app does not accept my credentials, they work everywhere else. The sd card does not mount, I read that I should Mount it manually but I do not know how. Am a noob.

Can someone please tell me the command and where I have to enter it.

Also is there an office application available in jolla or through android or something else? The sd card is the priority though.

Somewhere on an xda thread it is written that I should change my device resolution. Should that be done?

Thank you, and amazing work , thkit.

moodroid
2018-09-08, 10:08
Is there any way to start /system/bin/battd manually?
When I run it, it just exits. Even if we had to manually restart it when the 100% battery problem occurs, it'd still be a major improvement over rebooting several times.
Thanks, as always, to TheKit for making this excellent rom available.

GalaxyNinja66
2018-09-10, 05:02
Is there any way to start /system/bin/battd manually?
When I run it, it just exits. Even if we had to manually restart it when the 100% battery problem occurs, it'd still be a major improvement over rebooting several times.
Thanks, as always, to TheKit for making this excellent rom available.

battd, as far as I know, is just middleware for an actual battery read daemon. And again, as far as I know, the issue isn't with battd but rather the actual root battery daemon not sending battery information to battd to show in the actual UI without very specific circumstances that TheKit has had trouble recreating. Again take what I say with a grain of salt, I don't have much experience with OMAP devices and porting because the PowerVR graphics that usually accompany them are a nightmare to work with.

moodroid
2018-09-10, 17:14
Thanks for the info. I don't know anything about it. I'd just observed that whenever the % was wrong, that /system/bin/battd was no longer running. For me, pretty much whenever I reboot this occurs. Still love this rom though!

merpl
2019-04-30, 07:30
One of my xt897's turned itself on this morning, so i modded it for hardware-off.
https://geekhack.org/index.php?topic=100460.0 (http://https://geekhack.org/index.php?topic=100460.0)

https://abload.de/img/fuphon046rkt7.jpg

teroyk
2019-09-14, 09:50
This is a testing version port of SailfishOS to Motorola Droid 4 (maserati), based on CyanogenMod 11.0.

08.04.18 update SailfishOS 2.1.3.7[/URL]


Is there coming any update? I might give chance to SailfishOS, when waiting that Maemo Leste will be more ready.

sicelo
2019-09-14, 19:34
Possibly silly question - is it possible to have SFOS on a memory card for example, so that you can dual boot to Android on ROM, as well as SFOS on SD?

Seems to me that the current installation method overwrites Android? Or I missed something?

mp107
2019-09-15, 06:12
@sicelo:
No, it doesn't oblige you to overwrite anything.
You can use Safestrap - modified TWRP recovery - in order to manage so called slots where Android OS ROMs and Sailfish OS can be installed.
You install the Safestrap from stock ROM but after installing it you can get rid of stock ROM.

There are several types of ROM slots available in Safestrap recovery.
Firstly, there is the stock ROM slot which uses partitions used by stock ROM by default.
Secondly, there are 4 slots which use loopback devices located on internal memory (in /sdcard/safestrap directory on any Android ROM).
Thirdly (or rather - sixtly), in modified by @Internauta37 Safestrap recovery available here (https://www.internauta37.altervista.org/en/xt894-and-xt912-safestrap-375-unused-partitions-preinstall-webtop) there is the 6-th slot available. It uses "abandoned" webtop related partitions. Webtop was a Linux desktop environment available when using stock ROM in version 2.3. Later, at Android 4.0.4 upgrade, this feature has been removed by Motorola but the mentioned partitions are still available and it would be kind of waste of to not be able to use them. ;) But be aware this slot is not supported by CyanogenMod/LineageOS by default and you have to modify ramdisk.img file in order to install ROM here.
In recovery modified by @timangus (https://github.com/timangus/droid4/blob/master/README.md) the 6-th slot is called altpart. This slot uses /webtop partition as /system and rest of partitions are the same as in stock ROM slot (it means it conflicts with stock ROM slot so you cannot install ROMs on both of them at the same time). It was created as /webtop partition is bigger than /system and installing for example LineageOS 14.1 leaves few space for installing gapps on stock /system partition. But be aware this slot is not supported by CyanogenMod/LineageOS by default and you have to modify ramdisk.img file or install mentioned on the website zip file in order to install ROM here.

So, in total there are 6 ROM slots available. You can have 6 ROMs installed at once (including SailfishOS) and use Safestrap recovery to switch between them.

Although, I am not sure how installing Maemo Leste affects Safestrap etc.

deutch1976
2019-09-21, 16:54
Hi there. Is it still worth it to buy a used Droid 4 nowadays? Thanks

Macros
2019-09-21, 21:16
In my opinion: No

I bought one because of the keyboard and announced Sailfish port. But the experience is bad (I still carry it with me because Android is often needed today, but also have a N9, N900 and N808)

Pros:
- is rootable
- has 1GB of RAM
- has hardware keyboard
- supports multiboot
- is small
- has Sailfish port
- may get working Leste port

Cons:
- Sailfish port is not in usable state. Charge is only readable in one of 10 boots. Can only be charged if Charge is readable. GPS does not work, Bluetooth does not work, Android support trick stops working, keyboard leds do not work...
- Battery life is bad if not in Sailfish port. Its somewhat ok under Android 4.4 Images, but most apps do not support it anymore. Android 7.1 eats the battery in two hours of use or 20 of standby.
- Keyboard has no control key, also keymaps have errors in multiple system images.
- For Android it is too slow for today's expectations of app developers.
- General phone specs do not excel in any way.

I imported two from US to have spare one, the spare works and only has a slightly broken USB port. Cables do not stay put but work as long as they are in the correct position. After my experiences I am sure I will not need it, so I will gladly send it to any active member here and only request shipping costs. (I live in Munich)

deutch1976
2019-09-22, 07:18
In my opinion: No

I bought one because of the keyboard and announced Sailfish port. But the experience is bad (I still carry it with me because Android is often needed today, but also have a N9, N900 and N808)

Pros:
- is rootable
- has 1GB of RAM
- has hardware keyboard
- supports multiboot
- is small
- has Sailfish port
- may get working Leste port

Cons:
- Sailfish port is not in usable state. Charge is only readable in one of 10 boots. Can only be charged if Charge is readable. GPS does not work, Bluetooth does not work, Android support trick stops working, keyboard leds do not work...
- Battery life is bad if not in Sailfish port. Its somewhat ok under Android 4.4 Images, but most apps do not support it anymore. Android 7.1 eats the battery in two hours of use or 20 of standby.
- Keyboard has no control key, also keymaps have errors in multiple system images.
- For Android it is too slow for today's expectations of app developers.
- General phone specs do not excel in any way.

I imported two from US to have spare one, the spare works and only has a slightly broken USB port. Cables do not stay put but work as long as they are in the correct position. After my experiences I am sure I will not need it, so I will gladly send it to any active member here and only request shipping costs. (I live in Munich)

How much would it cost shipping to Portugal?

Macros
2019-09-22, 11:07
It costs about 5€. I may get lower rates by smuggling it among our company packages. I can tell you the precise price on Monday by PM.

t-b
2019-09-22, 15:48
- Its somewhat ok under Android 4.4 Images, but most apps do not support it anymore. Android 7.1 eats the battery in two hours of use or 20 of standby.
- For Android it is too slow for today's expectations of app developers.


I've got two Droids, one with Lineage OS 13 and one with 14
The 13 version gets me through the day, and the 14 version needs to be charged at least twice a day.
It was a lot better in the past, so I am not sure how much of the difference is the battery itself or the Lineage version.

If you only need a phone for whatsapp and occasional browsing, the Droid 4 with Lineage without gapps is absolutely fine.
My main and still preferred phone is a N900 - I use the Droids mainly for whatsapp (one for business, one for private conversations).


- may get working Leste port


There is already a port that kinda works. I need one that can make and receive reliable calls (esp. my business phone) and capable of dual booting in Android for Whatsapp. So not suited for my needs yet (but hopefully the team will bring us there)

mp107
2019-09-22, 17:22
For me the worst "battery drainer" on Motorola Droid 4 (on LineageOS 14.1) is low 3G signal. Not medium but low, on the edge of signal drop.
Recently I was in place where signal coverage was really poor and I had to workaround battery drain by switching to 2G only. I still was able to browse most of websites using Opera Mini (although I switched its connection mode from HTTP/socket to HTTP as I found it working better on 2G).
Beside these "extreme" conditiions my screen on time is in between 4-5 hours and I charge battery every ~24h.

@Macros @t-b
Have you tried disabling zRAM and enabling SWAP on sdcard instead (not sure if it's enabled in SailfishOS) and enabling GPU rendering in programmer settings?
These "tweaks" significantly reduced lags on my device (of course keeping its low CPU power in mind).

Macros
2019-11-09, 14:14
@mp107

Thanks for your hints. I tried to implement them.
Switching to 2G only helps sometimes, but I already did that. Sometimes the battery is drained even in flight mode.

Disabling zram made the device nearly unusable and it crashed often. Also the constant swaping put additional strain on the battery.

Forcing GPU rendering was a good hint. Several Apps crash less often and run more quickly, also using less power.


I just got good news that one of my Droid 4s is now safe in the hands of deutch1976. I wish him fun exploring Sailfish and Leste with the device and of course I secretly hope he finishes the Sailfish port, so that I can use it as daily driver ;)

teroyk
2019-11-19, 12:59
In my opinion: No
Pros:
- may get working Leste port
Cons:
- Sailfish port is not in usable state.

Although your opinion I bought Droid4. Now it's waiting what OS is first ready to install.