Hi, I'm trying to understand the WebTop architecture. How does it interact with android OS, or does it interact with hardware directly like a real linux OS? Attached is an android architecture diagram. Is there something like this for WebTop?
There are several WebTop hacks. At least one of them was described as "running Linux, on top of Linux, on top of Android, a.k.a Linux". Which hack is the one runs closest to hardware, thus has the best performance? Dual core cpu is good, but it's still a ARM. I'd really want to avoid running things in virtual machines in this kind of CPU.
Thanks for any clarifications.
That is something I've been wondering too! If someone could enlighten us it would be great
Sent from my MB860 using Tapatalk
qaplus said:
Hi, I'm trying to understand the WebTop architecture. How does it interact with android OS, or does it interact with hardware directly like a real linux OS? Attached is an android architecture diagram. Is there something like this for WebTop?
There are several WebTop hacks. At least one of them was described as "running Linux, on top of Linux, on top of Android, a.k.a Linux". Which hack is the one runs closest to hardware, thus has the best performance? Dual core cpu is good, but it's still a ARM. I'd really want to avoid running things in virtual machines in this kind of CPU.
Thanks for any clarifications.
Click to expand...
Click to collapse
The "WebTop" is just a standard Linux X-server, and apps run on it the same way they do on a Linux desktop. On your attached diagram, the X-Server would be at the same level as the Android RT and the Dalvik VM, as would each application running in the webtop. I think that the only webtop thing that would interace with Android would be the dock manager, which starts up the X-server, and the panel that shows the android notifications.
If you bring up lxterminal in the webtop,. sudo to root, then run 'pstree' you can see how the apps running in the webtop are running as close to the kernel as you can possibly get.
Thanks cmcnabb.
So if I run FireFox in WebTop, it's really running on the same instance of linux kernel which is running android, and display is rendered by WebTop the x server? I'm glad to know where's no additional VM involved.
FireFox does't seems to be very responsive in default WebTop. Some WebTop hacks clarim it's much faster there. Is it because the hacks have more efficient x servers?
Related
I've been working these days on virtual servers and in that state of "virtualization user" mindset an idea hit me: Could it be possible to use virtualization techniques to account for lack of proper ICS drivers in Atrix.? For example: Emulating 3.x kernel supported hardware (Nexus?) on top of a 2.6.x kernel with the released drivers?
I found this video of EmbeddedXen running on an HTC phone: http://www.youtube.com/watch?v=ErLZQE5ZI7U&feature=player_embedded but I think we wouldn't need simultaneous running of two OSs (well, on second thought, this could be a terrific WebTop).
Saludos, Marco.
Sounds like you're after a concept similar to ndiswrapper on Linux.
I think that would likely introduce more complexity and instability than it's worth.
Hm, that's an interesting idea. I've been having similar thoughts about virtualizing the virtual machine on android and being able to save ram by not replicating the virtual machine state for each app you open up. For example open g l e s 2 libraries get loaded at around 5 or 8 megabytes each for each app that uses 3d rendering on android.
Can I use android app on ubuntu Phone?
No. Ubuntu for android would run its own apps I would assume.
pureexe said:
Can I use android app on ubuntu Phone?
Click to expand...
Click to collapse
no u cant because ubuntu is without java virtual machine...
I bet the devs will have some way to hack it to be able to run android apps.
Me
jon7701 said:
I bet the devs will have some way to hack it to be able to run android apps.
Click to expand...
Click to collapse
Well I want to be the first one to do it!
---------- Post added at 06:10 PM ---------- Previous post was at 05:53 PM ----------
jon7701 said:
I bet the devs will have some way to hack it to be able to run android apps.
Click to expand...
Click to collapse
Hey U dont need to hack ubuntu Its open!! So there gonna be some way to run android apps on your phone!
Cant we load up the Android SDK and run stuff that way? I know it would be slower than molasses but its a start....
I would imagine running bluestacks on a windows virtual machine would get the job done.
Ubuntu running Windows running Android on a phone. Crazy!
Sent from my Nexus 7 using xda premium
mvgadagi said:
no u cant because ubuntu is without java virtual machine...
Click to expand...
Click to collapse
Couldn't one just install a Java Virtual Machine?
I think we should wait for sources before starting this kind of discussions.
thenewshaft said:
I would imagine running bluestacks on a windows virtual machine would get the job done.
Ubuntu running Windows running Android on a phone. Crazy!
Sent from my Nexus 7 using xda premium
Click to expand...
Click to collapse
I don't think you would be able to use a Windows because the processor would still be 16 bit
hay just wait!!!!!!!!!!!!!
u can install android apps just so easy
install wine for windows emulator
install blue stack throw wine
run android app from wine
but i i think there will be much easy way than that in the future cus the system is not out yet so i think it will easy cus ubuntu or linux in fact is open source
neonlove said:
u can install android apps just so easy
install wine for windows emulator
install blue stack throw wine
run android app from wine
but i i think there will be much easy way than that in the future cus the system is not out yet so i think it will easy cus ubuntu or linux in fact is open source
Click to expand...
Click to collapse
[sarcasm]
Yeah sure x86 apps works completely fine on a arm operating system which we don't even know if there is going to be a full ubuntu running on the background. [/sarcasm]
I think the main goal is running web apps on the OS not java or objective-c, so even if it has some sort of java support it would probably suck.
Android app on Ubuntu should be doable
Looking around it seems android apps don't actually use the android runtime. they are running on a vm called dalvik which itself is forked off of zygote. Both running on the Linux kernel. According to stackoverflow.com/questions/1297678/how-do-i-make-isolated-dalvik dalvik can be compiled separately from android. Shouldn't be too tough. Once I get full up Ubuntu running on my Next9p I'm going to attempt this. It would be nice to get a couple of android apps running on Ubuntu.
leventccc said:
[sarcasm]
Yeah sure x86 apps works completely fine on a arm operating system which we don't even know if there is going to be a full ubuntu running on the background. [/sarcasm]
Click to expand...
Click to collapse
Mark Shuttleworth said that this is the full Ubuntu OS just repolished and trimmed down for mobile.. Btw I think .deb packages will work.
darkforester67 said:
Mark Shuttleworth said that this is the full Ubuntu OS just repolished and trimmed down for mobile.. Btw I think .deb packages will work.
Click to expand...
Click to collapse
I hope deb packages will work but I don't expect too much because its still mobile and it's designed to run light and small apps. Of course compiling a kernel for my device, on my device would be very cool but probably not gonna happen
neonlove said:
u can install android apps just so easy
install wine for windows emulator
install blue stack throw wine
run android app from wine
but i i think there will be much easy way than that in the future cus the system is not out yet so i think it will easy cus ubuntu or linux in fact is open source
Click to expand...
Click to collapse
WINE is a recursive acronym which stands for WINE Is Not an Emulator. It translates Win32 API calls into Linux API calls, but it does not emulate a different processor architecture. You couldn't use it on an ARM processor to run apps compiled for X86.
Given the shared kernel and drivers and open-source nature, if Canonical releases the Galaxy Nexus images and source in a timely fashion, there will probably be enough developer interest for someone to bring Dalvik to Ubuntu mobile fairly quickly. The question is will it kill developer interest in building truly native apps for the Ubuntu mobile platform.
x86 on ARM
The question is will it kill developer interest in building truly native apps for the Ubuntu mobile platform.
Click to expand...
Click to collapse
The attractiveness of Ubuntu on these increasingly powerful "mobile" devices is the millions of applications already available in the repositories (Ubuntu's "app store"). All of which are already free downloads. Granted some of them will be more usable than others on smaller screens. But, given a 10 inch screen or bigger, almost everything should run just fine. Since Ubuntu has only one code base for all of their varying distributions, I'm looking forward to UI and efficiency improvements across the entire platform.
As far as x86 hardware emulation... there are a couple of projects doing some work on implementing at least a subset of the more than 700 x86 instructions as an application level translator. One Russian company (1) has a working translator, albeit a slow one. They expect to be able to release something usable in the next year or so. Also, there is a thread (2) on the winehq mailing list that discussed this very possibility last year. IDK how far it went or whether anyone associated with the wine project is actually working on this or not.
(1) computerworld.com/s/article/9232222/Russian_startup_working_on_x86_to_ARM_software_emulator
(2) winehq.org/pipermail/wine-devel/2011-April/089562.html
Qemu android is really fast with kvm on x86 in emulator. Choosing the custom screen resolution make it looks like SDL game. Can we do the same for arm to emulate android dalvik for apps? It can be just a separate package with android for ubuntu phone if seamless integration is impossible.
Of course you can run Android Apps in your Ubuntu on Android Desktop without Bluestacks or some sort of virtualisation...
Here are the facts:
http://www.youtube.com/watch?v=JISeFQ_1QzU 1:15 - Presentation by Canonical as you can see from all the Pictures with the Canonical Logo in the Image Viewer Application.
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.
I did some research and this is what I believe it would be:
apps written for UT (developed with QML)
any linux binaries, given that they are compiled for ARM and that corresponding non-kernel libraries or services that are being used are present in UT
QEMU will help out for x86 versions
android apps: can be run if someone writes an emulator for UT (probably not developed by Canonical)
otherwise there will probably be a way to easily port android apps to UT
windows software: the ARM versions (WinRT) should be able to be run with the ARM version of Wine
for x86 versions QEMU can emulate the x86 environment for the x86 version of Wine to run the software
windows phone: not sure
OSX: through a virtual machine running OSX on top of QEMU
iOS: seems unlikely at the moment
Theoretically UT will be able to run A LOT of software... however, for the non-android and non-UT software it will depend on QEMU, Wine and the hardware of the phone. I'm confident about the hardware part (phones are getting more powerful by the day) and therefore believe that we'll be getting a powerful desktop with a vast selection of software to run when having connected the UT phone to a dock with screen and input devices.
The question for what apps UT can run seem to pop up quite a lot so making this a sticky thread might be a good idea...
I'm not 100% sure about the statements I made above so please do give feedback and suggestions for additional info.
Win8 apps? What?
Fatal1ty_18_RUS said:
Win8 apps? What?
Click to expand...
Click to collapse
Well, I guess maybe it should read this:
win8 software compiled for ARM (which should be WinRT software...?) can be emulated with Wine
I'm not too sure about win8 phone apps... suggestions?
It's entirely possible to run x86 windows applications on ARM, see this thread
http://forum.xda-developers.com/showthread.php?t=1258506
And the official site
http://wiki.winehq.org/ARM
Note that WINE Is Not an Emulator. It just provides an environment that allows windows applications to run on Linux and X.
To get x86 applications to work on ARM you need an emulator, which what qemu is. And the above links are about using Wine and qemu together.
BukaKing said:
It's entirely possible to run x86 windows applications on ARM, see this thread
http://forum.xda-developers.com/showthread.php?t=1258506
And the official site
http://wiki.winehq.org/ARM
Note that WINE Is Not an Emulator. It just provides an environment that allows windows applications to run on Linux and X.
To get x86 applications to work on ARM you need an emulator, which what qemu is. And the above links are about using Wine and qemu together.
Click to expand...
Click to collapse
You're absolutely right... Wine isn't an emulator technically speaking. As I got to know it's also in the name! (WINE stands for: Wine Is Not an Emulator)
Haven't heard about qemu... good to know!
Thanks for the info, I'll update that!
Why develop "bluestacks" for cyanogenmod modification stripped from dalvikVM? Couldn't one just reimplement it in some way?
I uninstalled Ubuntu Touch from my N7 because there were no apps
You don't want to use Wine and all that stuff on a mobile environment, not even if it's docked.. It's not that easy as installing Wine for ARM, or supposedly on an Intel atom powered phone. You want applications that are breed for Ubuntu and Ubuntu only, honestly, you guys ran Windows apps on Wine before and you know it's a real pain (and this is on desktop, imagine on a smartphone)..
Don't get me wrong, it's totally possible but by the time you get all this working and configured you're better off learning QML and making the program from scratch.
Hi all
Does anyone know if I can run kde-based software on the developer alpha of Ubuntu for tablets yet please? Not expecting reliability, just want to do some child user testing of the edubuntu suite on tablets.
Thanks
Chris
Currently you can't and probably neither in the near futur 'cause you need an X Server for that.
And there is no X server on ubuntu touch.
Huge thanks, that is really useful
Hempe said:
Currently you can't and probably neither in the near futur 'cause you need an X Server for that.
And there is no X server on ubuntu touch.
Click to expand...
Click to collapse
After some research on your reply I've a couple questions. Does it mean the Unity interface doesn't need X-server? Or are they just using a temporary workaround until X-server is implemented?
And does this apply to both Ubuntu for Android, and Ubuntu for tablets?
Huge thanks
Having done some further research I've made my decision - thanks hugely for providing the missing link in my knowledge. What follows is my best interpretation of the rumours.
Currently in place of X-server is SurfaceFlinger, ("because X-server uses 30 yr old code" - Canonical). Canonical publicly dabbled with using Wayland until mid-Feb, then decided to create their own revamped display server from scratch, called Mir, which they seem to have been working on since mid last year, and are trying to get GPU vendors to support, written to run across all devices and to meet the needs of the Unity interface, and written in Qt/QML which is what they want native apps written in.
Bottom line for me, is that the technology is still right up there in the clouds and nowhere near decided enough to base my business strategy on. Also, Ubuntu for tablets seems a pretty thin version of Ubuntu anyway, so Edubuntu was never an option and I'm unlikely to be able to leverage much from Ubuntu's Open Source libraries anyway.
Like others, (see the comment on jonobacon.org below), I find it frustrating that the wealth of code written for Ubuntu is no longer usable, but I reckon this is probably necessary to squeeze the most out of every single CPU cycle and milliamp. Ubuntu for tablet is dead in the water if it kills the battery and performs worse than the established competitors.
Therefore all indications are I need to write for Android, keeping my options as open as possible to migrate. So it is now Titanium/UnityIDE versus HTML5, particularly assessing relative performance.
http://www.omgubuntu.co.uk/2013/03/canonical-announce-custom-display-server-mir-not-wayland-not-x
http://www.jonobacon.org/2013/02/21/five-ubuntu-touch-facts/ -- not the article but the comment starting "In that case, wouldn't it be better to port existing apps instead of...."
http://www.omgubuntu.co.uk/2013/02/canonical-working-on-new-display-server
http://www.phoronix.com/scan.php?page=news_item&px=MTMwOTM
Just to clarify.
1. There are plans to make a X-Mir compatibility layer that will allow you to run programs that require an X-Server to work with mir.
2. Not all is lost at the moment it just looks that way.
Only Graphical Userinterfaces are affected. Your commandline tools and libraries don't need to be changed.
3. If you are looking for platform to write apps for, well there is worke being done to let you run your QML apps (intended for ubuntu touch) on android.
So if you choose to make QML apps they can be or will be able to run on linux, mac, windows and android
Wow, huge thanks, I missed that.
Does this mean EVERYTHING Ubuntu without a GUI will work? I want to run a NodeJS server. How likely is it that it will work perfectly now? How likely is it that it will work perfectly in the (nominally October 2013) release? (Sorry, just give me a keyword and I'll go off and do my research.)
Is Canonical planning to get X-Mir into the next ~Oct release?
My other query was whether QML on Android would perform as well. For others interested, it looks like it works directly with the Android SurfaceFlinger, bypassing the Dalvik VM, so performance should compare with native Java code.
Huge thanks once again
Chris
Sources:
http://www.youtube.com/watch?v=TEkubKZaUt8
http://victorpalau.net/2013/01/25/ubuntu-qml-todo-android-vs-ubuntu/