Quest 2 Emulator to play Quest games on other HMD's - Oculus Quest

[email protected]
I just wonder if there is one.
When there is nothing is it possible to get the "oculus os/android" working on Qemu with kvm or something like that? Normal Android already runs on Qemu so is there a possibility?

Unfortunately not, as Oculus has not released the source code for the OS. We'd need that to compile it for Qemu's "Goldfish" target (ARM64 cannot run on x86_64, and vice versa, without tricks). Since we don't have any of that, not even a device tree, it cannot be done.
Android-x86 is a compiled version of the Android Open Source Project (AOSP) for x86/x86_64, so that version of Android is binary compatible with your PC and QEMU, normal ARM/ARM64 copies of android are not. We also cannot simply take the OS from the device and plant it into QEMU as, once again, they wouldn't be binary compatible and the OS on the Quest 2 wouldn't have the drivers needed to run on QEMU as it would only have the proprietary blobs needed to start the HMD.

Hmm, I was hoping for some kind of quest 2 Android SDK myself, so I could try out a few features myself, but it's not THAT important. Was kinda hoping I could test the OS and built-in apps a bit before buying it. Yes, I have a standing offer to borrow a friend's quest 2 for a few weeks, but it's honestly more work than it's worth, to do that, because he lives something like an hour away. If he was right next door then sure, but he's not. He also lives in a group home on a caddy waiver, so there's all these rules he has to follow which makes having friends over a pain, as I can only be outside or the garage, and not in their house.
There's so many things that I really would like to look at before purchasing one, just in the OS and settings, like how adding your own figures to the home environment for instance, and all the multi screen things that oculus seems to be adding. Not to mention that I'd also love to try out sideloading apps, which really almost requires prior knowledge as it's a bit different than normal sideloading I'm given to understand. All of this stuff is something I would love to try without having to potentially brick a working quest 2. And yes I know that nothing on a quest 2 should brick from any of that, but still, it's not a known entity to me, therefore the caution, to my mind at least, is worth it, considering if something happened I'd have a 400$ paperweight

Related

Windows CE

Hi all, hope u had a nice week-end
I have resuscitated an old HP Jornada, and I was wondering if one can still find softwares for windows CE. Especially games, even basic ones since it is intended for use by my kids.
Thank you and take care
i believe that games for the cpu will work
as in if it have an arm cpu arm based games will work
and if it's mips mips games will work
games are typicaly written in asm directly for the cpu and the os dont mean that much
Redugar - I don't mean to be rude but are you leaving in the 80s?
No one has bee writing games or anything other than drivers and other OS / basic components using assembler in over a decade and a half!
It's way way too much work and not at all necessary.
But you are right about one thing - I've seen on some freeware sites like www.pocketpcfreeware.com apps that were compiled for CE2.11 so yes I do believe there is a good chance to find a few games.
Thanks folks for your replies.
I've tried very "basic" games like ICBM, but they won't run.
Visual basic stuff works provided one downloads the appropriate dll.
Will keep searching.
Take care,
well i may still look like this
http://thor.mirtna.org/features/titular_movie_themes_limahl.jpg
but my dukenukeem3d and warcraft2 are just in dirs on my sd card and they run under wm2002 to wm2005 3.5AKU without even a reinstall
so they are not really taking advantage of any newer features of the os
same with this doomCE port
http://www.revolution.cx/DoomCE.htm
levenum said:
Redugar - I don't mean to be rude but are you leaving in the 80s?
No one has bee writing games or anything other than drivers and other OS / basic components using assembler in over a decade and a half!
It's way way too much work and not at all necessary.
Click to expand...
Click to collapse
Check out SmartGear (see my emulation-related articles) and the new Pocket QuickView ( http://www.modaco.com/Pocket-QuickView-40-looking-for-ideas-t255364.html )
The mission-critical sections were all written in assembly. This is why it's WAY faster than any other, C-based emulators / image viewers.
maybe using gcc for arm to some some nativ arm code would also have less overhead then win32 stk
though not sure how many libs would be required to be linked to so could end up a drag
Ok, I know when I am bitten but I am just no willing to quit!
(Just to reiterate - to 80's remark was meant in good fun and not intended as an insult, plus this was written late at night after a long work day)
Any way it does make sense that for high speed some graphics rendering routines will be written in assembler (note that unfortunately eVC tools do not include inline assembler so modules have to be compiled separately and then linked)
I do remember taking a peak at the DOOM port and it is mostly C. (Though I am sure it has assembler sections).
What I was trying to say is this:
a) You can't write a whole game like DOOM in assembler only in reasonable time.
b) Even assembler modules need to be eventually linked in to an executable so the OS (what ever it is) can load them - and here is the problem. Every exe has a header that states what processor and what OS it is designed for. Even if your app does not use new OS features, but is linked using a higher OS SDK settings the exe header will contain a version number unknown to the OS and it will refuse to load stating that it is "illegal file".
A less prehistoric example would be files compiled with WM 6 SDK refusing to run on WM 5 despite the fact that there is almost no difference in the OS.
"(Just to reiterate - to 80's remark was meant in good fun and not intended as an insult, plus this was written late at night after a long work day)"
dont think anybody took it any other way at least i did
what i should had said maybe rather then that they were in pure asm
then maybe that they were not that depending on the os and version of the os itselfs
and maybe of those fps like doom and nuke3d and such
are ports of old dos games where that was more the custom then later on when windows gaming took off

seems like a whole lot of intense hacking for 'opensource'

Being a fan of Linux, and an Ubuntu user, I guess I thought Android was going to be a lot more openly tweakable, but from looking over these threads it looks like it's actually not that easy to do things that I would have assumed would be easily accessible tweaks... like theme/appearance/fonts/icons, etc... In fact it looks like some pretty intense hacking is going on with slow progress in bypassing , etc...
Maybe I'm not understanding correctly. I don't have the G1, but my girlfriend does and I've been enjoying it from over her shoulder... I guess I just expected something more 'open' along the lines of what I've become used to with Ubuntu.
I kind thought Android would be to iPhone, what Linux OS is to Apple OS, but it definitely doesn't seem like that's the case. It seems like Android is just as locked down as iPhone but with fewer apps and not-as-slick interface for the same price as an iPhone.
I had been thinking about getting this phone... maybe I just need to wait for more apps to come out?
Any thoughts?
As of right now we do have a little more opensource than anything else. And like all new software it will take time to learn what to do. Obviously people didn't get Mac OS 3 and immediatly know how to hack it so they could do things they weren't meant to do. And of course same goes with mobile phones. When WM5 came out they had to learn about the new OS and it takes awhile.
So far the freedom we have already surpasses that of any other. We have internet sharing (for those with root) that is far better than the old USB or BluetoothPAN method(which btw is going to be a new profile, it is in the source)
I am willing to bet that as soon as it hits 1.0 that we will see it go entirely open with the ability to flash the rom and all.
That makes sense... I just have to be patient Thanks for the reply!
Open source != open system.
Open source means just that... you can see the source code. That's it. It doesn't imply or confer any other right of access, and with most open source licenses the licensor (Google & HTC) is free to build closed systems just as locked down as one based on proprietary code. Many commercial systems (Android included) are underpinned by open source code for cost savings or stability/security reasons.
Edit:
what Linux OS is to Apple OS
Click to expand...
Click to collapse
That's comparing apples to oranges. Linux is not an operating system; it is an open source kernel on which an operating system can be built.
Fact of the matter is, OS X's Mach kernel is partially descendant from BSD, so you could say the center of OS X is open source as well. More info at wikipedia's Darwin entry. For being a "fan of Linux" you don't seem to understand some of the core principles.
If I am not mistaken Mac's are unix based right? many the kernel is similar to linux... which is why the filesystem structure is similar as well.
But you are correct open source means you can see the source... but usually when someone can see the source they find a way to get around security holes that lock down the system.
With open source and developers an open system is possible. And we already know we can do it because we have modified the updates that are sent which change the system files. so all you need to do is put a new boot.img and a new recovery.img and replace the root system directory... before you know it you can have this running any version of android and/or anything else that will run on an ARM6 device.
Don't make it so complex. It's meaningless to play the words game.
To make it simple:
As a developer, on G1, we are not able to do what we can do on a linux PC, and that was my understanding about the open source smartphone OS.
To be practical, for the same project I ported for Android, Windows Mobile and iPhone, I would say: Windows Mobile is the most open one (friendly) for developer. You can even make your own driver on it. So I would say Windows Mobile = smart version of Windows Desktop. But I cannot say Android = smart version of linux.
I really hope Google can push a little bit to the carriers to open the root for us. Android really needs to be more developer friendly. Otherwise, it is hard to compete with iPhone, since the key part of Andorid was "openess".
jashsu said:
Open source != open system.
Open source means just that... you can see the source code. That's it. It doesn't imply or confer any other right of access, and with most open source licenses the licensor (Google & HTC) is free to build closed systems just as locked down as one based on proprietary code. Many commercial systems (Android included) are underpinned by open source code for cost savings or stability/security reasons.
Edit: That's comparing apples to oranges. Linux is not an operating system; it is an open source kernel on which an operating system can be built.
Fact of the matter is, OS X's Mach kernel is partially descendant from BSD, so you could say the center of OS X is open source as well. More info at wikipedia's Darwin entry. For being a "fan of Linux" you don't seem to understand some of the core principles.
Click to expand...
Click to collapse
As a developer, on G1, we are not able to do what we can do on a linux PC, and that was my understanding about the open source smartphone OS.
Click to expand...
Click to collapse
It's like you've never even heard of embedded linux before. Show me where on the G1 advertising or packaging it claims to be a Linux PC.
To be practical, for the same project I ported for Android, Windows Mobile and iPhone, I would say: Windows Mobile is the most open one (friendly) for developer. You can even make your own driver on it. So I would say Windows Mobile = smart version of Windows Desktop. But I cannot say Android = smart version of linux.
Click to expand...
Click to collapse
WM gives the developer deeper system access. That's awesome for developers maybe, but calling it a "smart" is probably going a bit too far.
I really hope Google can push a little bit to the carriers to open the root for us. Android really needs to be more developer friendly. Otherwise, it is hard to compete with iPhone, since the key part of Andorid was "openess".
Click to expand...
Click to collapse
Android's security framework design is solely Google's responsibility. Tmo doesn't even remotely factor into it. If you don't like the default Android system lockdown then download the codebase and compile it yourself without the security settings. Security is there to prevent neophytes from opening shell and f__king their phones up.
jashsu said:
Android's security framework design is solely Google's responsibility. Tmo doesn't even remotely factor into it. If you don't like the default Android system lockdown then download the codebase and compile it yourself without the security settings. Security is there to prevent neophytes from opening shell and f__king their phones up.
Click to expand...
Click to collapse
And run it, how?
From my understanding, the only way to get a firmware onto the phone ATM is from the recovery menu, which will only install signed updates from Google. Yes, we've got a way around that for now, but it requires root access.
How would you install a self compiled version of Android onto the G1 on the official RC30?
Gary13579 said:
And run it, how?
From my understanding, the only way to get a firmware onto the phone ATM is from the recovery menu, which will only install signed updates from Google. Yes, we've got a way around that for now, but it requires root access.
How would you install a self compiled version of Android onto the G1 on the official RC30?
Click to expand...
Click to collapse
No clue. I'd probably do it with a Freerunner or something that is specifically designed as an open system. The recovery menu is not the only way to write to internal memory; i'm sure the HTC bootloader has some provision for usb access.
You have all of the Android operating system at your disposal in the form of source code (provided you agree to the license). If you want to write/port low level drivers for it go right ahead. You just can't run it on the G1. They chose to lock down the Android implementation on G1 and you're dissatisfied with that. That's like being dissatisfied that a house has locks on it when the architect gave away the blueprints and floor plans for free.
jashsu said:
That's like being dissatisfied that a house has locks on it when the architect gave away the blueprints and floor plans for free.
Click to expand...
Click to collapse
Except when you buy a house, they generally give you the keys.
Gary13579 said:
Except when you buy a house, they generally give you the keys.
Click to expand...
Click to collapse
Yeah I know, it's a flawed analogy.
If you want to have free reign over your Android, I suggest you get a Neo Freerunner to play with. I say play because the open source portion of Android is missing a lot of closed source Google added value apps (Maps, Gmail, etc) that define the G1. Also the porting process is still ongoing.
Android's security framework design is solely Google's responsibility. Tmo doesn't even remotely factor into it. If you don't like the default Android system lockdown then download the codebase and compile it yourself without the security settings. Security is there to prevent neophytes from opening shell and f__king their phones up.[/QUOTE said:
Stop playing the work game and understand the simple Thing that Developers want full Access to device in order to build Software Beyond Generalised Application, like bluetooth drivers, codecs, themes, different home shell the way we do in Windows Mobile
You said take OpenSource and Customise the OS by bypassing some security for shell access. Now Lets understand 98 % device get automatically f**ked with RC30 and there is no Reversal!!! If you can build any Customised Android Package which can bypasss Security for shell access and also Bypass Signature checking just do it for me so i can Revert to Shell Access from f**king RC30.
Click to expand...
Click to collapse
hetaldp said:
Stop playing the work game and understand the simple Thing that Developers want full Access to device in order to build Software Beyond Generalised Application, like bluetooth drivers, codecs, themes, different home shell the way we do in Windows Mobile
You said take OpenSource and Customise the OS by bypassing some security for shell access. Now Lets understand 98 % device get automatically f**ked with RC30 and there is no Reversal!!! If you can build any Customised Android Package which can bypasss Security for shell access and also Bypass Signature checking just do it for me so i can Revert to Shell Access from f**king RC30.
Click to expand...
Click to collapse
98% of G1s might get derooted with RC30, but guess what? 99% of users don't need root or don't care. Tmo and HTC didn't build the G1 as a device for devs to hack and play with. That's why its a subsidized $179 phone and your unlimited dataplan is $25.
99% Percent people dont want it but if we develop some Application which is beyond the SDK thing we must have to have root access to all device in order to Install it.
Adobe is releasing Flash Plugins for Browser lets see they can do it by just releasing APK Package in Market or a Pushed OTA Update. If Adobe requires OTA Update then Smaller Company and Developers see hard time to develop such Extension without Googles Permission.
Just make your Science clear before commenting it
hetaldp said:
99% Percent people dont want it but if we develop some Application which is beyond the SDK thing we must have to have root access to all device in order to Install it.
Click to expand...
Click to collapse
Of course. I am just saying that there is a sense among some people that they are entitled to root access simply because G1 is built on Linux. You are not entitled to anything of the sort. If root is important to you then sell your G1 to someone who doesn't care about root (there are a lot of these people) and buy a Freerunner.
Every OpenMoko phone I have seen looks like they are competing for ugliest phone ever. I know the G1 isn't that pretty, but oh my god, I would be embarassed to carry that in my pocket.
I already own more then 6 Smartphone. And i don't use G1 also becuase of Microsoft Exchange things. I dont have any Complaint for Exchange Connectivity.
Here the Question is how can i develop some more powerful Application / extension / core Part and Distribute it across all G1 users the way we do it in Windows.
This means my core Application can run in free Runner (OpenMoko) but it will not be available in G1 user group. There will be handfull user who may use free Runner but its not my Market. I require bigger community to sell the Software buddy.
Here the Question is how can i develop some more powerful Application / extension / core Part and Distribute it across all G1 users the way we do it in Windows.
Click to expand...
Click to collapse
If you need to get below the VM on stock ota G1 then most likely your product will need to become a part of the Android platform (meaning open sourcing). The integrity of the os and user data is one of the main reasons the Android sdk only supports the VM.
I'll be interested to see how Adobe's flash implementation for G1 works. Flash is closed source, and Google has explicitly stated that the entire Android platform is open source. My guess is they will patch the Browser to accept signed binary plugins. Perhaps Google's signature will require a peek at the source. I'm only speculating though...
Yeah using SDK we can only Develop Application which run itself in the Sandbox cna they can communication with other Application using intents, you can share Data using content Provider, share the Setting using Preference. We can develop some services in apps to handle Asynchronous process.
We we ca not do is recompile the Whole Modded Source, replace or test drivers, codec, low level binaries.
The SDK is fairly powerful out off the Box for Standalone things. !
Thats why i have made a different demand to google in this thread
http://forum.xda-developers.com/showthread.php?t=444893
The only thing tmobile is worried is tethering, as they give unlock code after every 90% day Subsidized Handset unlocking is not a big worry for them.
Just think If you want to develop On Screen keyboard it require more powerful access to core system and its beyond Google Sandbox approach.
jashsu said:
It's like you've never even heard of embedded linux before. Show me where on the G1 advertising or packaging it claims to be a Linux PC..
Click to expand...
Click to collapse
Show me where did I say Android = a linux pc. Same, I didn't say Windows Mobile = Windows XP/Vista.
I hate to play the word game.
jashsu said:
WM gives the developer deeper system access. That's awesome for developers maybe, but calling it a "smart" is probably going a bit too far..
Click to expand...
Click to collapse
That's why I thought very high with Android. But the limited development access makes it worse than WM.
jashsu said:
Android's security framework design is solely Google's responsibility. Tmo doesn't even remotely factor into it. If you don't like the default Android system lockdown then download the codebase and compile it yourself without the security settings. Security is there to prevent neophytes from opening shell and f__king their phones up.
Click to expand...
Click to collapse
Could you please show us how to get the root from the f__king rc30?
Do you rebuild the whole linux on your pc if you just want to make a simple application?

PC emulation on Android - OS XDA project links.

So in this thread it tells you how to install pc operating systems like windows and linux on the Evo 3D.
http://forum.xda-developers.com/showthread.php?t=1459153
This, is freaking awesome. This one is a big breakthrough.
----
Here is the thread in the Nook Color forums for ubuntu on the device:
http://forum.xda-developers.com/showthread.php?t=1055954
----
These two threads are native installs, not using some client to access the installation, the device itself is the client as it should be.
This is not some chrooted virtual OS simulation, but the real deal installed to the device.
----
In the back of my mind i've wanted to play with ubuntu installed on the MT4GS, but not a virtual installation I want it installed and running on the device natively.
I definitely don't have the time to do this and a lot i'm trying to do around here even if I wasn't in my busy season for work.
Dropping this information so I can find it later when I do get to trying to get ubuntu (and now windows XP looks like a possibility) installed on this device.
If anyone else feels like looking into this, here's a good place to start. If anyone comes across any other projects that are the real deal and not virtual installs please post links here.
Have fun!
Blue6IX said:
So in this thread it tells you how to install pc operating systems like windows and linux on the Evo 3D.
http://forum.xda-developers.com/showthread.php?t=1459153
This, is freaking awesome. This one is a big breakthrough.
----
Here is the thread in the Nook Color forums for ubuntu on the device:
http://forum.xda-developers.com/showthread.php?t=1055954
----
These two threads are native installs, not using some client to access the installation, the device itself is the client as it should be.
This is not some chrooted virtual OS simulation, but the real deal installed to the device.
----
In the back of my mind i've wanted to play with ubuntu installed on the MT4GS, but not a virtual installation I want it installed and running on the device natively.
I definitely don't have the time to do this and a lot i'm trying to do around here even if I wasn't in my busy season for work.
Dropping this information so I can find it later when I do get to trying to get ubuntu (and now windows XP looks like a possibility) installed on this device.
If anyone else feels like looking into this, here's a good place to start. If anyone comes across any other projects that are the real deal and not virtual installs please post links here.
Have fun!
Click to expand...
Click to collapse
Regardless of what impression you may have, it is ABSOLUTELY IMPOSSIBLE to run MSWin on ARM hardware natively. The reason for this is that MSWin is x86 and ARM is... ARM. The approach used in the first link is to use BOCHS (pronounced "Box"), which is a VIRTUAL HARDWARE EMULATOR. It requires a host operating system to be functioning in the background, in this case Linux.
As for Ubuntu... well sure. No problem. Its Linux and the phone runs Linux. Not that big of a stretch to replace the Android parts with GNU.
Note that NONE of this is any kind of "great breakthrough". Bochs has been around for a VERY long time. First OPEN SOURCED in early 2000. Yeah, 12 years ago. As for Ubuntu... well I suppose that the main reason that most people aren't making a native android replacement out of ubuntu, is that not many people are all that interested in it. Cute in theory, but not practical.
What would be a more worthy project would be to upgrade android to GNU libraries and utilities. This would afford us an actually USEFUL balance between the two. Also the ability to run X *through* android without having to do stupid things like VNC. Have the proper interface ***AS AN ANDROID APPLICATION***, leaving Android to work (i.e., phone calls, etc.) while simultaneously offering the standard Linux applications.
My thought though, is that this is becoming less and less important. Firefox is on Android now, the Document foundation has announced LibreOffice for Android -- supposed to be by late 2012 to early 2013... GIMP has no place on Android... That certainly covers the basics.
Appreciate the post. I didn't have time to dig into it too deeply, so took it at face value for the impression I got. Happened to come across it in passing and didn't want to lose track of something vital to the future dev of a project like this on the doubleshot. (but definitely this doesn't belong in the dev section at this time - just clutter there.)
I was hoping people would add to it, especially the way you have, who had more of an understanding of what's going on there - I didn't realize that it was a virtual environment for the windows stuff, but it did seem to good to be true.
Even if no one responded I figured the thread would get pushed down out of the way, but still be here when I got the time to come back to it.
----
My reason for running native linux on the device itself is to be able to use the Android SDK and tools without needing a computer to do so. I have 2 of these phones and a Nook Color. The NC has USB host support, so I could plug the doubleshot into it without frying either device. (yes, i'm blending android and linux concepts here - but usb host support in android shows that it's capable of doing it)
Even from one doubleshot to the other I could use wifi adb for a lot of stuff without plugging them into each other through USB and frying the phones. So that would be a victory as well.
The lack of a hardware charging circuit in the doubleshot makes the worry of frying the phones a big deal, power transfer through USB is a big hurdle to jump in management.
Beyond that - the doubleshot is powerful enough on hardware specs to be able to compile a kernel, but that's not gonna happen through a virtual linux install because the overhead is too much. A native install might just be able to do it though. Won't know until I try, but it's worth the work to get to the point of trying, even if it doesn't work out.
The Nook Color probably won't be able to compile a kernel - it's asking too much from a device not really able to handle that.
Getting what I mentioned above to work would mean I could do all my dev work with what fits in my pocket, and let me keep working wherever I am.
I do like the idea of an app to work with this through Android itself - but I don't see how I could use the SDk and variety of user-created tools without a native linux install. Worth pursuing either way though.
If anyone has anything to add, i'd be welcome to hear it. Just understand this is not a project i'm working on or actively pursuing right now - but fully intend to down the line.
Actually blue. There is a thread somewhere that has a step by step on installing ubuntu on gingerbread. I meant to add it when I added the backtrack link. For some reason I didn't, I probably forgot, I actually think the link for it is in the backtrack thread in the sticky.
If I do find it ill let you know.
Sent from my ICS Splashed using Tapatalk

[Q] Is the Dinosaur Extinct?

I like this phone. Feels good in my hand. Did the job fine with Froyo. When the GB update never came, rooted it and began a new hobby (obsession?). Now running a 4.4.4 Omnirom. Works mostly quite well. Doubtful if there will ever be Lollipop.
I do not need a quad-core screamer. This is a mobile phone and information device. I am not playing Grand Theft Auto on it, and if I spend time viewing my favorite flicks, there will be no battery left when I need to phone home. Wife will not be happy (unless here battery is also dead for similar reasons so will never know).
However, more and more apps will not run. Armv6 is definitely on the outs, even though some providers still sell such phones. Running old Maps version, Google Now does work, sideloaded, with an online-voicesearch-wrapper. Not bad, in all.
But maybe time to get a newer device. Or maybe another OS ...
Android was designed to be a Java-based Linux. Apps written would simply install and run on any hardware. No need to compile for that Atom or other chip. Simply played. The way it was supposed to be. (Gnu Linux depends on Gnu C and C++ compilers, and every distro needs to maintain app package variants for various HW architectures. Android was to be the alternative with one app store ...)
and then, devs started incorporating pre-compiled JNI (Java Native Interface) components. These are compiled (using the Gnu compilers?) for specific architectures. Read Armv7. Lets out our devices, Intels, etc. It is too much trouble to maintain multi-architecture apps this way. Armv6 is obviously obsolete, so goes by the wayside entirely. Most apps are not opensource even if I were to compile them myself.
This destroys the whole idea of Android and Google is the worst offender. How long till that shiny ridiculously priced flagship ends up like our device? How long to only 64 bit is supported (definitely need 64-bit on a ... phone!)? How long till Armv8, 9, .... Maybe time to forget about Android all together. Google is the prime offender.
Problem is that Windows and Ubuntu both need compiled Apps (though QML and HTML5 should be portable). Both do look good. Put in the Dalvik VM, just like Java gets installed on any distro, and made in the shade, can keep the more reasonable apps. Gnu tools should be available for Ubuntu.
Do not know whether this is the place for this tirade, but ... what say you?

[Firefly] [ROCKCHIP] [ITX-3588J] ITX-3588J ARM Android/Linux Dual "Deskphone" Progress

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

Categories

Resources