Saw this article on a Winu Newsletter the other day, if anyone is interested.
What if you want to go the other way around with emulation and run your favorite Android apps on your PC? Well, you can do that too. BlueStacks' App Player is a program that you install on XP, Vista or Windows 7 and then you can run Android apps on it. Over a million people downloaded and installed the alpha version, but the latest version (beta-1) runs many more apps and it's also a free download. Some major companies apparently see the potential for App Player to be a hit, as Qualcomm just recently joined Citrix, AMD and others as an investor in BlueStacks.
Check it out Here:
http://bluestacks.com/
This brings up an interesting idea. What if you ran windows arm on your tablet then used that to run this and used this to run windows arm again and so on. Appception?
Sent from my tf9001 with XDA XD.
Android apps are java apps so theoretically multi-OS. Some of them need some specific Linux libraries to run. That's probably the goal of this app.
Like Wine in Linux that converts windowsAPI calls in Linux API calls..
Hi, I've been looking at running GNU Linux apps on a rooted android. device with modern hardware and I've yet to find a 'nice' way to run x apps with acceptable GUI performance. Currently I've tried the java implemention of x on android which is barely useable and various vnc - rpc intergrations running x11 using a virtual frame buffer which is much better but laggy.
My idea to solve this problem is to completely do away with the vnc etc.. proxying. that 8s hack the virtual frame buffer version of xorg so that the main pixel map surface is in ipc shared memory and use ipc to render this through the android api.
So is it possible to statically link the needed android libraries to allow abdroids ipc to work between a hacked xorg vfb and abdroids shared memory ipc to a native android app. Thus making high performance rendering with near zero memory coppies possible.
Secondly, and this would be a bonus, could I even get rid of ipc and a native android app by getting xorg on my root GNU Linux install to work directly with android graphics and UI apis. This would be ammazing.
Hopefully ipc is at a kernel level so it may be possible to just port the needed parts of android to GNU Linux to do this if the statically linking method is known not to work.
Any ideas and suggestions, what do you think of this idea for intergraring GNU Linux x apps and android.
I really like this idea and I've been looking for something like this. You said you used the "X server" android app? I'm kind of curious on the performance. Was it laggy or just that it wasn't fully what you expected?
jthree2001 said:
I really like this idea and I've been looking for something like this. You said you used the "X server" android app? I'm kind of curious on the performance. Was it laggy or just that it wasn't fully what you expected?
Click to expand...
Click to collapse
Currently I'm running xrdp and tightvncserver in a gnu/linux environment (using inode linking not chroot) and xfe as the windows manager.
I connect to this from android using a rdp client.
The main issues appear to be very slow performance on graphics updates, visably slow, which I put down to the overheards of running everything through vnc/rdp - over sockets - mem coppies, compression (which I should turn off to see if it helps) encryption and all that stuff that goes along with rdp and vnc that's not needed if you use something like shared memory and blit to that.
Performanc of the apps in xfe &co, for instance libraoffice or eclipse etc.... seems to be pretty good, so that's not the issue, just the graphics.
Running a Asus transformer infinity T700
my current messing arpund has been trying to get the Android NDK to compile and run on ARM, which in theory should be no problem so long as it doesn't rely on x86 machine code to do the job (which I doubt).
idky google locked down the architecture in the builds and didn't just leae it as any old gnu/linux or whatever and let the person making the build tweek any bugs, instead of having to hack googles custom build system for building the toold chain to for a specific architecture.
floowing some rough profiling
jthree2001 said:
I really like this idea and I've been looking for something like this. You said you used the "X server" android app? I'm kind of curious on the performance. Was it laggy or just that it wasn't fully what you expected?
Click to expand...
Click to collapse
Ok, I did some crude profiling using the setup
tightvncserver
xrdp
and xrdp client on android.
the major bottle neck was the rdp client on android which made my testing cpu limited since it was maxing out cpu usage. I beleive this may be due to a bug in Android on my tablet relating to non opengl es graphics..
anyhow I got some more usefull data
xrdp was typically sitting at around 40% cpu and all it's doing is taking data from tightvnc and shunting it over rdp to the client.
next on the list was the vncserver using typically less than 30% cpu.
I think this shows there is clearly a lot of overhead (based on the 40% cpu xrdp was using) of using a remote desktop protocol over sockets that should be easy to mitigate by using shared memory.
I also tried a different setup
tightvncserver
and a vnc client on android
taking rdp out of the loop
again the android client made the tests cpu limited but perforance was much better.
This VNC client is open source, so my next step is to create an opensource project and modify the VNC client so that the user input is up to scratch and look at using opengl for graphics (assuming that's where the bottle neck is) so that it's not longer cpu limited.
Once that is done (which should also failarize me with the VNC protocol and the client code).. I can look at replacing the graphics part of VNC with a shared memory buffer, but keeping the user IO over the existing VNC protocol as that makes sense...unless that also becomes a major issue.
That also leaves me some way of sending additional data back and forth without having to do it 'all' via shared memory which would be much more of a mission
in theory there shouldn't be any need for any kind of complicated mutexing between the android client and the x server sine the x server will be all but write only and the android client always read only.
on a side note,
running java linpack on android I get about 50mflops per cpu
with disk io I get about 1gig per second cached reads.
so some crude math would give me 250mega words
my screen is 1920 by 1080 (well actually 1200), but we'll call that 2k by 1k, or 2 mega words.
so a theoretical performance into the high tens of fps seems quite achievable, which is much bettern that the 5 or so tops that I'm getting atm by an order of magnitute.
having a quick poke around, mostly related to my xorg wows (that is it complaints about no tty device when starting up. it seems that it's not too difficult to get xorg running using a frame buffer driver after a few android services have been stopped. So i'm not sure if this is still needed or not.. IPC betwen gnu and android is still an interesting project.
So anyhow, I'm going to try and get xorg running properly, there are even tegra 3 drivers for xorg too, so in theory the performance should be substantially better than anything an ipc hack would be able to achieve.
Hi there folks.
I'm new to Android system, but I'm a lone wolf of Linux and Unix system administration.
I have some question about it's resource management.
As I have searched, Android manages the device memory as a pool where it lays the apps pre-loaded in a priority-fashion, layered from 1 to 6, closing what is no longer necessary and keeping recently used/most used apps loaded for fast paced use.
Is that correct?
Also, I want to know more about memory and processor management.
Speciffically if I can use the same concept of memory management in Linux and Unix systems in Android. I'm thinking about developing scripts for memory and processor optimizing (to save memory use and processor time for the sake of battery duration).
I searched but couldn't find any reliable documentation on it.
Could you enlight those for me?
Thanks in advance,
Rafael Umbelino
Sorry if this isn't the best section to be asking in, it's a big forum out there with so many boards.
I'm trying to run many instances of a certain Android app concurrently. I need either Google Play services to be available for a one-time sign in on each instance, or preferably a way to import app data to remove the need for Google Play or any other components of the Android environment besides the basic runtime needed to run the app.
I'm currently using an Android emulator (Nox) running on 640x360 at 20 fps, which is able to get me about 14 instances running on my local Windows. machine before things start crashing. The limiting factors seem to be the frequency of snapshots taken by the VMs and running low on RAM, which in turn increases CPU usage for defragmentation and page file management.
Is there any more efficient way to accomplish this task? Perhaps an x86 Android runtime with settings to reduce graphics quality? I've also looked at the Genymotion AMI on AWS but all of Amazon's VM options seem too powerful (and costly) to run my app on so many machines.
Thanks!
Hey guys,
I want to use 2 versions of the same app on the same device, I tried Island but it doesn't seems to support 2 different versions of the same app. So I turned to Parallel Space, which seems to be the most popular one in the same category.
This makes me wonder, how does it works? And are there any FOSS alternatives?
Thanks!
@Rapier-
Simplified:
Parallel Space creates per app what gets cloned a virtual space ( simulated memory and disk space ) which is isolated from the outside, like a sandbox, means cloned apps run in parallel and work independently from their original apps. Because the virtual memory isn't taken from device's RAM - it's just disk space, it's by nature slow performing. Result: Parallel Space allows you to use multiple accounts at the same time on your device. Further it can protect you from being detected by random apps. Important: Cloned apps will not receive automatic updates so you can keep and run a stable version alongside the original app.
Note: It might be illegal to use this app and you might get your accounts banned permanently for using it. You get warned!