FORUMS
Remove All Ads from XDA

[PORT] Ubuntu Touch for LG L90 Dual

83 posts
Thanks Meter: 126
 
By peat_psuwit, Member on 16th March 2015, 11:10 AM
Post Reply Email Thread
Update 30 October 2016: I'm sorry for very long delay. Being a university student make my free time lower considerably. Anyway, new device tarball is released in stable and rc-proposed channel. This version mostly contains minor fixes, but more importantly, this includes fixes for some famous vulnerability, including the Quadrooter and dirty CoW vulnerabilities. Go to "System Settings" to get your update, or follow instructions below if you haven't update your phone since 9 January 2016.
I still ship experimental fixes in rc-proposed that may freeze your phone when the screen is off. If this matters to you, you may consider using stable channel for now, but that has pretty bad power consumption (but that still means about one day of light usage). Also, there is known bug about mobile network not usable on some network that affects all channels.
Oh, and for those stay on absolute bleeding edge on devel-proposed channel, I currently don't have enough time to test that. So, no release to devel-proposed just yet. Sorry!


Disclaimer
Code:
/*
 * Your warranty is now void.
 *
 * I am not responsible for bricked devices, dead SD cards,
 * thermonuclear war, or you getting fired because the alarm app failed. Please
 * do some research if you have any concerns about features included in this ROM
 * before flashing it! YOU are choosing to make these modifications, and if
 * you point the finger at me for messing up your device, I will laugh at you.
 */
By the way, this disclaimer is actually copied from somewhere else just to protect me from being in the court, and I won't actually laugh at you if your device bricks. If your device really bricks, I will help you as much as possible.

Introduction
This is a port of Ubuntu touch to LG L90 Dual and all L90 models. (See below for tested devices.) Basic functionalities work, but there're still some rough edges all around. It's stable enough to use daily, and I personally use it on my phone every day. If you're tired of Android, you may want to give Ubuntu touch a try.

Tested device
This doesn't mean other devices aren't supported. If your device is labeled as "L90" (or can run Cyanogenmod for LG L90), you can give this a try.
Quote:

  • LG L90 Dual (D410) (My device )
  • LG L90 D405n (single card) (Thanks, keturidu!)
  • LG Optimus L90 D415 (T-Mobile variant) (Thanks, JamesB3)

What's working/not working
Quote:

Note that this is tested using rc-proposed channel.

  • Screen: Works
  • Touch: Works
  • Audio: Works
  • Screen rotation: Works
  • Vibration: Works
  • Camera: Stil picture works for both camera. But video recording doesn't work for the front camera.
  • Mobile Phone: Works for both SIM, but please see "Bugs and workarounds" below for info about 3G slot and data connection.
  • Wifi: Works
  • Video playback: Works
  • GPS: Works.*
  • Bluetooth: Works, but on/off doesn't.
*Do note that Wi-Fi-assisted location isn't available as it's licensed for the official devices only.

Screenshot
Quote:







Information about device tarball and channel selection (obsolete)
Quote:

Now, you don't have to worry about correct device tarball anymore. You just type in correct channels in the command, and the flashing software will get the correct files for you. You can find out more about Ubuntu touch channels at https://developer.ubuntu.com/en/star...mage-channels/. If you're in doubt, I recommend you to use stable channel.



How to install/upgrade
Quote:

Installing for the first time (updated):


The easiest way to install it is using ubuntu-device-flash. All of your personal data will be deleted. Make sure you backup everything important before install.
You have to root your device and unlock device's bootloader. This forum has a good tutorial on that.
For rooting, I recommend http://forum.xda-developers.com/lg-l...dates-t2928364. If that doesn't work, try http://forum.xda-developers.com/show....php?t=2732311. This guide is guaranteed to work.
For unlocking bootloader, I recommend http://forum.xda-developers.com/lg-l...r-l90-t2852917
Also, you'll need an Ubuntu (virtual) machine.
If your device has been running Lolipop, you may have to flash Kitkat-based bootstack for your device (http://forum.xda-developers.com/lg-l...l-l90-t3118632). Make sure you know exact phone model (Dxxx__).
  1. Follow the instruction for preparing your desktop in this link.
  2. Select channel (see information about selection above). Don't download device tarball. The flashing software will get it for you.
  3. Enable ADB for your device. I won't teach you here, but, again, this forum has a good tutorial about that.
  4. Plug your device into your computer. Then, put the device in fastboot mode by running the following command:
    Code:
    adb shell su -c 'dd if=/dev/zero of=/dev/block/platform/msm_sdcc.1/by-name/boot bs=16 count=1'
    adb reboot
    The first command will wipe the first 16 bytes of the boot partition. So, when the device reboot, it'll boot into fastboot mode as the boot partition is broken. Don't worry, it'll be flashed by Ubuntu Touch anyway.
  5. When the device is in fastboot mode, run the following command:
    Code:
    sudo ubuntu-device-flash --server http://system-image.ubports.com/ touch --channel ubuntu-touch/{selected channel} --device w7 --bootstrap --wipe
    There maybe some trouble flashing recovery. If that happen, re-plug the USB chord and try again. You'll see a lot of text and then purple recovery screen. At this point, the computer will push the files into your device. Don't unplug your USB chord until the device reboot again with big Ubuntu logo spinning. Wait until the device reboot into Ubuntu Touch, and, viola, Ubuntu Touch is installed!

Upgrading your device or switch channel (updated):
If you've updated your device with new instruction at least once (since 9 January 2016) and just want to update the device tarball, just go to "System settings" on your device to get your update. But if you've never updated with the new instruction, read on.
  1. Enable developer mode on the device by going to System Settings > About this phone > Developer mode. If you don't have a passcode for your device, set it now by pressing Lock security. Then, enable developer mode by pressing at the check.
  2. Plug your device into the computer, unlock your device (this is important) and run:
    Code:
    ubuntu-device-flash --server http://system-image.ubports.com/ touch --channel ubuntu-touch/{selected channel}
Don't unplug your USB chord until the device reboot again with big Ubuntu logo spinning.

Flash different (Android-based) recovery:

Ubuntu recovery can't be used to flash Android-recovery-format ZIP file. If you want to go back to Android using backed up file or ZIP file, you'll need custom Android-based recoveries, such as TWRP or CWM. You'll need raw disk image (IMG file) for this. Run the following command in terminal:
Code:
adb reboot recovery
# wait for recovery to appear
adb push {recovery image name}.img /cache
adb shell dd if=/cache/{recovery image name}.img of=/dev/block/platform/msm_sdcc.1/by-name/recovery
adb reboot recovery

Download & Source code
Quote:

You don't need to download device tarball manually anymore as flashing software will deals that for you. But if you want, you can download device-specific tarball using --download-only flag with ubuntu-device-flash. Be warned that you can't flash that image directly because updater in recovery image won't trust the signature.

Customization on the Android side can be found in the local manifest in this Github repository:
https://github.com/peat-psuwit/ubuntu-phone_manifest_w7
All kind of pull request is welcome on all of my repository.

Most customization on Ubuntu side can be found at
https://launchpad.net/~peat-new/+arc...stom/+packages
For those interested, this is programs that make phone call on this device works: https://github.com/peat-psuwit/pulse...ameters-setter

Legal notice
Quote:

This distribution of software contains software from Android Open Source Project and CyanogenMod Project. It's under Apache license. Additionally, this distribution also contains software that is normally distributed with Android system, being under various licenses. The detail of license of those files is at /system/etc/NOTICE.html.gz after the system is installed.

This distribution of software contains part of PulseAudio. (Particularly, the modified version of droid module.) It's licensed under GPL version 2 or any later version of GPL. (it's actually distributed under LGPL 2.1+, but it's used with GPL-only libraries, making the effective license GPL. Please look at /usr/share/doc/pulseaudio-module-droid/copyright for detail). Get the patch at https://github.com/peat-psuwit/pulse...ameters-setter

This distribution of software contains timekeep, a small utility to keep track of time & date. This is Copyright (c) 2015, Sony Mobile Communications Inc, and licensed under 3-clauses BSD license. The full license can be seen at https://github.com/peat-psuwit/timek...er/license.txt

Old legal notice:
This distribution of software contains modified version of oFono, Open Source Telephony. It's licensed under GPL version 2. You may have your source-code at https://launchpad.net/~peat-new/+arc...stom/+packages

This distribution of software contains part of GStreamer, open source multimedia framework. (Particularly, the modified version of androidmedia plugin.) It's licensed under LGPL version 2 or any later version of LGPL. You may have your source-code at https://launchpad.net/~peat-new/+arc...stom/+packages

Changelogs
Quote:

Latest update: 30 October 2016

  • Fix problem where pressing buttons below the screen in certain way will cause screen not to go sleep.
  • Fix Quadrooter, dirty CoW, and other vulnerabilities.
  • Change some aspect of build system.
  • Make system use our GPS configuration instead of system's default.

Older update

16 June 2016
  • Fix thumbnail generation for some video resolution.
  • Revert NetworkManager workaround added in the last release as NM 1.2 is now in both rc-proposed and stable channel.
  • Change method to wait for Bluetooth config at startup.
  • Change grid unit size to 13px.
  • (rc-proposed only) Run init.zetaw.post-boot.sh when the phone finished booting. This'll make battery consumption a lot lower but will cause the phone to lock up sometimes. That's why I release this fix to rc-proposed channel only. If you can't bare with something like this, switch to stable channel.


28 April 2016
  • Add a workaround for NetworkManager, to fix Wi-Fi connectivity after mobile data is disconnected. The actual fix is preparing to land in rc-proposed soon, but until then, let's use this workaround.

8 April 2016
  • Update Pulseaudio-module-droid to incorporate audio recording fix.

4 April 2016 (rc-proposed only update)
  • Update Pulseaudio-module-droid
  • Update configuration to run ADB in secure mode.
  • Update recovery image.

11 March 2016
  • Fix race condition in Bluetooth initialization code.
  • Update recovery image

4 March 2016
  • Enable Bluetooth in kernel and android parts.
  • Update recovery image

6 February 2016
  • Update pulseaudio-module-droid distributed in device tarball.

9 January 2016
  • Enforce GPG verification for UBPorts system-image server.
  • Reduce possibility to reboot at startup due to Wi-Fi subsystem.

3 January 2016
  • Fixes in kernel and framework for camera due to changes in Ubuntu side.
  • Make Wi-Fi (pseudo-)on/off works. This fix Wi-Fi not work at startup.
  • Change the way to distribute Pulseaudio module.
  • Fix for touchscreen not working in new revision of Ubuntu.

20 November 2015
  • Split device tarball into 2 versions.
  • Disable some service in Android container that crashes all the time.

26 August 2015
  • Working video recording.

4 July 2015:
  • Include timekeep, a small utility to keep track of time & date.
  • Remove oFono and gstreamer1.0-plugins-bad, as patches are accepted upstream.

8 Jun 2015
  • Working GPS.
  • Update oFono.

1 Jun 2015
  • Working mobile phone for both SIM slots.
  • Update gstreamer1.0-hybris, oFono and droid module of PulseAudio, for supporting new Ubuntu version (wily).

6 May 2015
  • Finally working video playback. Although this is not so good as I cannot make hardware rendering works yet.
  • Include a modified version of gstreamer1.0-hybris package.
  • Update oFono and droid module of PulseAudio.

17 April 2015
  • Update Pulseaudio.

7 April 2015
  • Fix Wi-Fi
  • Temporary disable ubuntu-location-service. As GPS doesn't work yet, leaving that enable will make battery drain fast as it'll always try to load GPS library.

4 April 2015
  • Fix mobile phone in the hackery way.

17 March 2015:
  • Partially fix camera. It can take a still picture, but cannot record video.
  • Fix the problem about GPG signature properly. The hack is no longer needed.

Bugs and workarounds
Quote:

Note that this list is based on rc-proposed channel and stable-based device tarball.

  • At boot, the device may freezes and restarts itself. This is due to the Wi-Fi system and I'm investigating this issue. This is due to fatal subsystem failure in the kernel. I've reduced possibility for Wi-FI subsystem (this is the most common failure), but this may still happen but at the lower rate.
  • If Wi-Fi list doesn't update during the day, turn Wi-Fi off and on.
  • Turning Wi-Fi on and off currently doesn't work. (Note that while you can turn Wi-Fi on-off in system settings, the Wi-Fi chip will be not turned off.)
  • If you're using rc-proposed channel, you may experience lockup when you're trying to wake the phone up from sleep. Currently, there's no fix yet, but if you can't live with it, use stable channel instead.
  • If you're using some mobile provider, your phone will not be able to detect SIM card. The fix is being developed. (If you're curious, it's about comunication between RILD and oFono and how your SIM card is programed.)
Fixed or disappeared problem:
  • Camera will stop working after you bring camera app from suspended state. Workaround: bring app back to suspend state and bring back again. This can be done by swiping from left edge. This seems not be the case now.
  • Sometime, the device may seems freeze because an app is crash. This seems to be the problem in graphic subsystem. The system may becomes responsive again after seconds, but if it takes too long, just restart the phone. This seems not be the case now.
  • Sometime (at boot or sometime after), Wi-Fi stops working. This can be noticed by having Wi-Fi network list not updated. Fixed by pseudo-on/off fix.
  • Second One or both SIM slots may stop working at some boot. Simple rebooting should fix it. You may have to reboot multiple times. Seems to be disappear.
  • 3G slot selection doesn't work when there's only 1 SIM card. Workaround: use another SIM slot. (Fix released)
  • Data connection will work with only 1 of the slots (the one you most recently used before flashing Ubuntu touch. Don't worry, if you can't remember you van try them both). Workaround: put the SIM card with a data plan in another SIM slot. If you happened to have only 1 SIM and the slot that data works is different from the slot with 3G capability, I recommend you to temporary borrow another SIM card from your friend so that you can change 3G slot. change 2G slot in system settings. Fix accepted and released.

Credits goes to
Quote:

  • Quarx2k for the initial Cyanogenmod port.
  • Cyanogenmod for many components I used to simplify my build.
  • Every contributor of LG L90's device tree on Cyanogenmod.
  • Ubuntu for the porting guide.
  • awe, ogra, abeato, rsavelti, popey, anpok, and much more people on irc.freenode.net #ubuntu-touch
  • Sony for timekeep.
  • mariogrips for UBPorts.

The Following 19 Users Say Thank You to peat_psuwit For This Useful Post: [ View ] Gift peat_psuwit Ad-Free
 
 
16th March 2015, 01:39 PM |#2  
Warimation's Avatar
Senior Member
Flag Almada
Thanks Meter: 75
 
More
Im not testing yet as you dont have phone call working.. But when you do i'm going to take a peek..

Enviado do meu LG-D405n atrav├ęs de Tapatalk
16th March 2015, 04:03 PM |#3  
ardentis's Avatar
Senior Member
Thanks Meter: 169
 
More
I will try it when I have the time. I have been waiting to try Ubuntu Touch

Question: Does this method of install wipe custom recovery?
16th March 2015, 05:46 PM |#4  
OP Member
Thanks Meter: 126
 
More
Quote:
Originally Posted by ardentis

Question: Does this method of install wipe custom recovery?

This method will install Ubuntu's recovery before using that recovery to install Ubuntu Touch. So, yes, your custom recovery will be wiped.
The Following User Says Thank You to peat_psuwit For This Useful Post: [ View ] Gift peat_psuwit Ad-Free
21st March 2015, 05:15 PM |#5  
Member
Flag Shelby
Thanks Meter: 9
 
More
I would love to test this out on my D415. Once you get mobile phone and wifi(because t-mobile's mobile data sucks here. I only get 2G xD ), Once those two things get solved i'll be happy to test. Also I think if you moved this thread over to the android development section you'll get more interest shown. I know Ubuntu isn't android but it's still technically development.
22nd March 2015, 02:55 PM |#6  
OP Member
Thanks Meter: 126
 
More
Quote:
Originally Posted by JamesB3

I would love to test this out on my D415. Once you get mobile phone and wifi(because t-mobile's mobile data sucks here. I only get 2G xD ), Once those two things get solved i'll be happy to test. Also I think if you moved this thread over to the android development section you'll get more interest shown. I know Ubuntu isn't android but it's still technically development.

I'm working on mobile phone now and I promise that Wi-Fi will be the next. Anyway, I cannot guarantee that it'll work on your phone, because I have only LG L90 Dual (D410). It may boot or it may not. I have no clue at all.
BTW, I don't know how to move the thread. Please tell me how.
The Following User Says Thank You to peat_psuwit For This Useful Post: [ View ] Gift peat_psuwit Ad-Free
22nd March 2015, 07:20 PM |#7  
Member
Flag Shelby
Thanks Meter: 9
 
More
Quote:
Originally Posted by peat_psuwit

I'm working on mobile phone now and I promise that Wi-Fi will be the next. Anyway, I cannot guarantee that it'll work on your phone, because I have only LG L90 Dual (D410). It may boot or it may not. I have no clue at all.
BTW, I don't know how to move the thread. Please tell me how.

That's great! I understand I just want to ask if I will have any way to get my device back to android if it doesn't boot?
And you could probably PM the moderators of the forum and get them to move it.
30th March 2015, 06:41 PM |#8  
Member
Thanks Meter: 8
 
More
I'm a fan of ubuntu. Never heard much of the mobile version though. How much app is available on this platform or are Android apps also compartible?
31st March 2015, 08:43 PM |#9  
ardentis's Avatar
Senior Member
Thanks Meter: 169
 
More
Quote:
Originally Posted by ichiato

I'm a fan of ubuntu. Never heard much of the mobile version though. How much app is available on this platform or are Android apps also compartible?

There are a little over a thousand apps right now and its just an upcoming platform so it doesnt have good support yet. Android apps are not compatible and will not be officially compatible though someone will eventually change that.
6th April 2015, 06:35 PM |#10  
Member
Thanks Meter: 8
 
More
Quote:
Originally Posted by ardentis

There are a little over a thousand apps right now and its just an upcoming platform so it doesnt have good support yet. Android apps are not compatible and will not be officially compatible though someone will eventually change that.

Thanks. Is there any way I can browse through the list of apps and see? I also read somewhere that the apps for desktop version are compatible with that of the mobile version. How through is this?
7th April 2015, 01:51 AM |#11  
ardentis's Avatar
Senior Member
Thanks Meter: 169
 
More
Quote:
Originally Posted by ichiato

Thanks. Is there any way I can browse through the list of apps and see? I also read somewhere that the apps for desktop version are compatible with that of the mobile version. How through is this?

https://uappexplorer.com/ is an unofficial app store. I know nothing about compatibility other than what Canonical has said. I have no experience using Touch. It would be awesome if Touch could be flashed by zip because I dont feel like f-ing up my only phone..
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes