[GB DEVICE TREE] HeroC Device Tree for Gingerbread - Hero CDMA Android Development

I have posted a device tree for Gingerbread for the HeroC. This has not had a lot of mileage, so don't expect that it will be at the level of AOSPs builds, but is a starting point for those who would like to build their own GB Roms.
Credit for this should go to those who did the REAL work, such as AOSP, Lox, Elemag, Darchstar, Cyanogen, and a host of others.
My contribution was just the assembly and cleanup of the existing efforts of others.
Still plenty of issues that need working on, and not sure how much time I will have to devote to moving this forward. I have tried to make it fairly self contained, with enough information to get folks started. I will not be able to provide much support, but I am making it available in the event that it is of interest.
Special thanks to AOSP for a working ROM to look at and learn from, and appreciation for some files and info that I shamelessly kanged from his build. Also thanks to Lox and Elemag for their hero device tree which also provided some significant pieces of the puzzle.
Good luck, thanks for the community, and please continue to help each other.
You can get the device tree from github by:
git clone git://github.com/wjb/android_device_htc_heroc_gb.git
README
Basic steps to build:
1 - Get local copy of CM7 repository
2 - Get copy of the device tree into device/htc/heroc
3 - Copy modified files from 'device/htc/heroc/buildmods' to proper directories:
a) definitions.mk into 'build/core' (Temporary fix for boot.img size issue)
b) vendorsetup.sh into 'vendor/cyanogen' (Add lunch combo)
c) prelink-linux-arm-heroc.map into 'vendor/cyanogen' (Map library locations)
d) AndroidProducts.mk into 'vendor/cyanogen/products' (Add cyanogen_heroc product)
e) cyanogen_heroc.mk into 'vendor/cyanogen/products' (Add cyanogen_heroc makefile)​4 - Run get-rommanager in vendor/cyanogen directory
5 - Get proprietary files into 'vendor/htc/heroc/proprietary'
a) Put ROM (update.zip) in repo root and run 'unzip-files.sh' from the 'device/htc/heroc' directory
b) Use 'adb' to pull files from usb connected device by running 'extract-files.sh'
c) Copy files from expanded system directory on your local machine by running 'copy-files.sh'
d) Copy files from 'device/htc/heroc/proprietary' directory (also needs 'setup-makefiles.sh')​6 - Setup build environment by sourcing envsetup file '. build/envsetup.sh'
7 - Run 'lunch' to select the build target 'lunch cyanogen_heroc-eng'
8 - Build the system with make, mka, etc.

Save for Updates
gingerbread futures

downloading does it compile witch working cam sensors etc.

aaronpoweruser said:
downloading does it compile witch working cam sensors etc.
Click to expand...
Click to collapse
It does compile and build a working ROM, including camera, gps, compass, wifi, etc.
If you have built other ROMS, this should be very straightforward. If not, follow standard guides for setting up and configuring your build environment.

Whoa jaybob, you're working on GB now?
Oh hell yes. Your updating of themes made CM6 the Goliath(sp?) I loved.
Welcome from the coldness that is frozen yogurt, and into the warmth of gingerbread.

Wait, let me clarify here, jaybob, are you going to put out new builds of CM7 as it comes out, in the same way you were before? I found yours to be of far higher quality than the nightly/stable releases.

Repo Update
Updated the repo to eliminate conflicts with 'lunch' for makefiles included in the buildmods directory.
Also added the quick and dirty 'install-buildmods.sh' script to copy the files from buildmods to the appropriate directories. Executing this script from the buildmods directory takes care of the copy actions indicated in step 3.

LiquidSolstice said:
Wait, let me clarify here, jaybob, are you going to put out new builds of CM7 as it comes out, in the same way you were before? I found yours to be of far higher quality than the nightly/stable releases.
Click to expand...
Click to collapse
ATM, I am just working on getting an environment that will let me build from source as it continues to develop. Without a device tree that works, there was not much I could do.
As things progress, I may put out CM7 builds, but I am still a ways from that point. I am starting to look at the TMO Theme Chooser approach to building installable themes. This would produce themes that are independent of the ROM, which would probably end up being a lot easier than the 5 separate builds that I produced for CM6.
I have only been playing with this for a couple days so far. Fortunately, there was a lot of other development efforts to leverage. I will continue to move this forward as my time and interest allows.

jaybob413 said:
ATM, I am just working on getting an environment that will let me build from source as it continues to develop. Without a device tree that works, there was not much I could do.
As things progress, I may put out CM7 builds, but I am still a ways from that point. I am starting to look at the TMO Theme Chooser approach to building installable themes. This would produce themes that are independent of the ROM, which would probably end up being a lot easier than the 5 separate builds that I produced for CM6.
I have only been playing with this for a couple days so far. Fortunately, there was a lot of other development efforts to leverage. I will continue to move this forward as my time and interest allows.
Click to expand...
Click to collapse
Awesome, really liked your past work.

jaybob413 said:
ATM, I am just working on getting an environment that will let me build from source as it continues to develop. Without a device tree that works, there was not much I could do.
As things progress, I may put out CM7 builds, but I am still a ways from that point. I am starting to look at the TMO Theme Chooser approach to building installable themes. This would produce themes that are independent of the ROM, which would probably end up being a lot easier than the 5 separate builds that I produced for CM6.
I have only been playing with this for a couple days so far. Fortunately, there was a lot of other development efforts to leverage. I will continue to move this forward as my time and interest allows.
Click to expand...
Click to collapse
Take your time. The work you do is quality stuff.

Thanks for this! Worked great, once I actually read the "also needs 'setup-makefiles.sh'" part and ran it. For whatever reason Gallery3D didn't get built, but I just downloaded it from the market. Everything else works as expected!

Worked great! Thanks for your efforts.
Sent from my HERO200 using XDA App

Repo Update
Updated kernel, wlan.ko, and additional loadable kernel modules after kernel rebuild to add scaling_available_frequencies virtual file needed by CPU settings.
Added libspeech.so to proprietaries, and minor build config changes.

Related

[Q] AOSP ROMs built with proprietary APKs and LIBs

This may be a bit of a philosophy thing, but I can't find any reference in xda forums / USENET groups / or google searching...
If I have proprietary apks and libs that I want to include in /system/app and /system/libs on an AOSP build, where do I put them? What has worked so far, is to copy the files to <AOSP_ROOT>/out/target/product/*/system after building once, and then rebuild again. This seems very hackish.
I see a couple possibilities for doing it the right way:
<AOSP_ROOT>/prebuilt/android-arm #(benefit of being platform specific)
<AOSP_ROOT>/external/*/out #(technically an external component)
I think the first method makes the most sense, but either way it looks like I'd have to create an Android.mk to go along with that, and again I'm completely in the dark about how to proceed. I'm assuming that some of the build environments folks are using to create custom AOSP ROMs address this already or at least they probably should, so this seems the appropriate forum to ask such a question.

[APP] [14-Feb-2011 @ 1.14] Universal ROM Updater (yeah, it's free!)

ROM modders/developers!
I'm the developer behind ROM Updater. It's meant to be an universal ROM updater (which means, it doesn't really care if you're on CyanogenMod or you're on the "whitelist"-free of ROM Manager). There is even a PHP script (on the website) which will automatically create incremental updates, cool feature of my app which lets both you and users save a lot of bandwidth. Please consider "adopting" it, it's free ^^
elegos said:
ROM modders/developers!
I'm the developer behind ROM Updater. It's meant to be an universal ROM updater (which means, it doesn't really care if you're on CyanogenMod or you're on the "whitelist"-free of ROM Manager). There is even a PHP script (on the website) which will automatically create incremental updates, cool feature of my app which lets both you and users save a lot of bandwidth. Please consider "adopting" it, it's free ^^
Click to expand...
Click to collapse
Nice work Elegos
Fantastic, consider me a supporter.
I think u have delivered it pretty well
Update: I've released incremental.jar and relative sources. Go to the website and check
New in version 1.8 (from version 1.7):
- Tried to fix a Null exception error, received via Market (thanks for reporting!) (please test)
- Added incremental.php and incremental.jar (plus sources) in the git repository to easily create incremental updates
- Moved common variables in a singleton (SharedData class) and more comments for easier understanding of the code and less variables around
PLEASE NOTE:
You don't have to mess up with the ROM name anymore, the program will check for the ro.build.display.id (MOD name) and ro.build.version.incremental (!!!INTEGER!!! version number), as well as ro.product.model (for future releases, in our case be sure is "Nexus One"). The repository main.json file has a new variable, "model" which is, indeed, the same of ro.product.model. Future versions of the app will make impossible to download updates not for your phone.
DEVELOPERS:
You have no excuses now ! I've talked with some other modders who say, for example, their updates are changing rather all the files, and I say you it's not true. Making some tests I saw that using incremental updates make the update 50~75% smaller, even with MIUI weekly releases. This means "bye bye" to the bandwidth problems, both for hosters and users.
Just added your page as my favorite. Will study and use it later, hehe ,need some time to know about it~~~~
So how do I set up repository for. CM7 nightlies? Do I have to enter it manually?
Sent from my Nexus One using XDA App
I'll give it a go. I have been using ROM Manager and it works very well but I was getting concerned with the bandwidth used for the CM7 nighties.
This does support CM7 nighties right?
Also, what about getting notifications when there is a new build for ClockworkMod Recovery and backup/restore options for ROMs that I keep on my phone?
Wow, as a themer, I would have to say that the idea behind this is amazing. I would love to see it adopted by everyone. I would like to be able to see what exactly has changed between updates, it would save me a lot of time personally. I commend you for your work on this. Woot
@apratomo: you need someone who sets up a CM7 nightly repo. I can't, as it would mean I should support every ROM out there, and my bandwidth is limited (I can host one ROM if you want, not 1000 ). By the way you should edit the build.prop file in order to edit the incremental value and make sure the ROM name is allways the same (display.id).
@pfran42: it supports any ROM you want, this is why I made it
It actually don't check for new recovery images, as it relies on external repositories only, I may create a different application for that though. As of backup/restore, it currently has an option to backup the current ROM wherever you want (see options). When I discover how to restore a nandroid backup via command line, I'll add that feature too.
This is a great idea, however adoption may be slow. Even though its an AWESOME idea, it may be a good idea for you host a popular ROM elegos to get the ball rolling. I'd hate to see this die...
Ok so I have to launch a poll. Problem is that:
1. In the generic Android Development forums (where this really thread should stay) is overcrowed with posts, most of them are just publicity for apps on the market.
2. I'd love to have the attention of all the android people to partecipate to the poll. Of course I MAY create a CM7 nightly repo, but it would mean daily work for me (and a lot of space on my host).
I'm working on a system that should keep a list of repositories automatically updated every time you download a ROM with the app (accepting to send anonymous data). It's ready in the git repository, I'm waiting to push it live 'cause I want to create an interface to grab that data too (a sort of list ordered by phone model).
I think that just for starting I'd love to host a Nexus One Gingerbread AOSP, just like MicroMod777's one (TBH I already have that repo online, but it's frozen at version 20 as MicroMod is focusing on CM 7 custom builds, which I dislike for its too many customizations (both CM itself and MicroMod's)). Alternatively an AOSP 2.3 with no apparent changes (i.e. maybe CM with standard launcher). Any idea?
Sometimes you just have to prove how good your ideas are, because people are lazy... good luck my friend.
Sounds interesting.
I'm going to release a "major" update: all the times a user downloads a ROM and accepted to send anonymous data, the repository, ROM name & version and phone model will be sent to a database, which will return back a list of repositories directly in the settings menu!
I've released version 1.9 and made a Enomther Nexus One repository. Enjoy!
Version 1.9.1
- Fixed an untranslated italian string
- Fixed the import of a repository URL via the repositories list (new line at end of repository)
- Made the application more solid when there are connectivity problems / no internet available (no crash anymore)
awesome work!!
have tagged the link shall go thru it...gr8 job elegos ..!! ..PeacE
Awesome ^-^

GB Vibrant -> Sidekick kernel compile

Just to see what would be involved, I tried modifying Samsung's Vibrant GB kernel source tree, hoping to form a basis for a Sidekick GB tree.
Going on the assumption that the Sidekick was very similar to the Vibrant except where it wasn't, and using the Sidekick Froyo sources as a guideline, I forked off a CONFIG_S5PC110_SIDEKICK_BOARD config option from the existing CONFIG_S5PC110_VIBRANT_BOARD.
Then I tried to bend it back toward being more like the Sidekick Froyo setup.
Then I beat on it repeatedly until I got it to compile.
If none of this makes you feel confident, well, it shouldn't.
I tried to methodically sort out the differences, but I'm pretty sure that the sound driver and GPIO assignments need serious help. Since GPIO is the way the handset's CPU communicates with its peripherals, it probably needs to work right for best results. Or any results.
Anyhoo, you're welcome to see my patches. Sorry, I haven't gotten a github repo set up yet.
https://carbon.flatlan.net/nxd/vibrant-gb-to-sidekick-v001-danger-brick-likely.patch
Also in that directory are my patches to disable the unfortunate keystroke logger Samsung shipped in their GPL source drop. Every custom ROM I've tried has had this keystroke logger. It would be just wonderful if we could eradicate it. Our keystrokes do not need to go into dmesg. But that's a digression.
My willingness exceeds my skill. But perhaps we can organize a project to overcome the obstacles to GB on the SK4G, one by one.
Here's my basic comparison of the Sidekick and Vibrant Froyo trees.
I fetched both sources. Both are KD1 versions.
I did `make distclean` to make sure the trees were empty of build files. Before this would work, I had to create two directories containing empty (zero byte) Makefiles. Samsung had created these directories in the source tree, but removed them before distribution.
drivers/fsr/Makefile
fs/rfs/Makefile
Then I generated sorted lists of the filenames in each source tree:
Code:
cd sidekick-froyo/
find * -type f | sort > ../sidekick_froyo_files.txt
Code:
cd vibrant-froyo/
find * -type f | sort > ../vibrant_froyo_files.txt
Then I diffed the files to see which files existed in one source tree, but not the other:
Code:
diff -u sidekick_froyo_files.txt vibrant_froyo_files.txt > sidekick_froyo_vs_vibrant_froyo_files.txt
I've attached that file.
Note that some files appear different only because of filename case differences, eg all the net/netfilter stuff.

[DevTOOL][2012-10-01] Fast AAPT (#2) - Speed up Eclipse/apktool/etc

Presenting: Fast AAPT - aka FAAPT
Lately Android development has been getting me down. Slow builds all over the place in many of my app projects, and my PC is blazing fast - it shouldn't all be that slow, even if you're running Eclipse!
Working on DSLR Controller has been driving me mad - testing a minor change in the underlying communications library, then building and launching the app - ugh! So I set out to fix this. I had done all the usual tricks, even gave Eclipse loads more memory (helped with regular performance, but not building) but nothing major seemed to change. Then I figured out most of the time building was spent in AAPT. So I synced my AOSP repo (2012.09.26, took a few minutes), tried to get the Windows SDK to build on my Linux box (took several hours) and finally got to actually mucking with the source.
Found the bottleneck (for my long-build-time projects at least, related to XML file compilation) and fixed it (by introducing a simple cache). "DLSR Controller" build time has gone down from 35 seconds minimum, to 2-3 seconds ( >10 times faster). Hell, I can even turn "Build Automatically" back on without getting constant delays!
Note that my build times quoted only apply to incremental internal builds. If your images still need to be "crushed" (optimized), or you're "exporting" an APK (final build for publication), build time will still be significantly longer. However, during normal development and testing (by far most builds if you're making an app in Eclipse) those stages are not performed, and builds should be lightning fast.
"Fixed" is a big word though, right now it's more of a "hack", and it needs some pollish, so the patch can be submitted to AOSP. I don't want to keep it from you for that long, so my first test build is attached - don't use it in production builds..
Patch code has been submitted to:
AOSP - #1 Cancelled, #2 Review in Progress ... superseded by ctate rewrite
AOKP - #1 Merged, #2 Merged
CM - #1 Cancelled, #2 Merged
Attached ZIP includes Linux, Windows and Mac OS X versions.
The files are drop-in replacement, but I would certainly advise you to backup the originals for your production builds! Also, don't forget to chmod/chown on Linux or it won't work.
Enjoy and leave some feedback
Will this help your project build ?
A quick way to spot if this will have effect on your slow build is as follows:
- In Eclipse, set Build output to Verbose under Window -> Preferences -> Android -> Build.
- Clean and build your project.
- If the build pauses on lines in the "(new resource id <filename> from <filename>)" format, you have the problem FAAPT fixes
(of course, you can also run aapt manually if you know how, you'll get the same output)
In a full framework build the optimizations only affect a very small portion of the actions done during the build, so you won't see any spectaculair speed increases there.
Update (#2)
I have updated the patch code to fix problems with Mac OS X compatibility, I've also included a Mac OS X binary in the new zip file.
-----
( v1: 557 )
So that's what's been killing the speed of my eclipse then. It froze so often I had to switch to AIDE on my phone. Hopefully this'll speed it up a little
Sent from my Galaxy Nexus using Tapatalk 2
Awesome work Chainfire, will play around with this in a few
Thanks brother, gonna give it a try right now on Linux
EDIT:
It works. Gave it three tries. Went consistently around 19.1 sec with FAAPT and 33.9 sec with regular AAPT. This is on the Linux version. Good job
Amazing work. Handles large resources like framework-res a lot faster.
wildstang83 said:
Thanks brother, gonna give it a try right now on Linux
EDIT:
It works. Gave it three tries. Went consistently around 19.1 sec with FAAPT and 33.9 sec with regular AAPT. This is on the Linux version. Good job
Click to expand...
Click to collapse
Glad to hear the Linux version also works! Too bad your increase is not as much as mine, but I guess it depends heavily on the amount and type of assets in your project.
Chainfire said:
Glad to hear the Linux version also works! Too bad your increase is not as much as mine, but I guess it depends heavily on the amount and type of assets in your project.
Click to expand...
Click to collapse
I tested on a theme project of mine, so its heavy in img files. Thats probably why. I'm not complaining one bit. Absolutely love it and can't wait to try it out on my other apps
Chainfire said:
Glad to hear the Linux version also works! Too bad your increase is not as much as mine, but I guess it depends heavily on the amount and type of assets in your project.
Click to expand...
Click to collapse
Indeed, tested the Windows version and yes it gives a very good result with a amount of assets, i got 7 time faster than the normal one on Eclipse, too bad we can't use it for production, we need one for Apktool .
wanam said:
Indeed, tested the Windows version and yes it gives a very good result with a amount of assets, i got 7 time faster than the normal one on Eclipse, too bad we can't use it for production, we need one for Apktool .
Click to expand...
Click to collapse
Actually, I was using it with APKTool.
Thanks CF.
Decompiling recompiling now is so fast
apktool and Maps.apk on Linux.
aapt - 29.2s to compile
faapt - 2.2s to compile
Amazing job, Chainfire!
Tested both in linux and winz....
It works great!
Untested time but noticeble faster.
What's the next step after elite rec dev for chainfire?
Thanks for the great work!
Could you post your tweaked source file(s)?
Would like to compile from source for OS X..
On my projects I see anywhere from 5 to 20x speed increase on build. Thank you for this magic.
I don't get how the google android SDK team did not optimize this (I know they done some crazy optimizations for different stuff).
Yeah, could you post your patch?
berdon said:
Yeah, could you post your patch?
Click to expand...
Click to collapse
He did say in the OP. He had to clean it up for AOSP inclusion, so just wait till you see it on Gerrit
Sent from MIUIAndroid Phone.
That is good stuff. It's gonna save me a whole lot of time. The thanks button was just not enough to thank you!
Thanks for the great work Chainfire.
Whoa! Now I will surely stop cursing while waiting for xenoAmp tu build (just not enough time to say "kurwa!")! Thank you!
I'am using ArchLinux x64 as my normal desktop OS. (Yes, I don't have Windows.) and tried it with Eclipse, but it don't work.

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