new binder driver helps your phone run smoother - Android Software/Hacking General [Developers Only]

Hi guys,
I've written a completely new Android binder driver (for IPC), which is targeted to solve some fundamental issues in the existing driver. One main improvement is to make concurrent IPC calls possible. Some background info can be found in my earlier post on Android kernel group:
http: slash slash groups.google.com/group/android-kernel/browse_thread/thread/c57874670e4decb1
(oops external urls are not allowed for new users
There weren't many people interested due to low volume of the group. Now that I have completed the first version, which is back compatible with the existing driver, and fixed a few bugs. I've tested on the ICS emulator and my phone U8150 Froyo. It seems to be running quite well, but I want to see how it runs on other Android devices while I'm getting my new phone. Test results, bug/issue reports, and of course community comments will be very welcomed, which are important for me to determine how the code should further move on.
Although not proven, I'm expecting not only those dual core phones, but single core ones will get an overall smoother response in various parts of the system.
Okay if this still somehow interests you, you can find my project on github
https: slash slash github.com/rong1129/android-binder-ipc
and just dive into the release directory, use the latest version (0.4 so far) to patch your kernel source tree, then upload the new kernel image to your device and see whether it works for you.
Note this is still an early release and has very limited tests so far. Please make sure you understand the risk before you hack your phone and always back up everything before you started. As other disclaims go, I'm not responsible for any damage may be caused by or related to using or in the process of using the driver
Lastly, happy hacking!
Cheers,
Rong

*subscribing to this thread*
Hi Rong,
thank you so much
our phones, tablets, etc.
can't have too much smoothness
I hope that I'll find some time within the next weeks to also give this a test on the Xoom and see whether it works (with ICS; Team Eos kernel)
there at least seem to be issues with ICS on the SGS (galaxys s1)
http://forum.xda-developers.com/showpost.php?p=23937103&postcount=2502

I found this thread . Is this driver the same on all android devices and roms? Or do you have to mod it for every single device/rom?

Related

Polaris Android Linux Kernel Development Project

*** PLEASE READ CAREFULLY BEFORE INSTALLING OR FLASHING ANY SOFTWARE POSTED IN THIS THREAD ***
The software posted here is for TESTING purposes only, The Polaris Android Linux development team or any of the posters of software or links to software on this thread, take absolutely no responsibility or liability for damage caused by the result of installing or flashing software or links to software found on this thread - correctly or otherwise, you do so on the sole understanding that you do so at your own risk. A final version will be posted on completion of a version 1 kernel at which point testing and support for the kernel will be moved to a suitable thread. Please do NOT post support questions on this thread - this is a development thread ONLY.
Development work is sometimes done in the irc channel: #htc-linux. To follow the latest developements please read the daily logs which can be found at: http://irclog.iclem.net/?chan=htc-linux&day=13
Lastly, Please do not use bad language in your posts, I have my little girl with me most times and do not need her to read such things. Appreciate your understanding.
Update: We now have a few threads devoted to userspace (system images), This is a KERNEL DEVELOPMENT thread which is starting to get too big for devs to follow. The purpose of a good development thread is to serve as an archive and a blueprint for future developers and that is hard to do when you have hundreds of non-related posts. I have therefore asked the moderator to move all non-kernel posts to their appropriate threads.
-----------------------------------------------------------------------------------------------------------------------------------------------
01-09-08 - new link to files for working wifi
http://www.4shared.com/dir/19593527/3cb53c3a/sharing.html
24-07-09 - If anyone is interested in making themed system images, he's posted this link to help you learn how to do it:
http://forum.xda-developers.com/showthread.php?t=471586
19-07-09 - New kernel with changes from Vogue branch released. I am currently testing radios and resolutions. List of resolutions from kaiser thread
15-07-09 - A revival in our development as meant we are now catching up with the other devices with development on the project. Thank you to all who donated to the purchase of development Polaris that will be used by vilord, from vogue forum to help us with the project.
Current developers:
Life02 - Fixed GPS, Working on Battery issues.
Vilord - On holiday, now in possession of a Polaris. Also working on Bluetooth.
Newbie16 - Fixed Wifi - need to add irq's.
05-07-09 - New 1.5 ION build of Android for the Vogue has been reported to work well for the Polaris and can be found on the Google Vogue repository. The new 1.5 builds are noticeably also faster and smoother than previous builds. Some troubleshooting info can be found at the Androidhtc website for these builds (thanks freddycs). APN details can be found on Wikipedia - (thanks Mormy)
Things that do NOT work at present:
Bluetooth - No - Working partially for Vogue
Wifi - WORKING! *NEW* - thanks to a lot of effort by my friend Newbie16 - thanks mate
Camera - No - Working for Vogue
GPS - now working thanks to life02! - Well done my friend
---------------------------------------------------------------------------------------------------------------------
A new thread for budding designers has been set up by Venigo, (thanks matey!) who will lead the design side of the Polaris Android project (kind of makes you a little emotional thinking we're at that stage where we can start thinking about wallpapers and themes doesnt it?) Thread can be found here: Polaris Linux Android - Wallpapers, Themes and Icons
UPDATES: - Please check the WIKI for up-to-date progress updates here: Android on Polaris WIKI (Thanks excogitation)
NEW TESTING AND BUG THREAD ANNOUCEMENT:
marcelkordek has kindly started a thread for testing and bug reporting as we now have an almost usable Android image which can be found here: Polaris Android Project - Testing and Bug Reporting The thread will also be used to provide updates on the progress of the Android kernel as well as providing feedback to the devs on the latest posted images. Please ensure that the Testing and Bug Reporting thread is used for reporting user experiences and enable to keep the development thread cleaner and make life easier for the devs, whom you will all agree are doing an excellent job to support our beloved device.
18/1/09 - Working Radio with calls at last! Audio and SMS still not working but GPRS does but with a bit of fiddling.
16/1/09 - SMD code is nearly fixed by DZO, Rogro82 will be making a new image soon. Most of the development at this time is being reported in the Kaiser forum: UPDATED!!! - Google Android and Linux for KAISER!! as DZO was sent a Kaiser and he is working on the issues on it.
5/1/09 - DZO is working to bring the Kaiser and Polaris branches together so that the kernel will work on all our devices. Waiting to see what changes are made.
1/1/09 - Rogro82 uploaded a "booting" 1.0 SDK along with source files and instructions (below). Although this is very much a work-in-progress, it is the first bootable version of the 1.0 SDK for the Polaris.
11/12 - DZO and rolk worked out some changes that may help us resolve the SD Card stability issue. Dwaradzyne posted up a Zimage with the changes for testing.
CPLD Handbook
GPIO Manuals
LATEST FILES USED FOR DEVELOPMENT:
1/1/09 - Latest files are packed in this archive - to boot simply unpack to the root of your sd card and run haret (included).
A big THANK YOU to Rogro82 for getting the 1.0 SDK booting on the Polaris
Enjoy!
-----------------------------------------------------------------------------------------------------------------------------------------------
FIRST POST
I'll start with another simple question I cant find an answer to:
WHY CANT WE JUST PORT THE G1 ROM TO THE POLARIS?
#2 reserved for update
I will try to search too
I will try to put as simple as possible. Building a ROM requires combinig two parts:
1. Kernel/drivers part.
2. Applications and stuff.
In case of Windows Mobile part 1. in practice always comes from official HTC Polaris ROM. Part 2 comes from other official HTC ROM (could be other phone) and it can be modified by cooker.
We do not have a full working Polaris Android ROM, and we cannot just cook without part 1. Part 2 is available as Android sources are open.
The reason why we did not have 3d driver working on Polaris immediately after first Diamond ROM was available is that part 1. is not transferrable from one model to another.
Part 1. in Android is Linux kernel. We must get involved in Linux kernel developement for Polaris to bring Android to our phones.
why do we always want our phones to look like other phones. why cant we just be unique. we are windows mobile. TOP DOGG. i like windows mobile theme especially when its black. i like g1 but the design looks ancient. its not 2008 more like 1998
dortyboy said:
why do we always want our phones to look like other phones. why cant we just be unique. we are windows mobile. TOP DOGG. i like windows mobile theme especially when its black. i like g1 but the design looks ancient. its not 2008 more like 1998
Click to expand...
Click to collapse
absolutely agree. Copying iPhone was fun the first 2,3 months. Why not trying to develop really good apps with nice UIs and make own ideas into real interfaces for throttle launcher, M2D etc etc - posibilities are nearly endless.
i absolutely agree. i havent seen not one cool program thats actually usefull in our daily life for windows mobile not since i had a treo way back.
programs like directory; that could look at your number and tell u the owners name and adress
stuff like that. maybe tell u when zip code the call is coming from. useful programs. not the crappy programs that just try to make your phone look pretty.
thats why people go to iphone, the programs are useful in peoples daily life but not windows mobile
Here we go
ROM download :
Code:
http://rapidshare.com/files/155612986/Android_dump.rar
I think its a probleme with the boot loader and some part of the android code which isn't public
Have look here :
Code:
http://www.limofoundation.org/en/limo-press-releases/limo-foundation-statement-on-the-google-android-g1-handset.html
dortyboy said:
why do we always want our phones to look like other phones. why cant we just be unique. we are windows mobile. TOP DOGG. i like windows mobile theme especially when its black. i like g1 but the design looks ancient. its not 2008 more like 1998
Click to expand...
Click to collapse
Are you new to the mobile device world?
We are not trying to get it to "look like the G1". We are talking about using a completely different operating system.. lol.. and you are talking about a black windows mobile theme and how the hardware of the G1 looks ancient.. lol..
Oh.. and "being unique" in this case would be having Android on a non G1 phone.. that would be unique. Windows mobile is not unique.
m.schmidler said:
absolutely agree. Copying iPhone was fun the first 2,3 months. Why not trying to develop really good apps with nice UIs and make own ideas into real interfaces for throttle launcher, M2D etc etc - posibilities are nearly endless.
Click to expand...
Click to collapse
Developing apps and trying to use resource hog throttle launcher is nothing close to having a brand new stable device operating system.
m.schmidler said:
absolutely agree. Copying iPhone was fun the first 2,3 months. Why not trying to develop really good apps with nice UIs and make own ideas into real interfaces for throttle launcher, M2D etc etc - posibilities are nearly endless.
Click to expand...
Click to collapse
Maybe we can develop better apps under Android?
Look at the apps currently available for iphone - hopefully Android will get better market penetration than Windows Mobile, and, because it's open source it opens up a whole range of possibilities for developers.
I say if it can be done, it should be done!
dwaradzyn said:
I will try to put as simple as possible. Building a ROM requires combinig two parts:
1. Kernel/drivers part.
2. Applications and stuff.
In case of Windows Mobile part 1. in practice always comes from official HTC Polaris ROM. Part 2 comes from other official HTC ROM (could be other phone) and it can be modified by cooker.
We do not have a full working Polaris Android ROM, and we cannot just cook without part 1. Part 2 is available as Android sources are open.
The reason why we did not have 3d driver working on Polaris immediately after first Diamond ROM was available is that part 1. is not transferrable from one model to another.
Part 1. in Android is Linux kernel. We must get involved in Linux kernel developement for Polaris to bring Android to our phones.
Click to expand...
Click to collapse
Thanks for the idiots guide dwardzyne!
So that very clearly explains the kernel level requirement.
OK. Second question:
With regard to part 1 - Kernel/Drivers - Can we convert the vogue version since it seems to have the most work done to it? What would need to be done to it to make it work?
imfloflo said:
I think its a probleme with the boot loader and some part of the android code which isn't public
Click to expand...
Click to collapse
a boot loader :
Code:
http://www.denx.de/wiki/U-Boot/WebHome
bally3 said:
Thanks for the idiots guide dwardzyne!
So that very clearly explains the kernel level requirement.
OK. Second question:
With regard to part 1 - Kernel/Drivers - Can we convert the vogue version since it seems to have the most work done to it? What would need to be done to it to make it work?
Click to expand...
Click to collapse
Indeed kernel developement for Kaiser and Polaris is based on Vogue work. It slowed down because of SD stability issue.
dwaradzyn said:
Indeed kernel development for Kaiser and Polaris is based on Vogue work. It slowed down because of SD stability issue.
Click to expand...
Click to collapse
I believe the sd card issue has been resolved on vogue and they've moved onto other things (camera etc). but it seems like its the end of the road for the Polaris - apart from rumors that someones supposed to be sending a kaiser or a polaris to dzo for him to work from. This kind of points to that dzo is the only person on xdevs capable of working at kernel level with a kaiser or polaris?? That cant possibly be true - can it?
bally3 said:
I believe the sd card issue has been resolved on vogue and they've moved onto other things (camera etc). but it seems like its the end of the road for the Polaris - apart from rumors that someones supposed to be sending a kaiser or a polaris to dzo for him to work from. This kind of points to that dzo is the only person on xdevs capable of working at kernel level with a kaiser or polaris?? That cant possibly be true - can it?
Click to expand...
Click to collapse
He already has the knowledge... He wants to share his knowledge, if someone send him a Kaiser or Polaris, and will make it work... I thought there were plenty of users willing to send there old or half bricked kaiser or polaris... but still nobody send him one... as far as I know...
Nobody keeps nobody up to date in the kaiser thread... So I really don't know what is going on... But they still don't have a decent fix for the DMA (SD-Card read/write) problem (as far as I know).
Porting the G1 rom isn't a possibility, you first have to have drivers for our device, since we haven't got a driver to read/write to the internal memory (not the RAM), it still cannot boot .
I hope this project will really come of the ground finally... It's half way there... but still not finished (if you ask me, due to miscommunication and not working together of users, because they all want to be the first who got it working to show off with it... (so they are all working on the same piece of code, which is a waste of time if you ask me)).
Maybe one of us can contact DZO, check what he needs to continue our development. Because without the SD-Card driver we can't continue...
dubbeld00 said:
Maybe one of us can contact DZO, check what he needs to continue our development. Because without the SD-Card driver we can't continue...
Click to expand...
Click to collapse
I'll contact him, I dont think there are many users who would just send a device worth a couple of hundred euros to a complete stranger though many would tell you they would at the time. With the P3D driver their was only one person who was willing to loan a unit for development - and that was only because they were in the same country. I was asking for ages before that.
is their any other way we could help him? surely the internal workings of a polaris rom coupled with the specs could be used if dzo would do what NuShrike did on the p3d driver which was tell us to try things he worked on? I'm sure there would be willing volunteers including myself who he could talk through it on the forums or on the #android room.
I can't offer to donate my polaris as its the only mobile I have.. but I would be more than willing to try things out on my xda or provide any other help possible to get this project moving.
Hopefully one day a fully working Android will be a reality on polaris

Proposal for mod rom versioning

One of the big issues I have noticed is that there is no rationale behind the version number assignment for a lot of the mod firmware. There are different modders using their own versioning, and there isn't even a hint of what version of android they are using, so we have things like;
"KiNgxKxROM Version 1.1r1"
"The Official Blur - Hero-V1.5.7 by Drizzy"
"JACxHEROSkiv2.2"
"CyanogenMod 4.1.11.1"
*** these all have the same problem... what version of android do they correspond to? How new IS each one of them?
I would like to propose a new standard to be adopted by everyone.
name-officialversion-modversion.
Of the form i.e.
"superxmod-1.6.DRC83-0.1.0.0"
***WHERE the modversion RESETS TO ZERO each time the official version increases, so for example, "CyanogenMod 4.1.11.1" should be called "CyanogenMod-1.6.DRC63-0.1.11.1".
* this will allow the user to immediately know where this rom comes from in terms of the official android versions and approximately how old it is.
I do my best
I do my best ... with the "limited space" we're given for Thread Titles on the forum.
~enom~
I support this though I find it unnecessary. The new beginner user will most likely READ atleast the first post of the thread and they will know what the ROM is based off of. The end user will of course know to read the thread before doing any flashing of any kind so organizing mod rom versioning isn't a necessity. It's convienent but not necessary
I support this because it would make ROM catalogs easier to build, which would benefit the whole community.
why not just post what android version the rom is based on in the first post. First post should always hold the most info anyways.
Since this thread hasn't been moved from the Dev section so far.
+1 for the versioning.
Also, how about we all stick to one benchmarking app (or is there any one app that we CAN rely on)
to test performance of ROMs, so that there's an objective way of figuring out
whether the latest frankenROM (thanks devs! ) is faster than X or Y?
Benchmark Pi has a score that's difficult to figure out, seeing as it throws up an
awesome number on a fairly sluggish HERO whereas the score for a fast-as-light
cyan ROM is way way worse. I know that Benchmark Pi isn't the answer,
not by a long shot. So is there a better alternative out there?
I'm tired of posts that go "THIS IS WAY FASTER! THANKS!" only to find
that the supposed speed increase is more rooted in perception than in
reality.
We need definitive numbers for ModelNumber+ROMVersion+CC/SwapSettings combinations.
Any help?
alritewhadeva said:
The end user will of course know to read the thread before doing any flashing of any kind
Click to expand...
Click to collapse
rofl. Funniest thing i've read all week.
+1
how about shorthand naming such as
for example:
CyanogenMod = CM-AOSP1.6r1-v4.20
If you're talking about cyanogen mod, you might want to add a couple more zeroes at the end. Anyway, I had proposed this too a while ago. I like your format, and I'll go one better; let's do cook-androidVersion-buildVersion-feature.bugfix
for example, the build I made this morning would be "jm-1.6-Donut eng.jubeh.20090930.070211-0.0"
jm is what I use for my builds (short for jubehMod)
1.6 is the current android branch (as per build.prop, no 1.6_r1 yet)
Donut eng.jubeh.20090930.070211 is the build number the compiler assigned to my build, people who work off of modding factory releases or build for dream_open are the ones who usually come up with things like CRC or DRC etc, I build for "AOSP for Dream" (it's a new "vendor" added)
first 0 is feature number, at this point my build is nothing but stock AOSP donut, no Google apps, no a2sd, no netfilter, no compcache, no bfs, just stock donut, so say I were to add a2sd, then I'd go up to 1, as I would have added one or more features (and this would be listed at the change log), basically, anything added that improves the build (and that's not a fix) is a +1 to feature
second 0 is bugfix. For example, right now my build works correctly in every sense, but I have a problem with the video camera where video is of very poor quality (real problem, I'm trying to figure it out), so say i get it fixed, then my bugfix number would go up 1, so basically, anything changed in the build strictly because it didn't work as intended is a bugfix
the last two numbers would be allowed to go past 9, so no more pressures to add .1s at the end like cyanogen was doing to prevent jumping to build # 4.2
karthikjr said:
+1 for the versioning.
Also, how about we all stick to one benchmarking app (or is there any one app that we CAN rely on)
to test performance of ROMs, so that there's an objective way of figuring out
whether the latest frankenROM (thanks devs! ) is faster than X or Y?
Benchmark Pi has a score that's difficult to figure out, seeing as it throws up an
awesome number on a fairly sluggish HERO whereas the score for a fast-as-light
cyan ROM is way way worse. I know that Benchmark Pi isn't the answer,
not by a long shot. So is there a better alternative out there?
I'm tired of posts that go "THIS IS WAY FASTER! THANKS!" only to find
that the supposed speed increase is more rooted in perception than in
reality.
We need definitive numbers for ModelNumber+ROMVersion+CC/SwapSettings combinations.
Any help?
Click to expand...
Click to collapse
yes just bench mark. its much better than benchmark pi only test the cpu really
by the way, I've been saving pretty much all roms that have been posted here (notable exceptions are haykuro's, jf's, and theduded's roms, I haven't been here THAT long) and I have them all saved on my computer separated by /cook/build/ for the Dream roms and /build/cook/ for the Hero ports. I guess I could run a quick filesystem lister and upload that list for people to see so they can sort of get an idea what mod release corresponds to what build
Here we go, I had to upload it inside a zip because of the stupid 2kb limitation on text files (this is 10kb)
lbcoder said:
One of the big issues I have noticed is that there is no rationale behind the version number assignment for a lot of the mod firmware. There are different modders using their own versioning, and there isn't even a hint of what version of android they are using, so we have things like;
"KiNgxKxROM Version 1.1r1"
"The Official Blur - Hero-V1.5.7 by Drizzy"
"JACxHEROSkiv2.2"
"CyanogenMod 4.1.11.1"
*** these all have the same problem... what version of android do they correspond to? How new IS each one of them?
I would like to propose a new standard to be adopted by everyone.
name-officialversion-modversion.
Of the form i.e.
"superxmod-1.6.DRC83-0.1.0.0"
***WHERE the modversion RESETS TO ZERO each time the official version increases, so for example, "CyanogenMod 4.1.11.1" should be called "CyanogenMod-1.6.DRC63-0.1.11.1".
* this will allow the user to immediately know where this rom comes from in terms of the official android versions and approximately how old it is.
Click to expand...
Click to collapse
................................
Hi jubeh,
Thanks, this kind of cataloging is exactly why the OP's suggestion will be helpful.
karthikjr said:
We need definitive numbers for ModelNumber+ROMVersion+CC/SwapSettings combinations.
Any help?
Click to expand...
Click to collapse
I'm not so sure that we do...
I think that that should be more of a "details" thing.
Maybe we can go with "name-officialversion-modversion[-custom]" (square braces mean optional). Name might be a good place to keep modelnumber (I assume you mean by that "dream", "magic", "hero", etc.),
i.e.: supercustomrom(DREAM)-1.6r1-0.0.0.0.0.0.0.1-cc_swap_a2sd

Operation "Tuna Balls" (UNOFFICIAL CyanogenMod 9 from source)

Hello,
I have released a very ugly, hacked up dump of my work from July when I attempted to port CyanogenMod 9 to the Nexus Q. It is incomplete, but compiles still, and functional. Developers might find this of use.
There was a large amount of interest in this work when I released a video of 'proof of concept' that went viral in July, before the consumer launch. This work was all created before Google pulled the launch (July), and many weeks before AOSP or OMAP repos had the source for device/vendor.
I call it "Tuna balls" due to the fact it's a raw rip off of the Tuna/Maguro base from CM9, dated July 2012, when I forked and modified it.
The codenames of the branches may be wrong. A lot of the 'bugs' may be easy to fix. Unfortunately, I never came back to this project after July.
As someone who strives for complete, QA process builds, I kept this private for months. I know it's not complete, please understand things don't work flawlessly. No audio (possibly hard to fix) and crashing System UI (probably easy to fix) can ruin your experience, but this can be hacked into shape
* GIT SOURCE *
https://github.com/kornyone/android_device_google_steelhead
https://github.com/kornyone/android_device_tuna_balls
https://github.com/kornyone/vendor_google_steelhead
https://github.com/kornyone/google-kernel-steelhead
Here are my notes/bug list from Github:
"Operation Tuna Balls"
This is a partially complete attempt at porting CyanogenMod 9 (Android 4.0.4) to the Nexus Q.
At the time of original creation (July), there was no other source available. As such, I used the Tuna/Maguro bases to port to the Steelhead, as there were so many common pieces.
This combination worked well for the majority of things. Known bugs never resolved since this project was orphaned in July include:
* No working audio. Mixers fail to load with tuna audio_hw.c. The OMAP "Steelhead" and AOSP "Phantasm" repositiories online have a -very- hacked up version of this file, but intended for Jellybean (as of writing). Also, OMAP has the audio listed as a known issue in their source releases.
* No working NFC. This could be easy to solve, I did not spend much time on it.
* System UI crashes. This should be a simple matter of finding this conflicting Tablet/Phone System UI layouts being requested (should be an overlay setting, likely).
Most everything else works. This includes:
* Bluetooth pair all the things, no hacks needed.
* Wifi works.
* XHDPI resolution works (when System UI doesn't crash).
* HW Acceleration in games work.
* Google Play Market is open for use.
--------------
While I am a maintainer for CyanogenMod, this work is not official in any way. It is incomplete, and I am more or less abandoning it at this point due to a broken Nexus Q and lack of free time. Please hit me up on Freenode (kornyone) for questions, ##nexusq is still open.
Thanks!
Proof of concept (so people don't have to dig this stuff up):
Video concept -- (Very rough) --
Photo gallery on G+ with screenshots -- https://plus.google.com/100539377198423911977/posts/GRxhSLRnNss
very nice mate
Sent from my Xperia T using tapatalk 2
kornyone. I was wondering where you put this. Thanks for the source release, it will come in use. I have a big move coming up but plan to pick up where you left off and maybe get some other devs in on this. Again, thanks for the xmas present!
how hard would this be to run cm 10 on it?
kornyone,
I was able to build and install your cm9!
Of course I have the same issues as you (systemui crashes, no sound) but hey it's something!
Thanks for everything and I hope there is still some progession on this!

[ROM][UNOFFICIAL][7.1.2] LineageOS 14.1 for Elephone Trunk

This is a genuine 64bit LineageOS 14.1 ROM for the Elephone Trunk. It's the follow up to my previous CM13.1 ROM as discussed here:
https://forum.xda-developers.com/android/development/rom-cyanogenmod-13-0-elephone-trunk-t3394060
It can be used as a daily driver, all important features seem to be working, including:
Voice
Mobile Data
Audio
Bluetooth
Camera
WiFi
GPS
Please feel free to post any bug reports here.
XDA:DevDB Information
LineageOS 14.1 for Elephone Trunk, ROM for all devices (see above for details)
Contributors
ottmi
Source Code: https://github.com/ottmi/android_device_elephone_trunk
ROM OS Version: 7.x Nougat
ROM Kernel: Linux 3.10.x
Based On: LineageOS
Version Information
Status: Snapshot
Current Stable Version: 20180114
Stable Release Date: 2018-01-14
Created 2017-02-10
Last Updated 2018-01-14
Changelog
20180114
Upstream LineageOS changes, including December 2017 security patches
Fix camera recordings
20170811
Upstream LineageOS changes, including August 2017 security patches
Remove libwvm and use Crackling Widevine blobs instead
20170430
Upstream LineageOS changes
20170419
Update to latest LineageOS Upstream, including Android 7.1.2 merge & April Security Patches
Enable F2FS
Get rid of annoying selinux denials for setsched
Enable Pinner Service to pin key files in memory
20170409
Return to Crackling camera blobs to fix issues re-enable higher camera resolution
Disable backlight dimming in thermal-engine
Fix random reboots due to qcom subsystem crashes
20170314
Replace netmgrd by proper binary from ASUS Z00T
Pull camera blobs (mostly) from Google Seed
20170224
Fix crashes of the WCNSS subsystem
20170221
Fix GPS
20170220
Fix torchlight tile
Fix netmgrd crashes that caused mobile data to stop working
Remove ZRAM, LZ4, and Swap
Remove F2FS support
Replace Camera with Snap
Replace Browser with Gello
20170210
First beta
ottmi said:
20170210
First beta
Click to expand...
Click to collapse
@ottmi
Thanks for your work we were expecting. Installed the new rom L_OS 14.1 without difficulty using "TWRP-3.0.2-20161108-trunk.img" + open_gapps-arm64-7.1-pico-20170210.zip + SuperSU-v2.79-201612051815.zip. so far also works updating of installed apps after a thorough tour will let you know any bugs.
Thanks again and good work.
This afternoon I installed the new ROM.
@ottmi first thank you, a job well done. the first impression is really good, I believe that from this foundation will do a wonderful job.
bug:
- The flashlight does not work.
- Some animations are jerky.
Considerations:
The general flow is good, Wi-Fi reception OK
GPS OK
Camera improvements, noisy photos. The 8 megapixel resolution is not selectable.
Battery: I do not know, it takes time to understand.
Awesome first release! Was this a lot of work to get to this stage, @ottmi?
Looking forward to the next build with currently reported bugs addressed, which is when I'll jump into the testing.
Martin
@ottmi
after using for a couple of days the first version of the Rom L_OS 14.1 I consider still to be improved especially the battery life, the management of the status bar and especially the lack of advanced configurations. All this by referring to the Rom "RR-N-v5.8.0-20170115-peach" I have used for nearly a month without any problems and with several customization options although 32Bit. It would be interesting on your part to verify the basis of http://www.resurrectionremix.com/ development for our Trunk 64Bit. Thanks anyway for the wonderful work you are doing.
I'm sorry for my english.
Guys, you have to be more specific than that if you want me to fix problems: @Sampierdarena:
Which animations are jerky? Is this still the case after the 2nd reboot?
Was the 8MP selection available with CM13.1? I think this is a feature of the camera apk..
@josoft86:
What's wrong with the status bar?
Which advanced configuration options are you missing?
I know about the flashlight, this has been a problem already in CM13.1 and I never found a way to fix it properly.
Also there seem to be some issues with the 2nd SIM slot. I sometimes don't get a data connection with the 2nd SIM - the status shows LTE or HSDPA and connected but I don't get an IP address. This doesn't seem to be a problem with the 1st SIM card. Did anybody else witness this problem?
@ottmi
I try to be more precise:
The animations are jerky affect the output from applications. I partially solved with the trim.
The camera: using CameraFV5 you can choose 8 megapixels, I think you're right, the problem is the camera application stock.
The battery with this release has a shorter duration than 10%, I think it is normal with Android 7.1
Thanks again for your work.
@ottmi
perhaps you interpreted my little appropriate proposals, but I did not remotely affect your work but address it on what I thought was perhaps valid for your own product development. I enclose the examples on the configuration and status bar that I used with the Rom RR. Thanks for your work always appreciated and I hope that more and more continuous.
Guys, I'm about to donate my dead elephone trunk if anyone needs it.
it was in great condition but one day it just won't turn on anymore.
it showing charging process once connected to charger, but doesn't react on power button.
case and some other accessories such as spare new back cover can also be donated .
And thanks Ottmi and all other guys for this great rom that extending life of this device!
@ottmi
I do not know if you might be interested in helping you develop your wonderful work for our Trunk:
Reference: https://plus.google.com/communities/109352646351468373340
"Resurrection Remix (official)
ROM Release │ DEVS ONLY-DO NOT POST HERE
İmportant announcement & some good news
So a few days back we came to an important decision , and we went ahead and decided to merge Full OMS Support.
Yes many users will be happy , some will be upset but honestly it has been too long waiting for Lineage Theme Engine .
Anyhow the manifests will be updated soon and maintainers can push oms builds as official .
Thank you for being patient with us.
Now You can enjoy full OMS supported themes and themers can now officially support our ROM .
PS: users please wait for your maintainers to upload your builds
NO ETA.
If coming from a 5.8.0 build , please clean flash .You will run into issues with dirty flashes and help will not be provided in that scenario
Read before posting
https://plus.google.com/101154841950858558748/posts/RAuHneppoKa
Thank you for understanding
Happy flashing..
Sincerely
RR Team"
Sampierdarena said:
@ottmi
I try to be more precise:
The animations are jerky affect the output from applications. I partially solved with the trim.
The camera: using CameraFV5 you can choose 8 megapixels, I think you're right, the problem is the camera application stock.
The battery with this release has a shorter duration than 10%, I think it is normal with Android 7.1
Click to expand...
Click to collapse
Can you name an application that shows the video problems?
Regarding the camera: the next ROM will ship with the new Snap app as stock camera that allows for setting the resolution to 7.7MP. I'm not sure thought whether that is native or will be interpolated from 13MP..
I can't really comment on battery life as I'm currently using the phone more intensive than usual and connect it to the computer very often, so the battery will recharge quite often..
@ josoft86:
Since the Ark RR ROM seems to be working fine for you, why don't you just this? I personally have no interest in porting another ROM. I don't even use half the features LineageOS offers on top of stock Android. My focus is on creating a stable ROM and being able to regularly pull upstream security fixes. That being said, all my work is published on my Github account, so anybody who's interested can pick it up and use it as a stepping stone for any other ROM.
New ROM 20170220
There's a new ROM available in the download section. Main improvements are fixing of the disappearing torchlight tile (thanks to the good people working on the Redmi2) and fixing of non-operational mobile data after disconnecting from WiFi. Also, I removed support for ZRAM, LZ4, swap, and F2FS. I don't think we need this (other msm8916 devices are living without it) and removing this brings the kernel closer to the stock kernel and hence improve long-term maintainability. I'm using this now as a daily driver and from my point of view it's quite stable.
EDIT: I messed up the GPS blobs in yesterday's release. There's a new ROM now in the download section that should have workiong GPS. Sorry for the inconvenience..
For those who are interested in details and for documentation purposes: on some msm8916 devices on Android 7, mobile data stops working after disconnecting from WiFi. There a few bug reports on LineageOS's jira on this:
https://jira.lineageos.org/projects/BUGBASH/issues/BUGBASH-72
https://jira.lineageos.org/browse/BUGBASH-129
It seems that netmgrd occasionally crashes and leaves the RIL in an undefined state that doesn't allow for new mobile data connections to be established. The crashes are due to netmgrd freeing non-allocated memory (which jemalloc intercepts and causes the process to abort). As netmgrd is a proprietary Qualcom binary, there is no way to fix this in source. I've tried to use the netmgrd binary from other devices but that didn't help. So I ended up patching the binary and replacing the respective calls to the free function by NOPs. Obviously, this introduced a memory leak and we will have to watch this carefully over time. But at least for now this seems to fix the problem and the memory leak seems to be small.
ottmi said:
It seems that netmgrd occasionally crashes and leaves the RIL in an undefined state that doesn't allow for new mobile data connections to be established. The crashes are due to netmgrd freeing non-allocated memory (which jemalloc intercepts and causes the process to abort). As netmgrd is a proprietary Qualcom binary, there is no way to fix this in source. I've tried to use the netmgrd binary from other devices but that didn't help. So I ended up patching the binary and replacing the respective calls to the free function by NOPs. Obviously, this introduced a memory leak and we will have to watch this carefully over time. But at least for now this seems to fix the problem and the memory leak seems to be small.
Click to expand...
Click to collapse
Maybe it's a silly question, but where is that netmgrd binary from? Would it be possible to use the netmgrd binary from the 32 bits version of Nougat for the google seed?
Meanwhile, my attempts with [email protected] are failing: wifi and ril cannot even start. I will try some change looking at your tree
Sorry for not having tried your rom yet, but I am spoiled with your great CM13
siljaer said:
Maybe it's a silly question, but where is that netmgrd binary from? Would it be possible to use the netmgrd binary from the 32 bits version of Nougat for the google seed?
Click to expand...
Click to collapse
It's the 64bit binary from Crackling. I thought about trying the 32bit netmgrd from Seed, but it has quite a few dependencies in terms of libraries. I would probably have to replace the libraries as well which would mean that the version numbers of the 32bit and 64bit libraries would be different. I'm not sure whether that would contribute towards a more stable ROM
Anyway, the patched version seems to work fine for now. I didn't notice any growth in memory consumption of the netmgrd process, so the leakage is probably small..
New ROM 20170224
There was a problem in the previous ROM with occassional WCNSS subsystem (WiFi) crashes which also caused the BlueTooth stack to crash. Should be fixed now in the new build.
Hi ottmi,
gorgeous work! I just got this device, therefore i did not do excessive testing yet. In comparison to cm-13.0-20160902, the 14.1-20170221 seems to work better (e.g. camera is not crashing). I do have only one question: At least on my device, root can be only set to 'ADB' or 'disabled'. Is this a restriction of LineageOS?
Best Regards,
Jan
jan_100 said:
Hi ottmi,
gorgeous work! I just got this device, therefore i did not do excessive testing yet. In comparison to cm-13.0-20160902, the 14.1-20170221 seems to work better (e.g. camera is not crashing). I do have only one question: At least on my device, root can be only set to 'ADB' or 'disabled'. Is this a restriction of LineageOS?
Best Regards,
Jan
Click to expand...
Click to collapse
LineageOS requires rooting. It can be done in several ways, I chose to use the addon provided by them in the "extras" download section on the LineageOS website.
---------- Post added at 10:56 ---------- Previous post was at 10:50 ----------
ottmi said:
It's the 64bit binary from Crackling. I thought about trying the 32bit netmgrd from Seed, but it has quite a few dependencies in terms of libraries. I would probably have to replace the libraries as well which would mean that the version numbers of the 32bit and 64bit libraries would be different. I'm not sure whether that would contribute towards a more stable ROM
Anyway, the patched version seems to work fine for now. I didn't notice any growth in memory consumption of the netmgrd process, so the leakage is probably small..
Click to expand...
Click to collapse
I've read that Lenovo is planning to officially release Nougat for msm8916 G4... I hope they can provide updated BSP too...
Meanwhile, I switched to your new ROM. It's been a short time, but it looks even better than CM13
Thanks for your great work!
@siljaer
Thank you very much! I was not aware of that.
karabassssss said:
Guys, I'm about to donate my dead elephone trunk if anyone needs it.
it was in great condition but one day it just won't turn on anymore.
it showing charging process once connected to charger, but doesn't react on power button.
case and some other accessories such as spare new back cover can also be donated .
And thanks Ottmi and all other guys for this great rom that extending life of this device!
Click to expand...
Click to collapse
Hi karabassssss, I will appreciate so much if you could donate me your Trunk.
I need a new case and, more, I've broken it and the camera glass too but I don't reach to contact any assistance to do this work.
I live in Italy, close to Florence and logically I will pay for the shipping of the package. Please let me know, thanks
PS Many many thanks to @ottmi for your previous CM13 rom, in a couple days I will flash your new one too

Wayland server for Android

ABANDONED
Hi! Does anyone here use Linux desktop distributions in chroot environment on Android device?
I am developing wayland protocol server for Android devices. If anyone is interested in checking my project, latest version of apk is always available here:
ftp://ftp.drivehq.com/mogryph/sparkle/
Currently I am only focused on running Xwayland as client. Also apk supports audio output.
Simplest instruction:
1. Android 6 or newer required, busybox required, root required
2. Prepare linux distribution in directory, image or on partition. Make sure you have Xwayland installed in it. Make sure you specify which DE to run (or at least xterm) in ~/.xinitrc
3. Install and start sparkle.apk
4. Press "edit user.sh", uncomment (remove #) line starting with start_generic_container. Change rest of this line to match your device:
first arg - image or partition where distribution is installed. If distribution is installed in directory and mouting is not needed, leave this arg unchanged.
second arg - mount point or directory with distribution. If you use mounting (first arg), this arg can be left unchanged.
third arg - name of the user which will be used to start Xwayland and DE. Its better to specify non-root. Also this is the user who must have .xinitrc in his home dir (see step 2).
5. Save user.sh and click "Start".
6. Any problems and crashes will be reflected in the log.
If you want audio output:
1. Compile and install driver from pcm_sparkle.tar.gz in your distribtion
2. cp 1.asoundrc ~/.asoundrc
If you have blinking problem, change upload_mode from 1 to 2 in settings. If you have bad performance, setting no_damage to true may help, but in most cases no_damage=false is better. Fastest upload mode is 0 (if it works).
If you don't trust me and don't want to give sparkle root permissions (I perfectly understand this) you don't have to. Also you can do without busybox.
But in this case, you need to understand and do a lot of things. Check sparkle's user.sh to get idea about what needs to be done. Basically:
1. You need to make /data/data/com.sion.sparkle/files accessible from inside chroot container. You can use bind bound.
2. Make sure you have tmpfs mounted over /tmp in container.
3. You may need to change selinux context on /tmp to match sparkle's context or disable SELinux.
4. You need to create new directory in /tmp, symlink sparkle's wayland socket from /data/data/com.sion.sparkle/files/wayland-0 to this dir. And export XDG_RUNTIME_DIR to point to this dir. Dir must be (ch)owned by user who will be running Xwayland and DE.
5. After all this, you can try to start Xwayland and your DE.
new version
New version
rgho.st/8Fbz64Rxj
Added x86 and x86_64 support. Actually it is rewritten almost from scratch but x86 support is the only thing others can notice...
Hello! This project is interesting. I tried you app and it works on my Xiaomi Redmi Note 4X(chromium and glmark from chrooted environment works very well)! Can you publish source code on Github, because it really interesting project?
Also I'm interested, please post it on github!
Did you put this up on github or move this thread? Looks very interesting.
1
Argh, sorry, I decided to abandon this project. You are free to delete thread. Also no copyleft-licensed components were used so I don't have to bother releasing sources.
Hentacler said:
Argh, sorry, I decided to abandon this project. You are free to delete thread. Also no copyleft-licensed components were used so I don't have to bother releasing sources.
Click to expand...
Click to collapse
Check your PM please!
1
Hello again.
For last two weeks I was rewriting it from scratch (yes. again... yes, third time).
Probably need another week to make it stable.
Currently I am not sure it runs on any device except my own 5-year old phone (LineageOS 14).
I will maintain last version here:
ftp://ftp.drivehq.com/mogryph/sparkle/
There is no English documentation, but you can see script "user.sh" to get idea about how to start xwayland. In most cases it should be enough to edit few lines in that script to make it work on another device. If you execute this script on your device with "install" argument, it is supposed to place itself into sparkle's directory and sparkle is supposed to run it ("start" function) automatically. Sparkle doesn't request root unless script does.
Here is video of sparkle working:
https://www.youtube.com/watch?v=tOSFYxCF7Q8
But it seems that KDE + video recording was too much for my old phone
Still, if you going to see video, don't close it until 2:00 where I turned of composition which caused lags.
Also on device everything looks much smoother than on video, even after 2:00.
When I watch fullscreen (1280x720) video on my device, sparkle + xwayland together add just 5% of CPU load (20% load of single core).
Thats it I guess... I tried to to discuss sparkle on 4pda.ru (russian forums), but got very bad reception. "xsdl is perfect, dont reinvent the wheel" they say. So I started to hate humanity and I decided to make sparkle personal project. Also this is last time I am solving reCAPTCHA to leave post on XDA.
Still alive
We are still alive. I've changed first post to reflect actual state. Now sparkle supports audio, auto-mouting containers and is lot more stable.
Yet there are still many things I want to improve in sparkle's core before adding new functions.
Also there are few demo videos on ftp.
Amazing!
Working great on my redmi 6 pro. Stock miui 9.9.3 rom. With linuxdeploy and sparkle from your ftp. No lag on visual and sound. My Linux distribution is alpinelinux arm64 arch.
Since first time I see your posting on 4pda. I'm interested in it. And finally it's on xda.
Thanks dev.
---------- Post added at 02:52 AM ---------- Previous post was at 02:44 AM ----------
For anyone interested in the topic. Please follow the instructions in documentation from ftp. And Translate it to eng from rus.
This sounds amazing! Just curious, is it related to https://github.com/twaik/sparkle ?
I now have it working very well on my Samsung Tab S3 using Xwayland and a tiling window manager. Firefox runs amazingly well!
Is it meant to be used only with Xwayland or will it also work with native Wayland applications?
BTW, I think if you open sourced this project and promoted it a bit, it could become quite popular. It's basically the first way to run X11 GUI applications on Android devices at full speed. If you set up a donation link, you could also get compensated for your time and effort. I'll personally contribute $20 if it's open sourced, and I'm sure others will chip in as well.
robsmith11 said:
This sounds amazing! Just curious, is it related to https://github.com/twaik/sparkle ?
Click to expand...
Click to collapse
Thanks for feedback. Nice to hear that someone managed to start this thing
Twaik's repository is clone of my very very old version of sparkle. I made that version years ago when I was just starting to learn linux and C++. Sparkle was rewritten from scratch two or three times since that version. And (I believe) current version is much better.
Regarding making it open source... Few months ago I had to find real job. Can't spend much time on personal projects any more. But I have my own strange programming style and my own vision of what sparkle should be. Not sure I want others to paint on my picture. It's probably all because of Twaik! I hate how he used old open source version of sparkle. He did terrible things to it, outraging all my beliefs Sorry!
P.S.: Yesterday I've uploaded another apk to my ftp. The file is called "sparkle-testing.apk". This version is much newer and has many fixes. But I've also changed to many things since tested version including some fundamental changes. No guarantee it will run at all on other devices. Interest is mega low and I get no test reports at all.
Hi Hentacler, I've just found your project - it looks really promising. Unfortunately, the only link currently working on this thread is to github. Is this project still live?
I have a samsung galaxy note 10+, and am using it as a laptop replacement. In addition to the android apps using Samsung Dex (Samsung's desktop solution), I have several linux distributions installed inside a chroot using userLand - so far, its working great. I'd be keen to give you project a try if it's still live, and am happy to help out with testing from my device.
Re open source - while I like your project, I'm not super interested in investing time into something that's not open sourced - I appreciate your concerns about wanting to maintain the direction, but having transparent development is pretty important to me. Is Twaik's fork of your project a better place to go?
Cheers.
tillum said:
Hi Hentacler, I've just found your project - it looks really promising. Unfortunately, the only link currently working on this thread is to github. Is this project still live?
I have a samsung galaxy note 10+, and am using it as a laptop replacement. In addition to the android apps using Samsung Dex (Samsung's desktop solution), I have several linux distributions installed inside a chroot using userLand - so far, its working great. I'd be keen to give you project a try if it's still live, and am happy to help out with testing from my device.
Re open source - while I like your project, I'm not super interested in investing time into something that's not open sourced - I appreciate your concerns about wanting to maintain the direction, but having transparent development is pretty important to me. Is Twaik's fork of your project a better place to go?
Cheers.
Click to expand...
Click to collapse
ftp://ftp.drivehq.com/mogryph/sparkle/
Link to FTP should work and there you can get two versions:
sparkle.apk - old version, but confirmed to work by 3-4 people.
sparkle-testing.apk - latest version, but only briefly tested by me.
I don't ask anyone to invest anything... Sparkle doesn't request root access or any other dangerous permissions (unless you enable automatic container mounting and starting) so it's safe to try for anyone who wants.
Btw, somewhere between these two versions I've replaced BASH container initialization script with LUA version. That was probably a bad idea. LUA script is harder to start directly as root and hacks I used may not work (currently may even cause application freeze if root access is denied). Going to revert to BASH probably. But this only touches people who want sparkle to mount container and launch everything automatically on single button press.
p.s.: Why I need to solve captcha every time I post something?
Thanks for the new release! I've updated and everything seems to be working without any changes on my Samsung Tab S3 with chroot and Arch Arm Linux.
Your changes also solved the flickering for me! The old version would flicker the screen whenever my keyboard's trackpoint activated, but it's not flickering at all any more. Performance seems to be about the same.
I think this could be quite popular, but not many people know about it. Perhaps a post on Hacker News or Reddit would raise awareness.
I understand your position on open source and maintaining control. One idea if you haven't already considered it is releasing the code with a restrictive license that forbids any forks. But either way, I'm enjoying being to properly use X11 on my tablet.
BTW, have you tried any native Wayland compositors? I don't really understand the Wayland ecosystem that well. I gave Sway a brief try, but it didn't seem to work. I've only been using XWayland.
@Hentacler Thanks for your reply! Very keen to get this working, but having a few issues. I'm unsure how to configure the user.lua file - I'm using your latest apk.
I have a non-rooted device, and am running archlinux under termux. Works fine with xsdl. I have installed xorg-server-wayland for X11. I'd appreciate any advice you have.
@robsmith11 Are you able to share how you got this working on Arch? Thanks!!!!
tillum said:
@Hentacler Thanks for your reply! Very keen to get this working, but having a few issues. I'm unsure how to configure the user.lua file - I'm using your latest apk.
I have a non-rooted device, and am running archlinux under termux. Works fine with xsdl. I have installed xorg-server-wayland for X11. I'd appreciate any advice you have.
@robsmith11 Are you able to share how you got this working on Arch? Thanks!!!!
Click to expand...
Click to collapse
I am not sure it is possible to use sparkle without root...
Sparkle makes it's directory accessible for everyone (chmod 777). Before Android 8 or 9 this was enough and xwayland from termux was able to connect to sparkle. Here is how people used to start it:
export XDG_RUNTIME_DIR=/data/data/com.sion.sparkle/files
Xwayland
But newer versions of Android brought more restrictions and termux can no longer connect to sparkle. These new restrictions are implemented using SELinux if you know what it is. Applications now have different security contexts.
But that is not all. Newest versions of android brought even more terrible meaningless restrictions effectively "killing" applications like termux and many others.
In short, from now one applications are not allowed to execute code (binary) that comes from "untrusted" sources. Termux used to download a lot of such code from it's own repositories. And now it can't. We can't even unpack binaries from assets.
So I can only help with rooted devices.
P.S. Please forgive me, but I am leaving this website. Making people solve recaptcha every time they want to post something is unacceptable level of contempt.
My mail: [email protected]
Thanks for that, will have a play. I could always just root my device. Weird about recaptcha, not having this issue. Currently through termux I have access to the whole sdcard, and am able to download packages (and distros) in it - will have a play and see what else is possible.
@tillum
I basically just followed the instructions on the first post for using Sparkle without busybox. I didn't need to modify the Lua scripts.
I'm guessing SELinux may be a problem without root. I'll try setting it up without root when I have a chance later.

Categories

Resources