Hi Developers
I thought I would share an idea I had with the developers on this forum in regards to the issue with the x10 camera not functioning on 2.2 or 2.3 roms. I am an experienced developer, but honestly am not very familiar with the android platform to be able to attempt this idea. Don't shoot me down, this is just an idea but it may be worth investigating.
I understand that there are issues in porting items such as the camera over from a 2.1 rom over to 2.2 or 2.3 due to the change in the android camera api. Instead of rewriting drivers, etc, it may worth investigating or attempting the method I am about to mention.
I have noticed that there have been alot of emulators written to play games on the android, which emulate neogeo, psx, etc. Why dont we emulate aspects of the 2.1 run which can be run in 2.2 or 2.3?
For example, create an app which will emulate the camera from 2.1 rom by emulating the camera api's from 2.1. When you load up your phone and run the 'camera' app, it would actually emulate the camera app from 2.1 within the 2.2/2.3 rom by using the required 2.1 camera api's? I believe this would be the best way of resolving the issue. Plus, this app which emulates the camera from 2.1 would actually just be an app which can be easily installed to work on 2.2, 2.3, or any other future rom releases....
Developers, let me know what your thoughts are on this. If this works, we may be able to always use native features from the x10 already written and developed for the 2.1 rom.
neomira
Thats a very good idea mate,make an 2.1 emulator for 2.3 and up. But mate thats not the problem,its not the camera app itself thats not working,its the inside libs(drivers so to say) that were written in 2.1 (Lets say Windows 98) language and now to switch them to 2.2/2.3 (Windows 7 so to say) is a problem cause those libs(drivers) arent compatible in the operating system,as Android changed ALOT from 2.1 to 2.2 and specially 2.3. You see,Z got the camera ongoing but with software decoding not hardware decoding,thats why you can make a photo but not a video,making a video is too much job for Software emulation (Try it with illusion pro,you'll result in a laggy 15fps 640x480 vid). What they are trying atm is to rewrite the camera driver in a way that it could cope with the hardware decoder . Cause the election is eigher camcorder or video-watching,and 90% want Video decoding rather than the Camcorder.
The camera itself is recognized and stuff but because the camera driver is very old already,it wont work on the new OS's.
Emulation is a good idea but still wont work alright afaik,its like trying to emulate a old windows 95 printer to your windows 7,yes you can emulate windows 95 but you wont be able to use the printer cause windows 7 doesnt know what it is or what to do with it,because the OS that handles the Hardware is the base one,not the emulated one.PSX and so on emulates the remote control cause Android base system knows the hardware that the software translates and makes you be able to use it and can interact with it (touch screen),but that happens because the base OS has and recognizes it,imagine if the base OS wouldn't know the touch screen.Having the buttons displayed on your display would be pointless cause you cant use them as they dont even exist for the base OS which is the important one.
EDIT : Thats why its called Emulation,cause it just Emulates the hardware,doesnt actually use it,has it or recognizes it ,its all software that translates from a unknown hardware to known software for the Base OS,but in our case if the base OS doesnt know the camera,its pointless that the Emulated OS does cause an emulation first needs an input to work,if that input isnt there it just wont work.
EDIT 2 : So its not the camera app,its the camera driver(libs),and there is no way you can use windows 95 drivers on windows 7 unless you rewrite them. (Heck,i remember i couldnt even use W95 drivers on WMillenium,and they had the same base kernel 9x so imagine).
But thats my thought,maybe there is something else i dont know and it could work.
Respect
xtrmshadow said:
Thats a very good idea mate,make an 2.1 emulator for 2.3 and up. But mate thats not the problem,its not the camera app itself thats not working,its the inside libs(drivers so to say) that were written in 2.1 (Lets say Windows 98) language and now to switch them to 2.2/2.3 (Windows 7 so to say) is a problem cause those libs(drivers) arent compatible in the operating system,as Android changed ALOT from 2.1 to 2.2 and specially 2.3. You see,Z got the camera ongoing but with software decoding not hardware decoding,thats why you can make a photo but not a video,making a video is too much job for Software emulation (Try it with illusion pro,you'll result in a laggy 15fps 640x480 vid). What they are trying atm is to rewrite the camera driver in a way that it could cope with the hardware decoder . Cause the election is eigher camcorder or video-watching,and 90% want Video decoding rather than the Camcorder.
The camera itself is recognized and stuff but because the camera driver is very old already,it wont work on the new OS's.
Emulation is a good idea but still wont work alright afaik,its like trying to emulate a old windows 95 printer to your windows 7,yes you can emulate windows 95 but you wont be able to use the printer cause windows 7 doesnt know what it is or what to do with it,because the OS that handles the Hardware is the base one,not the emulated one.PSX and so on emulates the remote control cause Android base system knows the hardware and can interact with it (touch screen).
But thats my thought,maybe there is something else i dont know and it could work.
Respect
Click to expand...
Click to collapse
Thanx for your feedback. I think you may have misunderstood me though. I understand that the drivers, classes, etc have changed since 2.1. My idea is to emulate the old kernel , api's and camera app from 2.1 onto 2.2 or 2.3. Basically writing an x10 2.1 rom emulator, which will only emulate 2.1 camera. It wouldnt emulate the entire 2.1 system.
Think of a neogeo emulator...you load in the neogeo bios and you load in the game rom. Hey presto, u have a neogeo on your mobile...well not really...just emulated..
In the idea i have of emulating the camera from 2.1:
Your bios rom = 2.1 kernel, camera api and x10 camera driver..
Your game rom = camera app from 2.1.....
However, when u would run the app everything would be built into it and u wouldnt have to specify anything. It would load up looking just like the camera app....
Kinda like Wine on linux but only intended for the camera....to save on resources.
Just an idea....
I dont know what would be easier or quicker - to emulate the camera from 2.1 or to rewrite the drive on 2.2/2.3....however, you may need to rewrite it 2.4, 2.5, etc....as api's are always changing. An emulated camera wouldnt need to be rewritten with each new android release. We will always have to wait for someone to rewrite drivers if not emulated.
What do you think? Just an idea....
Sent from my X10i using XDA App
I Understand your idea mate,and im not saying its impossible, it might aswell be very possible and really apreciate your intention ,who knows ^^
But it doesnt sound like it would work for me,cause if its a hardware the base OS doesnt recognize,i doubt the emulated camera would work,cause when the emulation requests to contact the hardware to the base OS,it would just recieve a "unknown/incorrect request".Cause remember,emulations cannot direct-access the hardware,it first has to pass through the base OS.And thats why to emulate a machine as simple as the 33MHz PS1/PSX , you need at least 500MHz CPU to even try to run it,cause it cannot go to the CPU and simply do the chores.
Thats my point of view tho.
Respect
Ah now that you mentioned Wine on Linux.
What happens when you try to play a 3D accelerated game on Wine that tries to access the Graphics Card and you havent installed the graphics card drivers on Linux?It would just fail cause the base OS , Linux doesnt understand what the Emulator is telling it.
EDIT: Also dont know if you know Compiz-fusion for linux (or Beryl),its a Window Manager that gives you alot of effects and stuff on windows and many things(search beryl on youtube) but if you dont have a graphics driver installed ,it would just say "Hardware Graphics Card not detected,it cannot continue" so obviously you cant use VMWare to create a virtual machine and emulate the drivers on that VM cause for it,it wouldnt even exist as "Unknown" ,it wouldnt even exist at all.
Hope that helps you understand it more.
Respect
xtrmshadow said:
Ah now that you mentioned Wine on Linux.
What happens when you try to play a 3D accelerated game on Wine that tries to access the Graphics Card and you havent installed the graphics card drivers on Linux?It would just fail cause the base OS , Linux doesnt understand what the Emulator is telling it.
Hope that helps you understand it more.
Respect
Click to expand...
Click to collapse
hmmm you may be right. what about virtual pc though? that is probably a better example. you can actually use hardware....for example, i could get a soundcard working properly on windows xp so i installed windows 98 via virtual pc....bingo, it worked....i could keep making music without buying another $1800 soundcard for ages.
therefore, have an app called "x10cam" which is emulates the 2.1 rom just like virtual pc....when you click on it, it would load emulate 2.1, but a completely cut down version with no apps, just the camera app and maybe even go straight into the camera app. on exit of the camera app, it quits the emulation and goes back to your 2.2/2.3 rom or home screen.
i dont know....sounds like it may work but might take some time...however, it may benefit in the long run though as the cam driver wont have to be rewritten each time of a new android release.
thanks for your replies too. i do appreciate it. someone may read this posts and come up with an alternate idea which would work
xtrmshadow said:
EDIT: Also dont know if you know Compiz-fusion for linux (or Beryl),its a Window Manager that gives you alot of effects and stuff on windows and many things(search beryl on youtube) but if you dont have a graphics driver installed ,it would just say "Hardware Graphics Card not detected,it cannot continue" so obviously you cant use VMWare to create a virtual machine and emulate the drivers on that VM cause for it,it wouldnt even exist as "Unknown" ,it wouldnt even exist at all.
Hope that helps you understand it more.
Respect
Click to expand...
Click to collapse
Thanks for mentioning Beryl, i actually wasnt aware of Beryl until you mentioned it. Much appreciated.
neomira said:
hmmm you may be right. what about virtual pc though? that is probably a better example. you can actually use hardware....for example, i could get a soundcard working properly on windows xp so i installed windows 98 via virtual pc....bingo, it worked....i could keep making music without buying another $1800 soundcard for ages.
therefore, have an app called "x10cam" which is emulates the 2.1 rom just like virtual pc....when you click on it, it would load emulate 2.1, but a completely cut down version with no apps, just the camera app and maybe even go straight into the camera app. on exit of the camera app, it quits the emulation and goes back to your 2.2/2.3 rom or home screen.
i dont know....sounds like it may work but might take some time...however, it may benefit in the long run though as the cam driver wont have to be rewritten each time of a new android release.
thanks for your replies too. i do appreciate it. someone may read this posts and come up with an alternate idea which would work
Click to expand...
Click to collapse
Well,creating a VM (Virtual Machine = Virtual PC) might be able to make it work if the developer of the base ROM can at least make the OS Recognize the camera and access it (eventhought no image cause of the 2.1+ incompability),yes that might be possible . But still gotta write at least some basic drivers for the Cam.Lets say for exemple Z's 2.2 might perfectly be able to do what you've said cause the OS has 100% access to the camera,but cannot camcord cause of the base OS but the emulated one might aswell.
Yes that is a good idea as long as at least basic drivers are written.
And about you beeing able to Virtual PC that sound card,means that the base OS could already access it but it just didnt know how (Its like when you go on "Device Manager" and you see your device in "other" and it says the name it just cannot correctly interact with it cause of limitations)
Eventhought a Virtual Machine on our 280Mb of RAM wouldnt go too smooth but yes its a very good possibility.
Respect mate
sounds like a good idea and it will work in HD with the nice SE user interface .... it may take a long time to boot into camera app.... but still better than switching between roms for camera....
xtrmshadow said:
Well,creating a VM (Virtual Machine = Virtual PC) might be able to make it work if the developer of the base ROM can at least make the OS Recognize the camera and access it (eventhought no image cause of the 2.1+ incompability),yes that might be possible . But still gotta write at least some basic drivers for the Cam.Lets say for exemple Z's 2.2 might perfectly be able to do what you've said cause the OS has 100% access to the camera,but cannot camcord cause of the base OS but the emulated one might aswell.
Yes that is a good idea as long as at least basic drivers are written.
And about you beeing able to Virtual PC that sound card,means that the base OS could already access it but it just didnt know how (Its like when you go on "Device Manager" and you see your device in "other" and it says the name it just cannot correctly interact with it cause of limitations)
Eventhought a Virtual Machine on our 280Mb of RAM wouldnt go too smooth but yes its a very good possibility.
Respect mate
Click to expand...
Click to collapse
Yes, you are right. The only issue I can see is that a VM for just the camera functions would have to be a VERY VERY cut down version of 2.1 due to the 280mb of RAM. Otherwise it would be so slow.
Thanks xtrmshadow for the positive feedback. Maybe somebody might use this thread as an idea for something.
hemo1001 said:
sounds like a good idea and it will work in HD with the nice SE user interface .... it may take a long time to boot into camera app.... but still better than switching between roms for camera....
Click to expand...
Click to collapse
thanks hemo1001. much appreciated feedback.
that is my thought exactly, to prevent having to switch roms entirely just for the cam. also, if you think about a completely cutdown VM of 2.1 to access the cam, i dont think it would be cut down to only run what is necessary for the camera to function. I think it would be a better alternative than switching roms.
neomira said:
Yes, you are right. The only issue I can see is that a VM for just the camera functions would have to be a VERY VERY cut down version of 2.1 due to the 280mb of RAM. Otherwise it would be so slow.
Thanks xtrmshadow for the positive feedback. Maybe somebody might use this thread as an idea for something.
Click to expand...
Click to collapse
Agreed ^^ , Making a VM program for Android would be fairly easy as there are loads for Linux (VMWare,VirtualBox + more) and a very core version of 2.1 with only the necesary things for the task(No launcher,drivers for anything but camera,no apps etc).
Also i agree hemo1001 ,well said mate haha.
Hopefully someone that is very experienced with Android (Im only experienced on C++ and Hardware ><) takes a look into this and thinks about it ^^
Respect.
xtrmshadow said:
Agreed ^^ , Making a VM program for Android would be fairly easy as there are loads for Linux (VMWare,VirtualBox + more) and a very core version of 2.1 with only the necesary things for the task(No launcher,drivers for anything but camera,no apps etc).
Also i agree hemo1001 ,well said mate haha.
Hopefully someone that is very experienced with Android (Im only experienced on C++ and Hardware ><) takes a look into this and thinks about it ^^
Respect.
Click to expand...
Click to collapse
I hope so too mate. It would be great.
Sent from my X10i using XDA App
the client on a vm depends on the hardware and drivers from the host. you can't emulate hardware on a client that doesn't work on a host.
At least we can emulate it in 2.2 freex10
Sent from my X10i using XDA App
Using New Drivers
The cameras for the new sony models are different. But maybe there is a chance that
we can modify their libraries and use them on our phones.
I am not familiar with the camera libraries so I don't know how hard it is to modify the new libs in the xperia arc to match our hardware but it should be possible right?
i have read the complete discussion..phew...amazing amazing u guyz are u ll gave me a triggering pulse which straight away took me o my Embedded System Lectures from College..!!! Jokes apart i think the logic of Emulator is a better option as of now..atleast get a working camera..lets hope..all our experts are actually working hard hope for teh break through very soon..m not good with programming and stuff..so unfortunately i cannot even think but the whole logic behind Emulators was actually cleared after 2 yrs since i finished my Engineering in IT..lol..great stuff guyz..Proud to be on XDA since 5 yrs now sorry for going off topic..
camera - email.apk
hello,
i think since two month ago, if i write this or not ...
now, it's looking good for this information, but i dont know,
if this could help the camera-problem.
i'm working as an admin in a firma with some developers.
during android V1.6 - V2.1 we could sync exchange-server with no "device-limitation" by given all 5 minutes a device-code in.
since android V2.2 the email.apk changed very hard ... now we have to give all 5 minutes a device-code in. but the devices are not devices from the firma, so we dont sync anymore. but the info-lost is sometimes very critical.
one of our developers making an email.apk or find an email.apk with no exchange-securitas. the result was that barcodescanner and all other aps with camera inside dosnt work. although the camera.apk
now there is an email.apk outside with NO-EXCHANGE-Securitas and NO-Camera-PROBLEM.
i am glad to use the email.apk since 2 ore 3 weeks without any problems and securitas.
i dont belive that is only a driver/lib-problem because i used a htc leo and have the probs (and solution) that i above describes.
what i mean is, that could not only a driver-problem ... that could be a securitas-problem like ... "if you manipulate email than your cam doesnt work!"
i hope this is not for 1000% to trash and my bad english will automaticly changed to good-english by a developer with bad-english too (bad + bad = good
okokur
okokur, i didn't understand a thing you wrote but it was a very interesting read! i hope someone woth more knowledge picks it up.
this is a great thread guys, love your outside of the box thinking, brilliant!
sorry for going OT, best of luck, peace
Cool! The app works on Froyo & Gingerbread.. problem is in the drivers for the camera and kernel, which are being prioritized in jerpelea's gb build..
Imagine if something similar to virtualization took place at boot time?
Hello XDA Developers!
tl;dr I need either a solid, light OS replacement for Android 2.3 on my Atrix, or I need a video streaming and virtualization app with no lag that works between android devices and either windows or linux desktop.
First I'd like to say how impressed I am with you folks. Massive amounts of work most be done on a regular basis, and so I tip my hat to you in thanks for looking at my potential problem/question.
I've got two devices that I'd like to make some serious software changes to, one of them my Atrix (the other is a Flytouch Tablet ARM11 with Android 2.3, but that's for a different forum). Let me start by saying that I like to think of myself as very technically literate, but when it comes to linux I just don't have nearly as much experience as I do with windows/mac, and it is about to really show.
What I want to do is load a light Linux OS on these devices. Normally, if I was going to install a new windows kernel on a machine I would copy an ISO to a USB thumb drive and make the drive bootable (using the MS program Windows 7 USB/DVD maker), then startup the PC and either through the BIOS or by hitting the proper button during the startup sequence I would ask the PC to boot into the drive and begin the installation.
Questions:
What is the image file type for mobile OS's?
How would one choose the right type of linux OS for an Atrix?
What is the difference between flashing a ROM and installing and OS?
Why is it when I updated my phone recently that it became unrooted?
(and) Is there any way to revert this process to make rooting easier?
Is there any way to capture a video output (like a stream) and broadcast it to these mobile devices so I can avoid changing their software alltogether?
(and) Could I just remotely control another PC from the mobile device, letting it do all the actual computing?
Can I use the Webtop Dock as a monitor for my desktop if I can find the proper HDMI cable to connect it to the HDMI output on my desktop video card?
(and) Can I also connect the Micro USB and use the keyboard/mouse (hooked into my desktop motherboard) on it as well?
(and finally) Can I use my Atrix as a prototype omni-tool by docking it in a docking station, attaching various tools that work with a linux operating system (wide-spectrum ultrasound imaging, temperature monitors, vital monitors, electronic laser saw (USB) (with separate power attachment of course) and extendable, movable USB cameras?) and then strapping it onto my wrist with a cool leather bracer design?
My end-goal is to have all three of these devices on the same network, with the ability to seamlessly access my data between them. For example, if I'm working on a document, I'd like to be able to access the document in a document editing program across all the platforms (imagine google docs with multiple users) however with one MAJOR stipulation: I'll be on a local network with NO INTERNET ACCESS!
Briefly (to better help you understand just what I'm trying to do) I am a freelance archaeologist/deep sea explorer/ROV tinkerer about to do a series of surveys mostly by myself in some VERY remote locations. I'll have a Wi-Fi network to link all of my devices together running out of my boat, but it's only for data sharing between each other, and since Satellite Internet is a joke, I can't think of any way to get data out there, and I've decided to live without it while I'm away.
I have a webtop dock for my Atrix, and the environment developed by Motorola is far too restrictive. I've tried countless fixes to try and get the webtop2SD to work, but I must be doing something wrong (Maybe the latest update screwed it?). I think since I'd like to use some linux applications while on the mobile devices, I would rather install a custom OS for both.
OR (preffered)
Even more simply, I'd like to stream the video feed and remotely control my desktop PC (located on the boat) on the mobile devices, but with yet another stipulation: I can't have FPS lag (I usually get 1-2 FPS with all the virtualization and remote control apps I've tried). This would in some senses be the preferred option, since I really don't want to spend oodles of hours trying to get some program to work in a difficult, restricted environment like these mobile device's current OS's. Is there a good, non-lagging version of desktop virtualization for Android OS?
About that webdock: I can't seem to find a female-to-female micro HDMI cable anywhere on the internet, thought I did find one Micro HDMI extension cable, and bought it promptly. I could buy another, but cut the male ends off and splice the female parts together (**** just got kinky). But if I could, would this work?
Phew that was a lot! Again thanks so much for thinking for me!
I've personally never found any kind of remote desktop software that works without lag, but it might be possible to find some. Someone else might know what to tell you there.
After doing some basic searching, the only collaborative document solution that I've found has been Etherpad Lite. You could set up a desktop or laptop running linux as the server, and all the other devices on your small network could (theoretically) run a browser based client similar (but far less advanced) than Google Docs. This way, everything on your LAN/WLAN could access the application, if it's stout enough to support your needs.
https://github.com/Pita/etherpad-lite
http://en.wikipedia.org/wiki/Collab...Real-time_collaborative_text_editing_software
Everything you're looking for just seems to be limited for Android, I wish you the best of luck.
I have always found Teamviewer great for remote PC control from my Atrix. They have a nice app and free license for home/personal use. I get minimal lag controlling my PC at home when at work, but that's over WiFi. Not very fast and pretty laggy if I am on data with my Atrix.
BTW............I can work on documents, transfer files to and from PC's and laptops, print documents on my wireless printer, etc. across my home network from my Atrix, all routed through a Netgear WNR3500L running stock firmware (dd-wrt actually slowed my network down and reduced WiFi range considerably, so I reverted to stock).
First, there is no "magic" within the lapdock device. It is a nice HDMI screen, a couple crappy input devices on the USB side, and a battery. The standard Moto software does recognise the usb device and do some software magic, but certainly you could use the dock on it's own w/o the phone.
As to completely replacing the /osh webtop OS that Motorola provides, that is challanging.
There are 2 basic ways to open it up though. Go to the developers subforum and look for webtop2sd and "full Debian".
Somebody did post recently with an attempt to fully replace the webtop OS. he was using gentoo, so look for that and you should find it. But I suspect it is early, and likely to be a significant WP.
As to learning all this ****. If you do some Linux developement or heavy hacking (which it kind of sounds like) you should set up a full full blown 'droid dev platform and start playing. It is big and bulky, but you will learn faster that way than just searbhing around.
EDIT: just reread your post that you are light on Linux. if you want to do anything more than just follow along, it might be a good idea to setup something like an Ubuntu and get familiar there. 'Droid is way different looking (it really basterdises things around) but yoiu need to know both if you want to play with webtop hacks.
Thanks all. I'll look around again to see if I can find the threads you mentioned. I've tried Webtop2SD but to no success so far.
Thanks again.
I'm hoping someone could shed some light on this topic as it truly is a deal breaker for me.
Both Linux and Mac OSx operating systems can run applications in a remote x11 display server, and I am sure it could be achieved on Windows OS as well through virtualisation.
The problem is, none of the XSDL (X11 Server) applications work in Remix OS and don't function properly with input methods either. For me, it just flickers on and off without any input or sound.
Is there any way to actually get X11 working within Remix OS? and I hope someone at Jide sees this and makes it a feature (integrated with their window support) because it would function/look just like the applications are running within the OS natively. (My boxes are connected directly by ethernet to a port switch, I would rather not keep switching my kb/m and monitor inputs all the time.)
Losing my sanity, needs fixing! Cash Reward!
Please somebody reply quickly, I need the ball rolling asap and a solution by tonight. The thing nearly works, if it didn't flicker every other frame and accepted input. Don't mind the window not moving for now, just need to be able to get on with my job. Cash Reward of upto £25.00 for working answer!
It just isn't going to happen is it? Most people who uses Remix OS likely doesn't have the capacity to use real linux, and therefore doesn't care about X Windows. Will just have to remove it and use linux with a horrible UI to get the job done. Android x86 has been always broken, always will be; nothing has really improved in years since it started. It runs as bad as day one. Apart from now its full of branded bloatware.
Mods feel free to close this thread, I am out.