Related
Hey everybody! Sorry if this isn't the right section to be posting in. I guess we'll find out -- Here's the deal:
I've been administering a server of mine for quite a while now. I started out with it running windows server 2008. I had an application that I was using to connect to it over remote desktop protocol, and everything was grand. I recently switched over to CentOS, which has been absolutely the right decision. After a while of running it, I found a nice little server that works similarly (better!) to remote desktop connection. It also allows me to connect from more than 2 concurrent sessions (most college students can't even afford 5 CAL's) as well as a host of other configuration options, not to mention excellent compression.
After spending some time looking and searching through the market for an app that would offer me the ability to connect to NX or NoMachine sessions, I came up emptyhanded. I must admit, I was a bit disappointed that the adoption seemed to gravitate toward a windows crowd, which seemed odd to me. Considering android is so deeply rooted in linux and open source development, I thought that there must be a solution.
So rather than go on and on (at least more than I have in this thread!) and complaining, I thought "What a good time to put my education in UNIX, Java, and minimal amounts of C/C++ to work for me!"
This begs the question:
"Who else has, like me, searched endlessly for this functionality only to come up emptyhanded?"
So folks, raise your hands if you're interested in adding this capability to the already long list of enhancements that your android phone has over all the other smartphones.
Also, in case anyone is wondering, while I have posted this in the "Paid software" category, I would be more than happy to make this app available to all of my friends here at XDA, the people who have done so much to keep me educated, up to date, and running the latest and greatest software, completely free of charge. In the market, I would offer a free and donate version as well.
Anyone who has suggestions for features is welcome to post them. I have a few in mind already, but I would love to hear some input from you all.
I would definitely be interested in an NX client for Android, if you think you can come up with one. I've thought to myself that considering there are open source NX clients out there for Windows, Mac and linux platforms, it shouldn't be that terribly difficult to port the code to Android's java; but I don't have the coding abilities to do it. It's definitely one of those apps that you'd think would be out there, but it's not. And although you may not have gotten any other responses on here about it, there's definitely other poeple out there looking for just this kind of app - just do a search on Google for "Android" and "NX" and you get tons of results with people looking for it.
I've been running NX (or FreeNX) on my linux machines for a few years now, and I've got to say the technology is great, and I'm surprised it hasn't caught on more than it has. VNC does allow for similar connections, but the performance and efficiency doesn't even compare. It's my guess though that this is why we haven't seen an NX client on Android yet - the fact that you can use VNC, and those apps already exist. Regardless, if you can come up with the NX client, count me in as interested
Oh Hell yes...
Hello,
I would be definitely interested in a NX client for android, shame I have non-existent Java skills!
Stuart
+1 would love to see this.
Maybe it's possible in the Atrix webtop environment. They already have a citrix client apparently which is pretty cool!
I've been using and loving NX too and would like to see such a client too
I'm up for it (and would pay for it too) - I would recommend a tablet version if you can? I'm using a Honeycomb tablet to make remote connections and VNC is painfully slow over a mobile connection!
i would love to see this done.
I have some lightweight Java skills, but have absolutely no exp on the android sdk and will be completely unreliable as I'm supposed to be studying after work, not developing
but drop me a pm if you get this project started and I'll dabble where & when I can
Add another interested party in an NX client for Android. I've been using VNC for everything remote access for years and years. I discovered NX last week when I needed an alternative in a pinch. And I'm a convert. Whenever it's possible, I'll be using NX instead of VNC. So it would be great to have a client on my EVO 3D.
+1!!!!!
I have desktop effects enabled on my desktop/personal server at home, and vnc cant handle that. I researched for alternatives and I came up with FreeNX, perfect solution, except there is no client for my droid!!! I am on the go alot and I would be MORE than happy to donate some cashola to my bro's at XDA! All of you guys rock, and if this is ever going to get done, it'll be through you guys! Count me in.
+1 interested!
Add me to the list as well. I have used nx servers/clients for 2 years or so. Prior to using the Android, back when Maemo was big on Nokia, I found a ported version of QTNX that worked on ARM architectures. My very round about attempt I thought to try is to test that one in a chrooted Ubuntu in android but never could get it to function. I have mild experience now and am in the middle of coding a few android utilities but would love to contribute to this... have you considered setting up a git repo or google project or is there one started? Also, I'm not sure if this would work but was also looking at their new web-player client option. I wonder if anyone has tested that out..
Count me in, too. My 12 year old C++ skills aren't going to help, but I'd be in for a paid version.
I was about to try and develop an NX client for iPhone when we got a Honeycomb tablet - that seems like a lot better way to spend my time. I am an experienced Java coder but haven't developed for Android before; I would be happy to learn and contribute though!
+1 and here's some help
I would definitely use an Android NX client.
If you choose to do this (and haven't done the grunt work of figuring out how), here are some pointers that (hopefully) will help:
NX is based on X. So you'll need an X server written in Java to port to Android for starters. If you're okay with going the pure OSS route, there's a GPL'd one to start from at jcraft.com / wierdx (Sorry, I'm a newbie here so am not allowed to post a direct link.)
I haven't tried it, but usually starting from *something* is better than starting from *nothing*.
You'll also need a pure-Java SSH client. The above site has one or you could rip the one out of Eclipse. I can vouch that this code is good as it's what's used by Eclipse for its CVS/SSH and GIT/SSH support.
NX also uses the Differential X Protocol Compressor (DXPC) as part of the X protocol acceleration. The X server above claims to support this too, but I can't vouch for how well.
If you do this, I would suggest to consider making it open source at your favorite OSS repo (GitHub is mine), which gives you at least a fighting chance of finding other like-minded developers who can help.
Thanks for considering this. I hope you're successful!
Dave Orme
+1 for help
i am also with Java background but no android background
and i would love to donate from my spare time into making this a working OSS project
let me know if and how i can help if you have already started working on it - i will take a look at the pointers loaded in here and see what i can learn from them.
contact me via PM here
X server and NX
I have been getting into this with a bit more detail and I found out that there is no X server for Android, so what I did is the following (work in progress):
- X2VNC, that is an X server with VNC backend (it gets launched automatically via intents), there is also an intent to invoke the X server. I have compiled it statically, I guess it would be a good point to upload that to the market place.
- Compiled nxproxy which are needed to get the nxclient working
I am working for a company which is using NX as their desktop ttransport method, so no plans for developing the nxclient so far, but happy to assist in providing these two elements, the rest would probably be:
- UI interface (Java probably)
- nxssh (ssh client with modified select).
Let me know if anyone is interested.
Fund it!
http://code.google.com/p/desktoid/
http://www.nomachine.com/web-player.php
The X server for android
I have published the X server for Android. Search for Xvnc or X11 in the android market place.
+1 would pay for this too
+1
I'd happily pay $10 for an NX client for my Galaxy Nexus!
Another discussion where I posted a version of this led me to thinking that this might make for an interesting topic all on its own.
How would you envision a port of android made specifically for Desktop/Laptop environments, and do you think such an OS would be appealing to the average user?
_______________________________
As I envision it, ChromeOS should be folded into Android 4.0 and Google should build a version of the combined OS for Desktops.
The idea would be to create a common ecosystem of apps and usage environment accross multiple device categories, ad have it all interconnected through Google products and other apps running in the background.
I envision something that boots instantly right into ChromeOS while the rest of the Android system boots up in the background, thus allowing you virtually immediate cloud based functionality on the desktop. You could even choose to ONLY boot into chrome, say if you needed to look up something quickly online and didn't want to fully turn on a computer that has been turned off.
The chrome side of things would be very similar to ICS for tablets and would be deeply linked to all things google as well as relying on versions of the same Google apps that run on mobile, but optimized for ICS and taking advantage of larger screen dimensions. I envision touch interface to be retained for those who have touch sensitive screens, but also better keyboard and touchpad/mouse controls than currently exist. Lastly I would bundle a Google fork of Libre office specifically designed to have deep automatic integration with Google docs and Google+, but allowing users to have local editing control.
I would love to have such a system and have a common ecosystem between my phone, tablet and desktop/laptop, much how Apple currently does with IOs devices and MacOS and how Microsoft is planning to do with Windows 8 and WP8. unlike those ecosystems, this would run variants of the same OS, as opposed to different OSs made to work together, thus being able to take advantage of current built up knowledge and the existing android market.
Imagine if Google did the entire thing open sourced and released it to desktop and laptop OEMs.
A guy can dream right? If only there was a way to have a bunch of people pitch it to Google.
What do you guys think and how would you envision such an OS?
Android is already going to be merged with the Linux kernel in version 3.3 (with improved power management in 3.4)
nejc121 said:
Android is already going to be merged with the Linux kernel in version 3.3 (with improved power management in 3.4)
Click to expand...
Click to collapse
you sure about that? From what I've read Android is going to provide it's drivers and both Android and linux are going to provide patches to each other's kernels (with Power management being addressed in later versions of the linux kernel (3.4?). The Android kernel will remain (at least for now) a fork of the linux kernel.
Still that doesn't really address the subject of this thread.
Santeno said:
As I envision it, ChromeOS should be folded into Android 4.0 and Google should build a version of the combined OS for Desktops.
I envision something that boots instantly right into ChromeOS while the rest of the Android system boots up in the background, thus allowing you virtually immediate cloud based functionality on the desktop.
Click to expand...
Click to collapse
Yeah i too dream of Google using all the OS & games tech experience they have gained from Android to bootstrap a full desktop OS.
My personal fantasy is that the under no circumstances include any of the Chrome Cloud based nonsense. But focus quite heavily on games and multimedia, offer an OS that delivers content & gaming rather than try going head to head on productivity (where they would get owned).
Am not going to go into my objections to the cloud concept, lots of geeks my age & older well remember the mainframe model from the 70's and the cloud suffers many of the same inherent flaws IMHO.
I addition my fantasy involves ARM leveraging the experience with the multi-cores they have developed to produce an ARM desktop CPU arrays, as am a big fan or clusters and arrays, render farms etc.
I have to confess being serious i don't see either happening since both would be attempting to breaking into markets they are inexperienced in and where entrenched competitors already have a tough obstacle course laid out, plus pretty deep war chests.
But the main issue with a Google desktop OS, IMHO to succeed, i think it would have to be capable of some kind of half decent x86 emulation ........... But hey we are talking 'The Brothers Grimms Tales of Silicone Valley' here anyways.
Its possible to do so now, albeit not the same experince you get on your phone or tablet due to lack of driver support Its how i checked out 4.0 before I got it on my Asus Transformer Prime. Worth a try!
(Im new to XDA so I cannot post links, however google "android x86 download" and its the first link.)
There are ready is a port of android that works on desktops that these guys are working on over at http://www.android-x86.org/.
Here's a link to the project:
http://code.google.com/p/zgrom/
A cut&paste from the page:
ZGrom is a gaming oriented distribution for Sharp Zaurus PDA devices. It's a console based distribution built around the Gmenu2X SDL GUI. ZGrom has a wide selection of quality emulators, game engines and apps. Currently, ZGrom only supports the following Zaurus models:
•C-1000 - Akita
•C-3000 - Spitz
•C-3100 - Borzoi
•C-3200 - Terrier
ZGrom comes with GINGE. In a nutshell, GINGE enables ZGrom users to run unmodified GP2X binaries. Some of the emulators and game engines that come with ZGrom are plain, unmodified GP2X binaries that execute on Zaurus devices via the GINGE static loader.
A link to the gmenu2x page:
http://mtorromeo.github.com/gmenu2x/
A cut&paste from the page:
GMenu2X is a frontend application targeted at embedded devices, originally developed for the GP2X and successively ported to other devices.
GMenu2X provides an easy to use interface with quick access to the games and applications of the device trough links similar to those found on PC's desktops.
Its interface is fully customizable with skins.
Other features include: built-in selector for emulators, manuals and readmes integration, built-in overclocker, gamma and volume configuration, ram timings tweaker.
I started working with these but like with other projects... i'm short on time these days. The last of my efforts had a working kernel for these, only a keymap was needed to give to the zgrom developer to build a rootfs, and for someone to text and debug.
IMO the better way would be focusing on developing Android distro, because probably most people are still waiting for working Android on our beloving UNI! Anyway, your efforts are great and mainly because of you UNI developing is still alive!!! Good luck!!
l2tp said:
IMO the better way would be focusing on developing Android distro, because probably most people are still waiting for working Android on our beloving UNI! Anyway, your efforts are great and mainly because of you UNI developing is still alive!!! Good luck!!
Click to expand...
Click to collapse
Lol, I know, I’m taking a break waiting for another project to finish up:
http://forum.xda-developers.com/showthread.php?t=1948803
I’m working on shrinking android now; deleting unneeded library’s and functions to lower memory/processor requirements and running processes. This OS is better suited for people who don’t use their universal as a phone and only have 64mb of ram. I don’t have time to work on this either, the question “Who wants to port ZGrom?” wasn’t rhetorical; I really want someone to pick up where I left off porting it. And android for universals is mostly done all hardware except the cams work. Power saving, gprs, sound on both ends of the call all work… I just need to trim and speed it up….and learn some arm assembly to add in iwmmxt optimizations.
I understand that 64 MB of RAM is too little to run any recent Android version (and by recent I mean higher than 2.2), so it'd be good if there was some alternative OS to bring life to old Universals with the standard RAM - even if that new 'life' doesn't including phone abilities. I don't think the PXA 27x CPUs aren't really that optimized to run Android either (Android can be slow on ARMv6, let alone ARMv5). I'm not telling you to give up on the Android thing; just trying to make people realize notime can't focus forever on something that can't be further optimized... but if it can, then just go ahead
In that sense, I support any development efforts towards something that's not Android.
Also, the work done in porting recent Linux kernel versions can be used not only in Android but in any other Linux-powered OS porting. I may have a go at it... once I format my computer with a bigger ext4 partition (currently out of space to install any kind of cross-compiling tools or SDK) - and this can get delayed for several months.
I was playing around with my Universal (with a dead battery), running old Linux distros on it (with things like Qtopia and Opie), when I started thinking if there wasn't a more recent thing to run other than Android. Then I remembered I had promised to try to port this thing once I got my computer formatted...
Actually I have already formatted my computer and now I have a mostly free >250 GB ext4 partition. I'll only be able to start working on this in the beginning of July, however.
This seems like the perfect use for a Uni that doesn't survive when it isn't charging.
AOTP | Android Open TV Project
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Ben a few weeks since i received my ADT-1 and currently building a device tree with the help of @Unjustified Dev
A few days ago an idea came to mind, why not create a Unified AndroidTV and ASOP (CM, PA, . . . ) Rom
As you may realize this may be a big task and also AndroidTV isn't exactly OpenSource, parts and bits (very little)
I need a Team (Developers / Designers / Skill individuals), Would you like to join this journey? Inbox me or msg on G+!
GitHub Repo: https://github.com/AOTP (not much atm)
Project / Rom Name: AOTP | Android Open TV Project
Others names i thought of were: Android TV Open Source Project (ATOSP), Android Open Source TV Project(AOSTP),
Android Open Source Projec For Television (AOSPTV)
Goal: Unified AndroidTV and AOSP (CM, PA ..) / Something Different / Unique
This Project / Rom isnt only targeted for only to the ADT-1 / Nexus Player but is also for other devices that fall into the
GoogleTV, Android Set Top box categories.
Improve the AndroidTV experience
Beauty / Design enhancement
Teaks / Features
Enhancement
Deliver more
Ideas:
Reboot Menu
Hover by ParanoidAndroid
Broswer & Eleven App (New music aop) By CyanogenMod
Slim Recents by Slimroms (Like the looks, could be use as a SideBar)
Unified Leanback and Lollipop launcher (Leanback launcher is closed source)
* List of Features / Ideas will updated as they are shared (you) and will be taken in consideration.
PS: Im new to ROM developing and learning as a go.
Also the page will regularly updated with more info, ideas ect.
mine!
This sounds awesome!
mkaymuzik said:
As you may realize this may be a big task and also android tv isn't exactly open source, part and bits (very little).
Click to expand...
Click to collapse
Doesn't stop the Sense and Touchwiz custom ROMs from being great!
Sent from my HTC6525LVW using Tapatalk
lorddunlow said:
This sounds awesome!
Doesn't stop the Sense and Touchwiz custom ROMs from being great!
Click to expand...
Click to collapse
Thanks mate. Have alot to do and learn.
True lol all tho i dont exacly like touchwiz.
One thing we need is enabled MTP support.
YoshiFan501 said:
One thing we need is enabled MTP support.
Click to expand...
Click to collapse
this might just be just a kernel thing. i cant know for sure. that why i need skill individuals / devs to help me out with this project.
i have the idea and some skill but not all. this is my first actual big project and want to make it reality.
mkaymuzik said:
this might just be just a kernel thing. i cant know for sure. that why i need skill individuals / devs to help me out with this project.
i have the idea and some skill but not all. this is my first actual big project and want to make it reality.
Click to expand...
Click to collapse
it could be kernel as lollirock enabled it successfully
YoshiFan501 said:
it could be kernel as lollirock enabled it successfully
Click to expand...
Click to collapse
Good to know
I own two ADT-1's and look forward to this project, although I am unable to provide any coding skills I can and have provided testing the ROM during its development.
The MTP issue is a kernel issue and I've worked with kernel developers working on other platforms in the past.
eyetek said:
I own two ADT-1's and look forward to this project, although I am unable to provide any coding skills I can and have provided testing the ROM during its development.
The MTP issue is a kernel issue and I've worked with kernel developers working on other platforms in the past.
Click to expand...
Click to collapse
Thx mate for the interested and i will see what i can do for mtp thing. Have to learn about kernels a little bit more
Short version of my opinion of what the Nexus Player should be, feel free to agree, disagree, or use any part in your creation:
- Full version of Android 5.
- Easily able to switch between a typical Android environment and a Leanback (or similar) environment.
- Voice (via Nexus remote) is going to be important to most users.
- Remapped remote = Home button changed to a shift button, allows addition of volume, channel, and other (launcher swap maybe?) shortcuts.
- xposed or similar tweaks baked in (status bar, themes, etc)
- ScreenCast working
- Web cam and external mic support
- StickMount and FolderMount baked in, or immediate suggestion to download and install (via wizard?)
- Bluetooth headphone functionality (though I don't think this has been solved yet)
I'm sure I'll think of more. Very much looking forward to whatever you can brew up!
Here is what I'm thinking for the remote:
Can the remote be remapped? I'm thinking the home button could act like a shift button, then you could map volume, channel, etc - to combinations of buttons. This would effectively double the amount of functions on the remote, and might make it actually useful! Maybe even add long presses and you'd triple the functions...
Voice = search/home
Up = up/volume up
Down = down/volume down
Left = left/channel back
Right = right/channel forward
Select = select/home
Back = back/force close
Play = play/recent apps
midnightzak said:
Short version of my opinion of what the Nexus Player should be, feel free to agree, disagree, or use any part in your creation:
- Full version of Android 5.
- Easily able to switch between a typical Android environment and a Leanback (or similar) environment.
- Voice (via Nexus remote) is going to be important to most users.
- Remapped remote = Home button changed to a shift button, allows addition of volume, channel, and other (launcher swap maybe?) shortcuts.
- xposed or similar tweaks baked in (status bar, themes, etc)
- ScreenCast working
- Web cam and external mic support
- StickMount and FolderMount baked in, or immediate suggestion to download and install (via wizard?)
- Bluetooth headphone functionality (though I don't think this has been solved yet)
I'm sure I'll think of more. Very much looking forward to whatever you can brew up!
Click to expand...
Click to collapse
There is a rom for the nexus player that is a full android lollipop in development tread called Lollirock just in case you haven't checked it yet.
Like you ideas and most of them were already in mind a fully android lollipop will have to be done like android tv isnt open source. Also creating new launcher is in mind
mkaymuzik said:
There is a rom for the nexus player that is a full android lollipop in development tread called Lollirock just in case you haven't checked it yet.
Like you ideas and most of them were already in mind a fully android lollipop will have to be done like android tv isnt open source. Also creating new launcher is in mind
Click to expand...
Click to collapse
Yep, I've been running LolliRock for a few weeks now and it is great! Zulu just got the screen cast working too so next release will be up soon and better than before.
The reason I posted is that it sounds like we're dreaming of the same thing for the NP, where it is an all around android TV solution and not the same exact thing we've seen on every other device out there.
midnightzak said:
Yep, I've been running LolliRock for a few weeks now and it is great! Zulu just got the screen cast working too so next release will be up soon and better than before.
The reason I posted is that it sounds like we're dreaming of the same thing for the NP, where it is an all around android TV solution and not the same exact thing we've seen on every other device out there.
Click to expand...
Click to collapse
Oh nice and true facts. Im thinking what to do for this rom. I like what zulu did for his rom all tho its speficly for the nexus player. I want this rom to be more as alternative to the close source android tv target to android tv, google tv and and android game console devices.
Yes Please!
mknrls said:
I want this rom to be more as alternative to the close source android tv target to android tv, google tv and and android game console devices.
Click to expand...
Click to collapse
Sorry to necro such an old thread. Is this endeavor being worked on or discussed somewhere else or did interest fade? I would love to see this happen as a lot of perfectly passable GoogleTV devices have been somewhat orphaned when it comes to app support since the (seemingly promised) 4.1+ update never materialized for second gen GTV set top boxes and Google dropped the GoogleTV SDK.
Anyway, a couple of suggestions in case anyone is still interested in doing this:
If Exploiteers (Formerly GTV Hackers) is correct then almost all of the second gen GoogleTV devices are running almost exactly the same basic hardware: "Marvell Armada 1500(88DE3100) 1.2 GHz dual-core processor, with a 750 MHz GPU". It would seem that if you can get one of them running Android L then the rest should follow more easily (but I've never built a custom ROM so I could be way off).
It seems the ASUS Cube would be a good candidate from available Google TV devices as it already supports some AndroidTV features such as voice search through a microphone built into the remote. It has two USB ports, where most of the others only have one. It also has a built in IR receiver (only used by the remote to power the STB on and off, oddly). It would be neat to see if someone could port the Harmony IR remote support from the NVIDIA ShieldTV eventually.
Finally, an extremely cheap micro console to play around with is the PlayJam GameStick. It currently sells for just under $17 US, with included gamepad, at GameStop. It runs an Amlogic 8726-MX system on a chip including ARM Cortex A9 CPU and Mali-400 MP graphics. People have been working on some derivative Jellybean ROMs at GameStickers.net. It would be neat to have AndroidTV installed on something so tiny and cheap, but I believe one of the ROM developers said the SOC couldn't support anything past JellyBean for some reason.
I hope to see an open AndroidTV make progress!
Xenrid said:
Sorry to necro such an old thread. Is this endeavor being worked on or discussed somewhere else or did interest fade? I would love to see this happen as a lot of perfectly passable GoogleTV devices have been somewhat orphaned when it comes to app support since the (seemingly promised) 4.1+ update never materialized for second gen GTV set top boxes and Google dropped the GoogleTV SDK.
Anyway, a couple of suggestions in case anyone is still interested in doing this:
If Exploiteers (Formerly GTV Hackers) is correct then almost all of the second gen GoogleTV devices are running almost exactly the same basic hardware: "Marvell Armada 1500(88DE3100) 1.2 GHz dual-core processor, with a 750 MHz GPU". It would seem that if you can get one of them running Android L then the rest should follow more easily (but I've never built a custom ROM so I could be way off).
It seems the ASUS Cube would be a good candidate from available Google TV devices as it already supports some AndroidTV features such as voice search through a microphone built into the remote. It has two USB ports, where most of the others only have one. It also has a built in IR receiver (only used by the remote to power the STB on and off, oddly). It would be neat to see if someone could port the Harmony IR remote support from the NVIDIA ShieldTV eventually.
Finally, an extremely cheap micro console to play around with is the PlayJam GameStick. It currently sells for just under $17 US, with included gamepad, at GameStop. It runs an Amlogic 8726-MX system on a chip including ARM Cortex A9 CPU and Mali-400 MP graphics. People have been working on some derivative Jellybean ROMs at GameStickers.net. It would be neat to have AndroidTV installed on something so tiny and cheap, but I believe one of the ROM developers said the SOC couldn't support anything past JellyBean for some reason.
I hope to see an open AndroidTV make progress!
Click to expand...
Click to collapse
Are you a developer? We are working on CM Android TV. Its very functional. Supports Nexus Player & (almost) ADT1.
Sent from my Nexus 6 using Tapatalk
npjohnson said:
Are you a developer? We are working on CM Android TV. Its very functional. Supports Nexus Player & (almost) ADT1.
Click to expand...
Click to collapse
That's very exciting sounding.
First off, I wanted to say I posted a few threads about this thing here asking questions about stuff I needed to get it working in the way I'd like and I'd want to thank you because I have made a lot of progress in getting it to be what I'd like it to be. I also don't know if this is the best forum to post this report because it's neither a question nor necessarily a tutorial but rather a summary and description of work already done so far, and especially because this device, while it sure runs Android (very well!) does not fit into any of the categories on this site neatly.
The story so far
This post concerns my experience working with the ITX-3588J, a board released just a few months ago by the Chinese manufacturer Firefly (or T-Chip Intelligent Technology Co. Ltd, based in Zhongshan) that is in the coveted mini-ITX form factor which means it can actually fit into a small-size desktop computer case and indeed has enough compute power to theoretically - and perhaps not so theoretically! - function as an honest desktop system with an ARM processor: namely the - also very new - Rockchip RK3588 system-on-a-chip.
About two months ago, I was looking into acquiring a new kind of computer to replace my somewhat longer on the tooth x86 machine that would be compact, low-power, and easy to transport while also being a fully capable desktop. And I certainly didn't want Apple. I had seen some very small form x86 desktops before, but I also knew there were many boards - like Raspberry Pi - that featured the ARM processor. Not content with the Pi, which is still very weak for this application at least when compared against modern software, I wanted to see if there was something else by now in a similar vein, and when I saw this board I thought it was an amazing option, esp. given I have not yet found a peer. Many ARM single-board devices exist but this is the only one I've found so far that looks to be in a proper desktop form factor and sporting a processor powerful enough to work at that level.
So I got the board, a case, and - noting it had SATA ports - a cheap 250 GB SSD, and put it all together ... and fired it up! And to my surprise, it booted up Android! Which was a real shocker because I generally thought this'd be like another PC board, not having had much experience with this ecosystem beyond phones, so that it would just give the usual "OS not found" stuff. Nope - pre-loaded on the board. Very minimal, very bare-bones though, not even the Google Play and similar essentials required for a usable Android experience. Yet with the little bit I had, I couldn't help but notice it was extremely fluid, responsive, and snappy, moreso than my aging 2018 era x86 box. Moreover, it was very, very interesting (and exciting!) to see Android booted onto a full-size monitor screen like Linux or Microsoft Windows - and actually and surprisingly, to see that it didn't look and feel all that bad!
However, of course, I wanted more. First, I wanted a fully-featured installation of Android. Second, I wanted to run Linux on it - especially given that, a short while later, I found that the board manufacturers were offering a stock Ubuntu 20.04 to be installable to it. Although, in the early stages, I didn't know how to do this at all, and then soon after learned how to reflash the embedded MMC chip to change the OS. And I did so, trying the Ubuntu and finding it also very performant, but not liking either that it was not quite the newest version but also more that it was mutually exclusive with Android - so far.
And that would begin a long - and at many times frustrating, especially given how much information out there is not at all tuned to a device like this being pressed into this application - learning journey toward exploring topics as diverse as how ARM processors and SoCs work under the hood, U-Boot, kernel features, the Firefly-Rockchip developer kit - and having to essentially single-handedly discover many of that kit's ins and outs given there was pretty much no documentation - and more, ultimately leading to where I've got it to now.
What it can do at this point
And that is, right now, I have it sitting here, loaded up with the stock Android 12 and Ubuntu 20.04 - with the former on the eMMC and the latter on the SSD hard drive. On the Android side, Google Play is now loaded and functional, though Google Chrome is not (it crashes with a "Telephony is null" exception for some reason, which seems to suggest for some reason it's trying to act like it's on a phone but isn't). Zoom - an app that I really, really wanted to have (and why I wanted to keep Android around on it) - works and works smoother and cleaner than my 2018 x86 Linux clunker. On the Ubuntu side, though, things are not yet coming - mostly because of seeming inability to use U-Boot to boot from the SSD. I managed to install GRUB, and given that Firefly's generous board SDK provides the full U-Boot source code was able to recompile it with the necessary "bootefi" command enabled which is not present in stock, but nonetheless alas this U-Boot seems to have its SATA support bugged or incomplete, because it would crash immediately upon trying to initialize that subsystem.
Where I'd like to go with it
Obviously, full dual boot of Android and Ubuntu, so getting U-Boot to boot the GRUB resident on the hard drive, is the biggest issue so far, and that means investigating whatever is the problem (or not?) in its SATA subsystem. Getting Google Chrome working on Android is another important step. Moreover - though it would cost extra money that I do not have right now - there's the very interesting possibility, owing to the fact that it has a built in M.2 slot on the board, and alluded to in the title - that the device could be made to act as a cell phone. And finally, the possibility of upgrading to a newer version of Ubuntu (ideally 22.04) - however from what I know so far, it looks like this will have to wait because the stock Linux kernels do not currently support the RK3588 fully - though I'd suggest the Linux kernel developers really should take a look at the SDK that came with this thing because it has lots of code in it including for the kernel, all under GPL.
Final note
One of the most interesting things I've learned from this project, and mentioned earlier, is just how well Android seems to work as a desktop OS. While there have apparently been some attempts to port it to x86, this is perhaps one of the first devices that is desktop-workable and which runs it natively. And one of the things I find that's nice about it is that ironically, because all the apps are designed for small screens, when they are run on a very big screen (and this monitor is not "very big" even by today's monitor standards, being a used and earlier LCD type), they are extremely easy on the eyes and have minimal UI clutter when compared to a typical desktop app on most Linux WMs and on MS Windows.
If you want to know more about the details, or anything else, feel free to ask any questions you might have!
UPDATE:
I believe I may have found an easier way to dual-boot Linux with Android, and that consists of configuring a custom ROM that will put both kernels, and GRUB, on the board's eMMC, while the rootfs for both OSes is placed on the hard disk. Will be seeing how it works.
UPDATE:
I have almost completed the custom ROM! I have now both Android and at least the base system for Ubuntu 20.04 (Kernel 5.10.66) bootable with Android now storing user data on the hard drive; though I'm still running into some hardware initialization issues in the latter that are keeping me from actually installing the desktop system. With regard to the Ubuntu system, there is some interesting issue in that for some reason the provided SDK kernel, which I had to rebuild, seems to build more Android-like because it wants to look in "/vendor" for some things related seemingly to the networking facilities, and it is possible this is preventing me from bringing up wifi, which I need in order to download the rest of the system.
But lots of progress overall - it seems that a full-fledged ARM desktop running simultaneously Android and Ubuntu is within reach to be wrung from this board!
Ignore my request for an update in another post. Seems you like you moving along. I don't need dual boot, just a working Android 12 with GPlay and Chrome. Did you get Chrome to work?
mebalzer said:
Ignore my request for an update in another post. Seems you like you moving along. I don't need dual boot, just a working Android 12 with GPlay and Chrome. Did you get Chrome to work?
Click to expand...
Click to collapse
Thanks. Yeah, I want to say that I have pretty successfully gotten Android 12 working on it for sure, but Ubuntu is proving much more difficult due to graphics support issues, and I'm not sure if it will be possible until RK3588 is supported in the mainline Linux kernel tree which is still something under development. And yes! I got Chrome to work Everything works, actually - it's great as an Android system, though obviously Android is kinda funny to use as a desktop OS. I am wondering if I can't get a "pseudo" Linux using something like Linux Deploy in lieu of running it natively, at least until the kernel development catches up with this new processor.
(FWIW, I'm posting this post from that machine while it is running A12. )
Good to see someone else is interested in it, though. What are you planning on using yours for?
Insofar as getting Android 12 to work w/GApps - it depends on if you want to do it purely on the eMMC or you want to also put user data on an attached hard drive like I did. In either case, the best option, I feel, is to create a custom ROM - I could provide custom ROMs for it for download, but don't know because of Google's licensing conditions around the GApps and have heard of people getting in trouble with Google for distributing custom ROMs for phones that have GApps in them. You basically need to unpack the stock Android image, unpack the "super.img", then load the apps from a package like NikGApps into the "product" partition (NOT "oem" - that was a big mistake), then repack everything and flash to the eMMC again. You will need the board SDK from Firefly for all this as it has the custom ROM-packing and flashing tools.
Alternatively, it is possible to manually install the NikGApps GApps using the Android console - as it's a fully unlocked system, obtaining root access is trivial: just put it into Developer mode and you will find the root access in the "Developer options..." menu under "System".
Shimmy99 said:
Insofar as getting Android 12 to work w/GApps - it depends on if you want to do it purely on the eMMC or you want to also put user data on an attached hard drive like I did. In either case, the best option, I feel, is to create a custom ROM - I could provide custom ROMs for it for download, but don't know because of Google's licensing conditions around the GApps and have heard of people getting in trouble with Google for distributing custom ROMs for phones that have GApps in them. You basically need to unpack the stock Android image, unpack the "super.img", then load the apps from a package like NikGApps into the "product" partition (NOT "oem" - that was a big mistake), then repack everything and flash to the eMMC again. You will need the board SDK from Firefly for all this as it has the custom ROM-packing and flashing tools.
Alternatively, it is possible to manually install the NikGApps GApps using the Android console - as it's a fully unlocked system, obtaining root access is trivial: just put it into Developer mode and you will find the root access in the "Developer options..." menu under "System".
Click to expand...
Click to collapse
Thanks I will keep this in mind. See my reply to you other reply on another post as well.
I would to run gplay as well please send me instruction the nikapps github doesnt say nothing