[Essential PH-1] Porting Thread

780 views
Skip to first unread message

Mikey DeFrancesco

unread,
Mar 2, 2018, 5:06:49 PM3/2/18
to Maru OS dev
This phone has caught my eye as a spiritual successor to the Pixel.

It interests me because the accessory pins are native usb3.0 which would be cool for docks.
It also works with the official Samsung Dex Dock, is arm64 and Snapdragon 835. This would be a treat to run debian on!

My biggest concern is that it uses Displayport USB-Alt mode instead of slimport so this may cause some issues with the porting, however the official Lineage support is a big draw.

Georgian Chituc

unread,
Mar 2, 2018, 8:59:25 PM3/2/18
to Maru OS dev
Displayport USB-Alt mode is in fact using same kernel driver LG g4 or HTC 10 use .So it looks is same hardware just modified interface and upgraded .
Not a problem here . If Lineage Os hdmi out works for ph-1 like it worked for my htc 10 , all will be super easy to port .
I dnt own a PH-1 device now , but if you get one just let me know ,cause I will help you building maru for ph-1 .

Tyler Martin

unread,
Mar 11, 2018, 4:19:14 PM3/11/18
to Maru OS dev
I can try to help as well. I have an Essential.

Georgian Chituc

unread,
Mar 11, 2018, 5:21:17 PM3/11/18
to Maru OS dev
Thanks Tyler for info . If you are avaible for a test , I think in max 1 week I can give you a build for test :)

Michael DeFrancesco

unread,
Mar 14, 2018, 11:43:52 AM3/14/18
to Maru OS dev
I have internet again.
I'm going to try to get this to start building.

Georgian, is that offer still open to contact you if I need assistance?

Georgian Chituc

unread,
Mar 14, 2018, 11:03:25 PM3/14/18
to Maru OS dev
Yes , of course you can contact us if you need assistance .
You will need for sure :)

I first recomend you to enable ccache and build lineage os for ph1 based on the likeage os wiki .
After all will compile fine and we are sure your build is working , we'll integrate maru os into it

Georgian Chituc

unread,
Mar 14, 2018, 11:16:02 PM3/14/18
to maru-...@googlegroups.com

Just try to post here what you are doing and how is working so we to assist you ,so you to dnt lose time .

First just try to make a working build of lineage os 14.1 for ph1 https://wiki.lineageos.org/devices/bacon/build
You have to git clone lineage os 14.1 sources and this too :

https://github.com/LineageOS/android_device_essential_mata/tree/cm-14.1 into device/essential/mata
 
https://github.com/LineageOS/android_kernel_essential_msm8998 into kernel/essential/msm8998

https://github.com/TheMuppets/proprietary_vendor_essential into vendor/essential

Then just use lineage os wiki to start building for "mata" .

So remember , you have to build
14.1 allways choose -b cm-14.1 when you git clone.

After you export ccache , the commands to start building are like this.

source build/envsetup.sh
croot brunch mata


Michael DeFrancesco

unread,
Mar 16, 2018, 3:58:31 PM3/16/18
to Maru OS dev
Displayport is NOT working on LineageOS.

I am working with the team on the mata discord to get this working, will update once I get it working.

Georgian Chituc

unread,
Mar 16, 2018, 4:03:26 PM3/16/18
to Maru OS dev
Display port is working on lineage os , since 2012 .
I use it in Lg g3 Lg G4 ,HTC 10 etc .

I guess the problem is incorrect permissions that are set by boot.img  so Android can not communicate with kernel driver .

Just insert hdmi inside phone and do a dmesg , and give me logs

A B

unread,
Mar 16, 2018, 4:11:59 PM3/16/18
to Maru OS dev
For speed of development I recommend you to focus on this topic and post here what problems you have , because I think I can help you a lot cause I ported already for 2 devices using lineage os as base and I had meed all the problems others porters have + new problems and I managed to successfully pass over ,and make good builds .

Michael DeFrancesco

unread,
Mar 19, 2018, 9:42:44 AM3/19/18
to maru-...@googlegroups.com
You think it's permissions?

Do you know at all what files/libs/etc the 'Cypress Billboard' is relying on for displayport to work?
I took some dmesg logs over the weekend in an attempt to narrow this down, and got my build env running so I can compile.

Here is a dmesg of my plugging in and unplugging the adapter I tested. I have also tried to reach out to the maintainer for pme to see if he can lend any advice.

http://termbin.com/iyz4

[34379.780746] usb 1-1: new full-speed USB device number 2 using xhci-hcd
[34379.901573] usb 1-1: New USB device found, idVendor=04b4, idProduct=5210
[34379.901620] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[34379.901649] usb 1-1: Product: Billboard Device
[34379.901674] usb 1-1: Manufacturer: Cypress Semiconductor
[34379.901698] usb 1-1: SerialNumber: 0001
[34379.912731] usb 1-1: ep 0x81 - rounding interval to 1024 microframes, ep desc says 2040 microframes
[34379.951267] hid-generic 0003:04B4:5210.0002: hiddev0,hidraw0: USB HID v1.11 Device [Cypress Semiconductor Billboard Device]
 on usb-xhci-hcd.0.auto-1/input0

It seems that it's seeing my television but it's not doing anything with it. So at least the kernel is wired up to handle this.


Also, can you look at this branch?

It appears there already is drivers for 'auxdisplay' I am curious if these are the same drivers you are using as it looks like they originated from an lg device tree.

Michael DeFrancesco

unread,
Mar 19, 2018, 1:49:59 PM3/19/18
to Maru OS dev
I was told my og was too short, here is the log that I recorded with three insertions and removals of the hdmi adapter.

I have tried searching for hdmi but didn't find anything in the log related to hdmi. Is there something more I can do such as a dmesg -v?

Georgian Chituc

unread,
Mar 19, 2018, 8:07:19 PM3/19/18
to Maru OS dev
Ok , thanks to easly pass over possible problems , please tell us :

- how you connect  your ph-1 to the display? You use a tv or a monitor ? I use microsoft HD 500 dock for example and just a normal hdmi monitor .

- have you tried the hdmi output with PH-1 factory android ? Did it worked with factory android ?

-if you made a backup of original android , can you give me the boot.img ?(backup of boot partition)

Thank you

Georgian Chituc

unread,
Mar 19, 2018, 8:23:22 PM3/19/18
to Maru OS dev
I need dmesg logs from factory android that comes with PH-1 when you connect it to hdmi .

I think your lineage os do NOT have slimport support .

you can look at my HTC 10 kernel and see your lineage os miss the slimport  directory.

https://github.com/LineageOS/android_kernel_htc_msm8996/tree/cm-14.1/drivers/video   (have slimport)
https://github.com/invisiblek/android_kernel_essential_msm8998/tree/lineage-15.0/drivers/video (i dnt see slimport)


Georgian Chituc

unread,
Mar 19, 2018, 8:54:18 PM3/19/18
to Maru OS dev
Maybe your kernel have slimport enabled ,cause maybe thinks changed from kernel 3.18 to 4.4 but any way

Georgian Chituc

unread,
Mar 21, 2018, 6:23:25 AM3/21/18
to Maru OS dev
What lineage os version have you tried ? It looks that ligeage os 14.1 for mata use a old hdmi driver but the 15.1 seams to be updated .
https://github.com/invisiblek/android_kernel_essential_msm8998/blob/lineage-15.1/drivers/gpu/drm/msm/hdmi/

Michael De

unread,
Apr 11, 2018, 4:03:15 PM4/11/18
to maru-...@googlegroups.com
Have you managed to obtain this file?


I believe the issue is that I only have one supported display mode in the 15.1 source. The diff between 14.1 and 15.1 is too large so I cannot find all the changes. Can I just swap the firmware out and use the Nougat firmware? I might try that once I get things buildling.

I just got a new harddrive so I'm planning on installing that and using Los 14.1 base as my friend just flashed that and confirmed hdmi is working there.

And yes, we do not have slimport we have Displayport-Alt.

Georgian Chituc

unread,
Apr 11, 2018, 4:15:13 PM4/11/18
to Maru OS dev
Can just flash yourself LOS 14.1 and confirm to me HDMI is working?
Thank would be great!

Michael De

unread,
May 8, 2018, 9:20:27 PM5/8/18
to maru-...@googlegroups.com
LoS 14.1 does have hdmi working yes. I am not sure the 15.1 kernel is to blame though, it may be that mdss_dp doesn't have a valid videofrmt resolution struct.

14.1
Logcat:

dmesg:

15.1:
logcat:

dmesg:

I think the displayport sink type is not working on 15.1 and thats why. In the same spot on the logs for 15.1 it shows hdmi as the displaytype.

I can go ahead and build it upon 14.1, can you give me your local_manifest from the htc with lineage? I saw the default maruos manifest has a lot of aosp paths.

Georgian Chituc

unread,
May 9, 2018, 7:25:38 AM5/9/18
to Maru OS dev
So you tested 14.1 and hdmi out is working.This is great!
First time you have to make a clean build of LOS 14.1 for essential phone ,following the xda guide .
Afyer you build LOS 14.1 from source and you test it is working , second step is to apply maruos patches for LOS 14.1 .
For now you just have to build LOS 14.1 without modufucatuons and test it is working, using xda guide -> clone LOS 14.1 source , add kernel and device and vendor for essential phone.
After you complete the build from source I 'll help to integrate maruos .
You have to enable ccache so the next builds to be faster.

Michael De

unread,
May 10, 2018, 3:42:00 PM5/10/18
to Maru OS dev
Seems legit.
I'll repo sync over the weekend, spit a build out, and get back to you.

Ben Carr

unread,
Jul 16, 2018, 12:15:29 PM7/16/18
to Maru OS dev
Were you able to get a 14.1 LOS+Maru ROM to build?

Very excited Essential PH-1 owner.

Georgian Chituc

unread,
Jul 16, 2018, 12:23:46 PM7/16/18
to Maru OS dev
We can build a MaruOs ROM for essential phone , but I don't have the device so we need testers .
If you can provide teamviewer access to a PC that have phone connected via USB , so we to run adb commands , let us know and we can start the building and testing using your phone

Jean-Francois Fillion

unread,
Jul 25, 2018, 3:38:03 PM7/25/18
to Maru OS dev
Im available to build / test the build myself, if you provide me instruction how to do it, i have buy the HDMI adaptor and its is working on the stock rom.
I got displaylink dock available too.

Thx

Ben Carr

unread,
Oct 12, 2018, 10:04:39 AM10/12/18
to Maru OS dev
With 0.6 built off Lineage Out, how is the PH-1 porting coming?
Is there a repo with src or a built ROM?
Is it the usual A/B trick of booting into TWRP and flashing a ROM?
Hoping the 0.6 branch will allow for PH-1 support!
Best,
Ben

Dustin Klingele

unread,
Oct 30, 2018, 2:23:47 PM10/30/18
to Maru OS dev
I have the device in question, so I am willing to test it by using either files provided ( I can run ADB commands and give you the outputs ) or allow you to connect via Teamviewer, I am also willing to setup the build chain needed using Windows Subsystem for Linux ( I can't dual boot the machine ) and work with it directly, just need the guidance to integrate Maru into the Lineage ROM.

I'm keen to get this working as I may have to give up my Mac soon ( a relative has damaged theirs and I haven't had the chance to fix it yet... ) and would like to see if we can get this working so I have something I can use at home.

Dustin Klingele

unread,
Oct 31, 2018, 10:20:10 AM10/31/18
to Maru OS dev
Currently syncing the maru-0.6 repo to my machine, not sure if I need the LineageOS repo as well, the instructions seem confusing (out of date?) from another thread I was looking at. If the maru-0.6 has the mata (codename for PH1) files, then I should be able to just build without changes. Otherwise, I'll try and fork the repo to my account and see if I can get it to build following the guide.

Preetam

unread,
Nov 2, 2018, 3:20:23 PM11/2/18
to Maru OS dev
On Wednesday, October 31, 2018 at 10:20:10 AM UTC-4, Dustin Klingele wrote:
Currently syncing the maru-0.6 repo to my machine, not sure if I need the LineageOS repo as well, the instructions seem confusing (out of date?) from another thread I was looking at. If the maru-0.6 has the mata (codename for PH1) files, then I should be able to just build without changes. Otherwise, I'll try and fork the repo to my account and see if I can get it to build following the guide.

Maru uses LineageOS as the base OS on manifest branches `cm-14.1` and `maru-0.6`. There is no need to sync any LineageOS repos other than the device and kernel repos for the particular device that you are porting.

Dustin Klingele

unread,
Nov 5, 2018, 8:05:05 AM11/5/18
to Maru OS dev
Ok, awesome. I'm using Ubuntu server 18.04 as my base, but it looks like that uses lxd as the new container tool which has different requirements for creating a container (for the desktop building prcoess) so I'm investigating that now. I may (probably will) for the sake of getting this going just download the prebuilt one and proceed from there.

Dustin Klingele

unread,
Nov 5, 2018, 8:27:33 AM11/5/18
to Maru OS dev
Yeah, lxd does not do what lxc does in nearly the same way so I'm switching to debian as my base. Learning some lessons here...

Georgian Chituc

unread,
Nov 5, 2018, 2:33:12 PM11/5/18
to Maru OS dev
You can use Ubuntu 16.04 or 18.04 to compile maru . lxc is used inside maruos , you don't need it inside your build machine

Dustin Klingele

unread,
Nov 6, 2018, 10:09:38 PM11/6/18
to Maru OS dev
Well if I want to compile the desktop part I needed it. But I have a different issue at the moment anyways: I don't have enough spare free space to both download the repo AND compile it, so I'm going to fix that tomorrow if time permits. I am in the middle of moving (unexpectedly) so it's putting a temporary halt to extra projects.

This does lead me to ask: do I need to build the desktop environment or can I use the ones posted in the documentation? I'm guessing if I have a different arm chip/instruction set (Snapdragon 835) that I would need to build for that.

Basically I'm certain I need to first figure what type of arm the snapdragon 835 is, then build the desktop environment for that, then integrate the kernel for the PH-1 using the flags listed in the dev documentation and compile the whole thing and install it.

Luckily I have an alternate phone I can use while I test it out.

Georgian Chituc

unread,
Nov 6, 2018, 10:54:58 PM11/6/18
to Maru OS dev
To get maru working in essential phone you don't need to compile Debian / Ubuntu (desktop part) ,just add the rootfs.tar.gz to the android build

Dustin Klingele

unread,
Nov 6, 2018, 11:12:14 PM11/6/18
to maru-...@googlegroups.com
Ok. I had to follow the rabbit hole on the ARM64 HDMI crashing issue, looks like that was fixed (partially why I was trying to compile it...) but also I wanted an as fresh as possible version.

At any rate, the repo sync is taking like 90+ GB's (!!!) of storage space, so I'm going to rebuild the VM with a bigger drive and resync it as soon as I can, but I'll need to do it with an actual physical drive that I'll be hooking up to the machine when I get the chance tomorrow. Hopefully the speed doesn't slow down too much since I'll be running it across USB 3.0...

So, where do I find the newest blueprint precompiled version? All I can seem to find is the 0.4.1 prebuilt's....

EDIT** I found your androidfilehost downloads, will the ARM64 images just work or will those need to be ran on the device you have them created for?

Georgian Chituc

unread,
Nov 6, 2018, 11:23:02 PM11/6/18
to Maru OS dev
Yes it must to work . Any way if you are serious about really wanting to get maru on your device I can help you , but you need to test the build .
Also I need to know if lineage os 14.1 HDMI out works 100% on your phone . If you have the adapter for HDMI out . About the problem of a lot of GB of source code just add to repo init : --depth=1 so it to get just last version .

Georgian Chituc

unread,
Nov 6, 2018, 11:26:11 PM11/6/18
to Maru OS dev
Another user said los 14.1 HDMI out works on essential, but 15.1 do not work . you have to flash a los version and confirm what really 100% works.

Dustin Klingele

unread,
Nov 7, 2018, 7:54:23 AM11/7/18
to Maru OS dev
I'm serious about getting it to work, and I am willing to test a build if you have one, (so send me link if you got it) but I'm also going to try to build it myself today if time permits. I know HDMI out works on the stock android Pie firmware, so that's optimistic. I know that LOS may not contain the same support, being a non-official ROM and all that jazz.

Georgian Chituc

unread,
Nov 7, 2018, 8:34:54 AM11/7/18
to Maru OS dev
I was just curious if you got hdmi out from amy los 14.1 or 15.1

Preetam

unread,
Nov 7, 2018, 2:55:10 PM11/7/18
to Maru OS dev
Yes, we need to confirm if HDMI works on 14.1 and/or 15.1 so you can save some time integrating it into Maru.

If it works on LOS 15.1, then you can use branch maru-0.6

If it only works on LOS 14.1, then you can use branch cm-14.1.

However, it is much preferable to use maru-0.6 since I don't update cm-14.1 much anymore - it's definitely missing some of the latest Maru patches which would need to be backported and tested.

Ben Carr

unread,
Dec 19, 2018, 12:38:08 PM12/19/18
to Maru OS dev
Wondering if there is a Maru 0.6 ROM floating out there and what it's stability is like. Have a PH-1 and happy to test if it's stable enough to be a daily driver.
Best,
Ben

Georgian Chituc

unread,
Dec 19, 2018, 11:33:09 PM12/19/18
to Maru OS dev
Oke , great , if you 're available to test , I can make you a build . So we will find out if HDMI out works for you .It must work with a simple usb c cable to a tc that supports it , or a HDMI adapter like MS HD 500 dock . Do you have any options to give video out from your phone to tv already?

Ben Carr

unread,
Mar 6, 2019, 4:51:24 PM3/6/19
to Maru OS dev
I have both Chromecast and a Huawei MateDock USB-C Multiport Adapter:
  • USB Type C Connection to Huawei MateBook
  • 2 USB 3.0 ports
  • Ethernet Port
  • HDMI and VGA display connections

https://amzn.to/2Hg14Nu

I'm also an old hat on Lineage (Cyanogen) and have flashed the Essential a few times to try different things, adb and fastboot are both my friends (A/B partitioning like the Pixels). If you wouldn't mind spinning up an 0.6 *Okinawa* (huzzah!!!!!) image, I would love to try it. 

Best,
Ben

Georgian Chituc

unread,
Mar 6, 2019, 7:22:47 PM3/6/19
to Maru OS dev
Ok  , great ! Thanks for telling us you can test maru on essential  . This phone is one I wanted to buy in past abd build maru for it but I chosed HTC 10 cause essential was hard to find in my country ,  so now we can still see maru on it

jlc...@gmail.com

unread,
Mar 19, 2019, 3:13:14 PM3/19/19
to Maru OS dev
I have the essential phone and would be willing to test Maru on it. Let me know how to get started.

Ben Carr

unread,
May 20, 2019, 10:43:34 PM5/20/19
to Maru OS dev
Any updates on an Essential PH-1 image? It should build similar to the Pixel2, and it looks like we have multiple people willing to test.
Best,
Ben

Jeffrey Michel

unread,
Sep 5, 2019, 4:50:52 PM9/5/19
to Maru OS dev
On Wednesday, December 19, 2018 at 8:33:09 PM UTC-8, Georgian Chituc wrote:
> Oke , great , if you 're available to test , I can make you a build . So we will find out if HDMI out works for you .It must work with a simple usb c cable to a tc that supports it , or a HDMI adapter like MS HD 500 dock . Do you have any options to give video out from your phone to tv already?

Hey just a quick question, would crowd funding using something like a GoFundMe page to purchase you an essential PH-1 help your development? I imagine you could build locally and do initial testing and release a build to people willing to test for feed back. I would be willing to donate money in order to help development move along.

Jerome C.

unread,
Sep 17, 2019, 12:33:51 AM9/17/19
to Maru OS dev
Why is this thread being completely ignored?
I'll test the build on my essential...

Preetam D'Souza

unread,
Sep 26, 2019, 9:36:57 PM9/26/19
to Maru OS dev
I guess none of our devs has the time to build for the Essential..

I don't want to promise anything, but I'll try setting up a build after I finish up some work with @utzcoz to support the Pixel.

Jerome C.

unread,
Sep 26, 2019, 9:49:50 PM9/26/19
to Maru OS dev
Thanks for the response. I'd love to test a build if someone has the time to spin one up.

Charlene Klingele

unread,
Oct 23, 2019, 1:12:33 PM10/23/19
to Maru OS dev
I was working on building for the PH1, however I was running into issues with the process, and I don't know enough to "just build it." so it was taking me too long to get through that, and I ended up loaning out my PH1 to a friend shortly after anyways. Now that I have it back, I'm open to testing/working on building it. I just had forgotten that this even existed as a thread.

michael V

unread,
Nov 3, 2019, 6:32:12 PM11/3/19
to Maru OS dev
I am gearing up to compile maru for essential phone which is coming in the mail soon.
I am starting by practicing to compile the source, following the guide but skipping the usb setup for now
which has moved and wget from it just throws an error)

Other than adding an occasional sudo and doing a bit of extra work
not mentioned in the guide to set up git with profile name and email
it seems to be going OK but...
1. LineageOS16 is the only version officially supported for essential phone.
Earlier versions like 15.1 only have informal builds because they did not want
to use Google apps/code to deal with A/B setup afaict. So I am hoping
LineageOS16 is available soon under Maru.
2. The guide has a whole section on getting binary blobs. WTF? I mean is this
something I can just ignore for LineageOS builds. LOS already has binary drivers
in its source tree. Do I need to hunt anything else?
2a. Is there a branch of the guide specific to building on top of lineageOS? 
For example, how does one select LOS 14.1 vs 15.1 vs 16? 

michael V

unread,
Nov 5, 2019, 3:26:29 PM11/5/19
to Maru OS dev
Got the phone. Testing it with Android 10 now.
Meanwhile I am stuck with Maru but almost done compiling Lineage.
Seems I need to tweak some settings because I am running out of RAM or swap. Lineage seems easy to compile except they lie when they say that you need to tweak one header to use python2 when your system's default is python3. There is too many headers to tweak. I used virtualenv to brute force all python calls to python2 and it seems to go smooth with that.
Anyways, I got the device and I hope to see some guidance on Maru, especially once I get LOS compiling without running out of RAM.

Preetam D'Souza

unread,
Nov 5, 2019, 9:37:18 PM11/5/19
to Maru OS dev
On Sunday, November 3, 2019 at 6:32:12 PM UTC-5, michael V wrote:
which has moved and wget from it just throws an error)
 
Thanks for the heads-up. I'll fix it.

Other than adding an occasional sudo and doing a bit of extra work
not mentioned in the guide to set up git with profile name and email
it seems to be going OK but...
1. LineageOS16 is the only version officially supported for essential phone.
Earlier versions like 15.1 only have informal builds because they did not want
to use Google apps/code to deal with A/B setup afaict. So I am hoping
LineageOS16 is available soon under Maru.

We are working on porting Maru up to 16 soon. @Georgian has had success getting Maru running on 16 so it should definitely be possible.

2. The guide has a whole section on getting binary blobs. WTF? I mean is this
something I can just ignore for LineageOS builds. LOS already has binary drivers
in its source tree. Do I need to hunt anything else?

The details depend on the particular device. Newer device with separate vendor.img may not require building the blobs in-tree. For devices that do not have a separate vendor.img (typically older devices), they must be pulled in via the methods in the docs.

2a. Is there a branch of the guide specific to building on top of lineageOS? 
For example, how does one select LOS 14.1 vs 15.1 vs 16? 

Please see the branch table in the first few sections of the docs. Selecting 14.1 vs. 15.1 is as simple as repo init against either the maru-0.5 or maru-0.6 branches respectively.

Georgian Chituc

unread,
Nov 5, 2019, 11:27:06 PM11/5/19
to Maru OS dev
I allways build them on Ubuntu xenial real server , Los 14 , 15 ,16 never had to change anything for phyton . All that need to change is the Java version from Los 14 to 15 .just uninstall the unnecessary phyton version and keep the one that is good for los .
I build them in past using 8 GB ram without problems . Now things got better cause I have 64 gb and it DNT even need to swap.

michael V

unread,
Nov 9, 2019, 6:06:31 PM11/9/19
to Maru OS dev
OK, so after some battles with java and python but most importantly after upgrading my RAM from 6GB to 16GB, I now have a clean compile of LOS 15.1
I am on Ubuntu 18.04 so my default python is v3 which makes things a little more interesting with repo.
I followed https://headthirst.com/lineageos-building.html basically, and to make discussion easier I reproduce steps here, skipping a few very early steps which have nothing to do with the compile process (like getting all the basic packages installed):

%Housekeeping
mkdir -p ~/android/lineage
cd ~/android/lineage
%Get code
repo init -u https://github.com/LineageOS/android.git -b lineage-15.1
repo sync
%I had to do "rm -rf ~/android/lineage" once to reset the process
%I assume github can send inconsistent snapshots
%OK, now set up everything
export WITH_SU=true
source build/envsetup.sh
breakfast mata
%add <project name="TheMuppets/proprietary_vendor_essential" path="vendor/essential" />
%to ~/android/lineage/.repo/local_manifests/roomservice.xml
%As expected, binary blobs are standard LOS stuff
%OK, now build
%First sync (with new manifest)
repo sync
%Housekeeping
source build/envsetup.sh
croot
%compile
brunch mata

Some steps need sudo, there is extra work to set up python 2 vs 3 and a fun game to make sure java version is correct. One can also use optimizations with ccache and play games with jack to speed up compile. But that's the barebones.
So... what _exactly_ do I change in the above to link to Maru code?
The above gives me LOS 15.1 on mata so I assume Maru should be easy to compile into this.

Georgian Chituc

unread,
Nov 9, 2019, 6:17:07 PM11/9/19
to Maru OS dev
Now get maru 0.6 using repo and Mary manifest , like in maru wiki, and clone it into the dir 'maru' .

After Maru sync is done , copy from lineage os the device tree, kernel and vendor directory into the maru build . adapt your device tree to include vendor maru . and build it like you build los , except breakfast . you can see on maru github my mods to star2lte device tree and mode same your device tree .

michael V

unread,
Nov 11, 2019, 12:19:38 AM11/11/19
to Maru OS dev
OK, so I finally got to it. Copied (r more precisely merged) device, kernel, and vendor folders from lineage folder to maru folder. If this is right, then I guess all I need is to figure out what you mean by "adapt the device tree". Trouble is, I cannot see your s9 code. In any case, it is a matter of editing a shell script or two. Could you write a brief howto here. Thanks in advance.

michael V

unread,
Nov 11, 2019, 12:58:32 AM11/11/19
to Maru OS dev
Looks  like my sync already got me star2lte. Had no idea the code was in the main repository. Cool.
So basically, I made files full_mata.mk, maru_mata.mk and edited them from your versions to refer to essential/mata then also edited vendorsetup.sh same way. This is all for files in device/essential/mata folder. Going to try lunch soon but on my ancient laptop it takes many hours even with 16gb of ram. Let me know if I am obviously missing anything so I do not iterate too many times :) Thanks.

michael V

unread,
Nov 11, 2019, 1:09:15 AM11/11/19
to Maru OS dev
source build/envsetup.sh

gave me

including device/essential/mata/vendorsetup.sh

So something is going right. But I forgot to run

virtualenv -p /usr/bin/python2.7 --distribute temp-python
source temp-python/bin/activate

so my first attempt at brunch failed. Now going. Will update if I have a build.

michael V

unread,
Nov 11, 2019, 10:08:57 AM11/11/19
to Maru OS dev
Getting an error:

error: resource layout/preference_material_settings (aka org.lineageos.settings.device:layout/preference_material_settings) not found.

Hmm.

michael V

unread,
Nov 12, 2019, 9:44:13 AM11/12/19
to Maru OS dev
Had to copy lineage/packages/resources into maru/packages/resources and the build is complete. Going to try and test it for a bit. No errors but so many warnings during the compile.

michael V

unread,
Nov 13, 2019, 12:15:57 AM11/13/19
to Maru OS dev
LOS boots and mostly works (home app doesn't though) but no sign of Maru. Back to debugging. Any ideas, Georgian?

michael V

unread,
Nov 13, 2019, 12:20:54 AM11/13/19
to Maru OS dev
"About phone" has "Maru version" field but it is blank. So some Maru got in. Not sure why it does not show up on my hdmi.

Georgian Chituc

unread,
Nov 13, 2019, 6:51:36 AM11/13/19
to Maru OS dev
You can adb as root to your phone see what lxc-start etc say . debugging it is not just so easy , but if you wait till weekend i will make a build based on los 16 for mata and you can try . i m updating my local one to latest los source

michael V

unread,
Nov 14, 2019, 2:35:14 PM11/14/19
to Maru OS dev
Great, although I was planning to start poking around Maru's LXC architecture anyways so this is a good starting point for me :)

michael V

unread,
Nov 15, 2019, 1:10:04 PM11/15/19
to Maru OS dev
Sideloading a launcher gets me a functional LOS and it seems everything works (camera, bluetooth, etc).
But after adb shell, I cannot seem to run  any lxc commands. my developer options allow root access to adb and I tried various permutations of su to get going.
What is the easiest test to run as to whether Maru got properly compiled into LOS ?

Preetam D'Souza

unread,
Nov 27, 2019, 8:15:00 PM11/27/19
to Maru OS dev
I would check that Maru's core init file has been pulled into your build correctly: init.maru.rc. I would verify that the core Maru processes are running (mflinger, perspectived). I would make sure /data/maru is being populated with all the LXC files, including the container rootfs.

Ben Carr

unread,
Feb 13, 2020, 11:27:48 AM2/13/20
to Maru OS dev
With Essential Closing up shop:
https://www.theverge.com/2020/2/12/21134995/essential-phone-software-updates-security-android-startup
https://www.anandtech.com/show/15505/andy-rubins-essential-smartphone-company-shuts-down


They have at least left a lot of OpenSource tools to work with:
https://github.com/EssentialOpenSource

What is the status of the build? There is a LineageOS port already:
https://wiki.lineageos.org/devices/mata

My battery is dying, and I am deciding between trying to swap batteries or jumping to a newer phone.

Loïc Poisot

unread,
Feb 14, 2020, 6:26:01 PM2/14/20
to Maru OS dev
Try to postpone your choice a few days, Georgian is about to get maru running on LOS16, then I could give it a try porting Mata to maru.

Tim Senecal

unread,
Mar 30, 2020, 8:06:27 PM3/30/20
to Maru OS dev
Has there been any progress on this?  Is there anyone out there that has an actual working version of MaruOS running on the essential PH-1?  I have downloaded the source for LineageOS 16, and compiled it, but have not installed it or added any of the MaruOS patches.

On Friday, March 2, 2018 at 3:06:49 PM UTC-7, Mikey DeFrancesco wrote:
This phone has caught my eye as a spiritual successor to the Pixel.

It interests me because the accessory pins are native usb3.0 which would be cool for docks.
It also works with the official Samsung Dex Dock, is arm64 and Snapdragon 835. This would be a treat to run debian on!

My biggest concern is that it uses Displayport USB-Alt mode instead of slimport so this may cause some issues with the porting, however the official Lineage support is a big draw.

Loïc Poisot

unread,
Mar 31, 2020, 11:30:05 AM3/31/20
to Maru OS dev
Well Georgian shared his patches, but they're incomplete.

I solved some problems as you can see in the Poco F1 thread.
I would say we're really close to get it working.

You can start applying patches, add some maru folder, apply my fixes and try by yourself.
For the moment the instructions are splitted on several threads, but as soon as we get it working, I'll do a recap on the LOS 16 thread.

Georgian Chituc

unread,
Mar 31, 2020, 11:33:56 AM3/31/20
to Maru OS dev
The pathes are complete cause I testem them on a clean los , but you have to add another pices to have full maru . The patches are for framowrk base ,native and settings apk from los . The rest of pieces have to be added like in docs , I mean vendor maru os  , lxc , maybe pulseaudio etc :)

Also Modules in Android.mk files can depend on modules in Android.bp files, but not the other way. I have to inspect how your frameworks depend on libperspective
Reply all
Reply to author
Forward
0 new messages