Android x86 FAKE GPU - General Questions and Answers

Hello everybody!
As you know, android x86 builds use some translation instruments like libhudini to execute native ARM code.
But in many applications that use 3D graphic there is a various problems and they simply crash with errors like "Exeption : null reference to object ..."
I tested various hardware and various x86 builds - same result and errors, even if all configured properly and GPU drivers work correctly (Nvidia noveau)
BUT emulators like bluestacks or LDplayer easyly manage to run this applications. Thay use FAKE GPU adreno 5xx and 6xx series and proper LibGL with them and it works fine.
So the question is - how to create such GPU wrapper or fake GPU or some sort of conveer to make 3D apps work like they work in emulators?
Should i rebuild kernel with some modification? Or there is some kind of hack with modules?
BTW lspci and lsmod do not show andy fake devices or strange modules inside emulators.

Unfortunately i can't help you but can only ask if you found any solution for this problem.
Please share the solution if you found one.

Related

Why so few Android apps compiled for MIPS?

This is something that is driving me crazy, shouldt be MIPS Android SDK and NDK be compatible with any source maded for the ARM version?
First thing i noticed with this Ainol Novo 7 Basic was that, the small amount of compatible apps, none of the better apps are compatible.
No: Netflix, Skype, Android Terminal Emulator, MX video Player, Chainfire3D, any mame32/nes emu, a working barcode reader, connectbot, adosbox/qemu, opera or any other browser. and the list goes on.
I wonder why, i trought devs will want the larger amount of users as posible.
For the record, i just got Android Terminal Emulator working in my Novo 7 Basic, i had to:
1) Download Term source code
2) Download MIPS Android SDK, NDK, Apache ANT, Eclipse with ADL, cgywin (to compile NDK libs)
3) Import Term project to eclipse
4) change the target build to android-12
5) change Aplication.mk to "APP_ABI := mips mips-r2"
6) build ndk-libs for the app
7) build the project with eclipse
And i know nothing about programing for android, just c/c++
Best guess that anyone will probably give you is that the majority of devices out there running Android are ARM based, but as that changes, the number and quality of available apps should improve.
There is a HUGE obstacle to overcome however. Not many people are going to buy a device today based on what might run on it months from now, especially when there are devices out there that will run it now, and many of those that do purchase a MIPS based device consider it a mistake and end up returning it.
It is not possible to offer two different version on the market and i don't think it is possible to restrict the apps to a specific architecture.
Are the number of MIPS devices really rising? The android market doesn't really seem to be ready for that. It would mean even more app versions devs would have to consider.
Which apps work and which don't?
Maybe those using native code, compiled with NDK don't work, as those routines are compiled specificly for ARM.
Don't take my word for it though, just some thoughts.
its not possible to get 2 different versions on the market.
Rumor has it that the problem is frequently a development oversight and that it's related to omitting some important MIPS related files from the package build.
I imagine that it can also be related to poor programming practices and also programming for optimized code.
~~ Sent from my Velocity Micro Cruz PT701/T105 via Tapatalk ~~
As far as I know, Market supports device specific apk's nowadays, which would make it possible to have an mips apk...
http://developer.android.com/guide/market/publishing/multiple-apks.html
Altough the proccess is not trivial, it is not that difficult either, just minor changes to the manifest and filter the apk for Native Platform...
Also, it would be possible to compile it for all devices that the current NDK supports, by using the latest revision of NDK (as of November 2011):
http://developer.android.com/sdk/ndk/index.html#overview
You just need to add:
APP_ABI := all
Click to expand...
Click to collapse
to the makefile and it should now be compatible with all processor architectures that NDK supports....
So, now there are means to easily support different processor architectures, but, don't expect quick adoption of it, as, unfortunately, this depends entirely upon developer will to change some of its project settings and/or publishing way (it is entirely possible, now, to have a single apk for all platforms)...
Unfortunately, right now, and I would dare to say, in the next 6 - 8 Months, I would not expect this to change much... Altough the official NDK has support for multiple devices, it still doesn't incorporate the MIPS abi, which is not official, and thus, it is not possible to declare that an APK for a native MIPS device as well...
Hopefully MIPS devices will grab a nice piece of the Android devices and then "force" Google to officially support those devices. I believe that it is possible to grab the latest unoficial NDK and use it with APP_ABI all and publish it to the Market, but, as of today, is mostly something recent and that few (if any) developers support (remember, this possibility came with November's NDK, I'm not even sure if MIPs NDK is already up to date with Google's November NDK), so, I would dare to say, MIPS devices are not in a good position right now (even x86 devices, which have official support, are not...).
I have a MIPS based tablet named "MIDI Japan MD-785IP" that is quite nice but is making me sad with the lack of some softwares and in special, lack of ROMs to it. Apparently I am the only person in the internet that have one
shivansps said:
This is something that is driving me crazy, shouldt be MIPS Android SDK and NDK be compatible with any source maded for the ARM version?
...
For the record, i just got Android Terminal Emulator working in my Novo 7 Basic, i had to:
...
Click to expand...
Click to collapse
Hello,
Have you shared that MIPS compatible Android Terminal Emulator?
Thank you
Sure... and here is connectbot too.
Ive attemped to recompile adosbox too but the source code and makefiles are just a big mess and no documentation provided.
And that is another problem, poor documentation in open source projects.
BTW, Market has to have some way to know if a app is for arm or mips, since market on basic only shows up compatible apps.
Also, its no enoght to just incluide the "mips" folder along with "armabi" with all mips compiled .so files inside the libs folder? because is that all what it takes, unless the app is using binaries.
And im agree that google has most of the fault for not incluiding mips supprt in his NDK, the mips one can compile for both.
I wonder what will happen when intel medfield will came out...
I am in an even worse position - I bought 2 NOVO7Paladins - one for the g/f. I had to get one for myself, because I know I will be 1st line support
So, I have a MIPS cpu (with reduced software availability) and also ICS which further reduces app compatibility.
Apps which I consider essential (Samba server, VNC Server, Angry Birds Seasons....) are not available, so l'm currently installing eclipse, JDK, SDK, NDK on a linux box to try to rebuild stuff - it has been many years since I last had to get my hands dirty with code.
I know I have a steep learning curve ahead, but I'm sure it will be many months before there is a significant increase in app availability. I understand though, that if developers have written native code for ARM, they won't be in a hurry to port that to a minority cpu. It is way easier for new apps to be built with different architectures in mind.
Thanks Shivansps, I had been looking for a terminal - I had given up and was trying to get telnet working - a last restort. It was either that or carry a laptop around with me to use ADB
Now, all I need is to get the MIPS ABI to appear in Eclipse AVD setup... (oh, and learn how to code for android )
i dont use Eclipse or SDK myselft any longer, what i do is just recompile shared libs with mips NDK and include the new "mips" folder intro the libs folder of the original .apk file, then re-sign the apk with one click signer.
MapsWithMe for MIPS and x86
maersi said:
I am in an even worse position - I bought 2 NOVO7Paladins - one for the g/f. I had to get one for myself, because I know I will be 1st line support
Click to expand...
Click to collapse
Hi! Do you still have MIPS android device?
Would you please test MapsWithMe on it? It's offline world maps based on OpenStreetMap.
We've built apk for mips and x86 architectures but doesn't have any devices to check if it works.
Apk is available here: dl.dropbox.com/u/24013616/MapsWithMe-203-mips-x86-120502.apk
Cheers,
Alex Zolotarev
MapsWithMe Team
AlexanderZolotarev said:
Hi! Do you still have MIPS android device?
Would you please test MapsWithMe on it? It's offline world maps based on OpenStreetMap.
We've built apk for mips and x86 architectures but doesn't have any devices to check if it works.
Apk is available here: dl.dropbox.com/u/24013616/MapsWithMe-203-mips-x86-120502.apk
Cheers,
Alex Zolotarev
MapsWithMe Team
Click to expand...
Click to collapse
Yes, I still have a mips tablet, but it hasn't gps. Do you want me to check it?
Enviado desde mi ThL W8 usando Tapatalk 2

[Q] Adreno 225 drivers for linux?

I would like to make something similar to the webtop and ubuntu on android projects for the htc one x. I have not been able to find anything about userland drivers though. I found an open source freedreno project but it does not seem to be in a working state to run linux with kde4. Does anyone know of any open source driver support or if Qualcomm has any attention of making a linux driver for their Soc.
Or maybe another option could be running linux with out gpu hw acceleration. I have never run linux with out hw acceleration but id imagine this would be sluggish especially with kde. But if any one has any information about how efficiently linux can run without a gpu driver that would also be much appreciated.
Thanks.

BlueStacks App player

Hi everyone.
Could anybody compile BlueStacks App Player for Windows RT?
It would be great to use this app on our tablet with Win RT
I use on my laptop (win7) and wish o use on my Surface RT
Official site
Thanx a lot
It would be a great app to have, but seeing that it's not open-source there is about zero chance of it ever getting ported by the community.
Your best bet is to just hope that they (the actual makers of the app) decide to bring it over to RT, which is possible but unlikely.
Search next time; the devs here are up to their ears in requests for closed-source applications and are pretty fed up with it. Sorry.
They've actually already stated that it's coming...
Not explicitly. They hinted at it in a Help forum post, but never confirmed or denied it. And that was months ago.
jtg007 said:
Not explicitly. They hinted at it in a Help forum post, but never confirmed or denied it. And that was months ago.
Click to expand...
Click to collapse
Actually they had listed on their site that they were working on an ARM version.but not sure if they still are. Seems unlikely MS would allow it in the store due to direct competition with the windows store.
guitar1969 said:
Actually they had listed on their site that they were working on an ARM version.but not sure if they still are. Seems unlikely MS would allow it in the store due to direct competition with the windows store.
Click to expand...
Click to collapse
MS doesn't have a whole lot of control of things outside the Store. They could side-load an app pretty easily.
The vast majority of RT devices aren't "jailbroken" for sideloading arbitrary ARM binaries. Also, remember that RT doesn't (currently) support OpenGL, which means any Android apps/games that use advanced graphics won't work unless BlueStacks write and include an openGL-via-DirectX compatibility layer.
GoodDayToDie said:
The vast majority of RT devices aren't "jailbroken" for sideloading arbitrary ARM binaries. Also, remember that RT doesn't (currently) support OpenGL, which means any Android apps/games that use advanced graphics won't work unless BlueStacks write and include an openGL-via-DirectX compatibility layer.
Click to expand...
Click to collapse
I meant side-loading a Metro app, which can be done by just about everybody.
Cant sideload metro apps without a developers certificate
Derp. Yes, of course sideloading is the obvious way to go about it. Getting the dev license is easy, and yeah BS would have to sign their app, but that's not exactly difficult and their cert doesn't have to be signed by anybody else; it just requires that the end user install the cert before the app if it doesn't already chain to a trusted authority. The appx installer script automates all of that, though.
That said, the OpenGL issue is still there. Don't count on 3D games, at a minimum, working.
Don't forget however, that all of this is pretty much irrelevant right now. The Surface lacks the power to run Bluestacks. On my 6-core 2.3 ghz 6 gigs of ram computer with a great graphics unit, Bluestacks is still relatively slow. Just imagine it on the quad-core 1.4 with 2 gigs of ram that the Surface has. Not to mention it's on ARM, which is considerably less powerful than x86 or x64.
C-Lang said:
Don't forget however, that all of this is pretty much irrelevant right now. The Surface lacks the power to run Bluestacks. On my 6-core 2.3 ghz 6 gigs of ram computer with a great graphics unit, Bluestacks is still relatively slow. Just imagine it on the quad-core 1.4 with 2 gigs of ram that the Surface has. Not to mention it's on ARM, which is considerably less powerful than x86 or x64.
Click to expand...
Click to collapse
I dont think bluestacks is a multithreaded application in which case your 6 cores would be irrelevant and it would be purely down to your 2.3ghz clockspeed, which is not high at all. 6gb of RAM would also be irrelevant as no android app requires that much RAM so it simply wont be needed. GPU, not so sure what happens there, most of the apps I try running dont seem to enable my GPU at all so I am not sure if bluestacks is using software or hardware OpenGL, but then I havent tried any 3d games or anything. It runs ok on my 3.5ghz AMD athlon 2 but its not always as perfect as lets say a nexus 7 tablet running android natively.
I'm admittedly not 100% sure on how BlueStacks works (is it a native x86 DalvikVM, or is it emulating a full ARM system?), but it should be, at least in theory, possible to get it to run as naively as it does on Android by just porting the DalvikVM to Windows RT. That should result in speeds at least similar to a lower end Android tablet (Windows is bigger and has more cruft than the linux kernel that's running the DVM). With some sort of reverse WINE scenario it should also be possible to get a degree of binary compatibility for native libraries/addons.
SixSixSevenSeven said:
I dont think bluestacks is a multithreaded application in which case your 6 cores would be irrelevant and it would be purely down to your 2.3ghz clockspeed, which is not high at all. 6gb of RAM would also be irrelevant as no android app requires that much RAM so it simply wont be needed. GPU, not so sure what happens there, most of the apps I try running dont seem to enable my GPU at all so I am not sure if bluestacks is using software or hardware OpenGL, but then I havent tried any 3d games or anything. It runs ok on my 3.5ghz AMD athlon 2 but its not always as perfect as lets say a nexus 7 tablet running android natively.
Click to expand...
Click to collapse
Sort of, yes. But still, that means the Surface would be way less powerful. Also, my RAM is EATEN by Bluestacks because it's not apps that are the problem to run, it's Android. You're basically loading an entire virtual machine onto your RAM to run, in a program shell, then running Android apps on top of that. So the power of the device does matter... however:
netham45 said:
I'm admittedly not 100% sure on how BlueStacks works (is it a native x86 DalvikVM, or is it emulating a full ARM system?), but it should be, at least in theory, possible to get it to run as naively as it does on Android by just porting the DalvikVM to Windows RT. That should result in speeds at least similar to a lower end Android tablet (Windows is bigger and has more cruft than the linux kernel that's running the DVM). With some sort of reverse WINE scenario it should also be possible to get a degree of binary compatibility for native libraries/addons.
Click to expand...
Click to collapse
Bluestacks would have to run a full emulation of ARM in order to run all apps, right? Because when you install native x86 Android, it runs very few apps from the store, because they aren't compiled for ARM.
Netham45 could be right though that we could kind of make Android run natively, though I'm highly dubious about it happening through Bluestacks. Bluestacks most likely won't make an ARM port (especially cause I doubt Microsoft would allow it in the store) and if we did have access to source code, it's still built around running on Intel processors, and would probably have to go through all sorts of unnatural emulation... So making a totally separate Android program from scratch (which would require inordinate amounts of work) would probably be the best bet.
No. I think bluestacks is actually "just" a port of the dalvik VM to run on windows.
Android apps are not compiled for a specific CPU type. They are compiled for the dalvik virtual machine which is in a way similar to the java virtual machine, in fact a dalvik applications source code is java source code hense why many people say android apps are java, in reality the dalvik VM is very different from the java VM and the 2 are not compatible.
The vast majority of apps do actually work on x86 just fine.
The main problem is that google restricts apps based on your device and often it doesn't recognise x86 devices so doesn't show results, the default app manifest files don't actually restrict platform but many devs set them to arm for some reason. With various tools to spoof what device you appear as you can still gain access to thses other apps.
The problem apps are those that use the NDK (a small minority). NDK apps do have native code, but not just for ARM. The NDK default settings are to generate binaries for ARMv7, but it can be set to x86, ARMv6, MIPS or to compile multiple binaries for a mixture of the above (causes its own issue as it includes the binaries for all platforms in one APK which loads the relevant binary at runtime, good for compatibility as one APK covers all devices but makes the final APK massive). x86 devices of course cannot run ARM compiled apps which does include a few big name apps.
I don't know if bluestacks has left it as pure dalvik VM on x86 or if it does include an ARM emulator for the NDK but it certainly isn't just running an ARM emulator and tyen android atop of it.
I don't experience the ram eating effects you mention either.
SixSixSevenSeven said:
No. I think bluestacks is actually "just" a port of the dalvik VM to run on windows.
Click to expand...
Click to collapse
That's exactly what my understanding was as well, although what I'm about to say somewhat contradicts that.
Interestingly, http://www.bluestacks.com/technology.html says that BlueStacks is "fully configurable" and that it "supports" Windows on ARM as well as x86 Chrome, even though neither of those are actually available today. So, not sure if that page is before or ahead of its time.
"BlueStacks employs a lightweight, optimized, soft hypervisor with deep enhancements to support "embedded virtualization". End consumers can enjoy the full Android environment through BlueStacks, or just install Android app icons directly on the Windows desktop."
What the page basically says is that the core virtualization that BS uses is very easily configurable to different combinations or permutations of OSs; that the technology can just as easily run Windows on Android or Android on Chrome as it can Android on Windows, which is the only current release. It also implies that BS can do BOTH a mere dalvik vm (just install apps to the Desktop) as well as a complete system emulation (full Android experience).
There may be hope for RT yet.
As far as I remember, Bluestacks is using QEMU as there base platform. So it's probably still running ARM code in emulator.
I am looking at if we can port the Dalvik VM over to Windows RT. Anybody want to join the explorations?
So far I can see the Dalvik VM has lots of generated ARM assembly code and have huge dependencies on linux.
Porting would need quite a bit of effort.
Developers from Windroy has done it for the Windows X86 platform. If they can do it for Windows RT, it'll be much easier.

CuBox-i. The little computer that can.

Hi,
I hope that this is the right forum in xda to discuss this; but I'd like to introduce CuBox-i; a tiny 2"x2"x2" scalable mini computer that has up to quad ARM processor; quad GPU shader, up to 2GByte memory that is based on Freescale i.MX6 SoC.
The machine is powerful in it's specifications and already has a community around it that fully supports it from software point of view (kernel 3.10 LTS, also upstream work in parallel, lots of distributions etc...)
The biggest advantage of this machine vs. others is it's 64bit DDR memory interface that provides a thick pipe that the GPU, processors and video engine can utilize without hitting walls on 1080p resolutions. Within the interesting features is 1080p HDMI with CEC, power USB hosts, infra red receiver and transmitter, Gigabit Ethernet etc...
We already provided Android 4.3 images and now working on Android 4.4. Look for github rabeeh/android-imx6-kitkat (I can't send the link since this is my first post on xda).
There have been numerous Linux ports already done, including XBMC support; mainly by the community around CuBox-i -
(Again, can't send link; just google "CuBox-i wiki" or "CuBox-i forums" and you will find it).
What we are trying to achieve now is perfecting Android on CuBox-i; with that we are looking for developers that are willing to provide from their spare time to contribute to this project. We have issues already posted on the github issues tracking system.
Needless to say that we will be providing the hardware for the developers for free
Please PM me if interested.
Best Regards,
Rabeeh
Bump!!!
Did you use perhaps the cubox i pro 4?
I am really searching other guys who try to bring the android-os forward.
First I use OpenELEC/kodi - Helix, but I want more from that great hardware, so decide to install android (android-4.4.2-1.0.1b-ga-aaf118bb78-gapps.img.xz). Works good but not perfect.
-There is no IR-Sensor Support or CEC to controll the interface with e.g. Samsung-TV remote
-Another launcher (I mean the gui) should be neccesary. I like this here:
-I think this is the android rom- ->This is not for the cubox!
-Here some more Android-FW's- ->They are not for the cubox!
-I think the hardware is not 100% supported. Antuntu gives worse scores and some app crashes again and again or some video stock while playing.
-My Teufel Decoder-Station don't recognice dolby or dts.
I you have no cubox and wanna help I can only replay:
Needless to say that we will be providing the hardware for the developers for free
-Full source code support is available here-
Greetings by I_did_it_just_tmrrow
http://www.solid-run.com/community/ ENJOY i have the i4pro there is like 3 differnt versions of XBMC there
I am using the beautiful product that Rabeeh c.s. made: the cubox has a nice spot in my network. It is my NAS and my media-server among other things. And it's all based on Android (in my case 4.3). I am impressed by the things that developers can do in this Linux-environment. There seems to be a solution for every wish or problem. Thanks to you all. I am hoping you can also find a solution for the problem I posted on the cubox-community: "The one thing that is missing on my amazing cubox-i-installation is the possibilty to remotely control the android "desktop" on my cubox-i from my tablet or phone. There are several sollutions for it, but all my attempts fail on the same error: the apps all give the message that there is no internet-connection. I don't understand what is happening here. Obviously I do have an internet-connection to my cubox-i. I use it to download the apps. The only explanation I can think of, is that the android-app expects a Wifi-internetconnection and unfortunately, my cubox-i only has an ethernet-connection. Can anyone tell me what to do to let the app find my internet-connection? For example: which modifications should i make on the driver of the ethernet-adapter? The apps I tried to install, all look promising: Teamviewer, Bomgar, google remote desktop. They all will install without any problem, but they refuse the final step of getting an ID for remote access because of connection-problems."

Do you want a KVM (Kernel Virtual Machine) enabled kernel for your Android phone/tab?

Hi. Can someone that compiles kernels compile one with KVM enabled and make it available to download for various popular devices? I'd love to test this out on ARM. This would really make these machines appealing if you could spin up VMs on them especially considering how much RAM they have today. There aren't many ARM devices as powerful as the Samsung Galaxy S9 that run Linux and can be tested with KVM. You could even run a different version of Android or Linux in the VM or try BSD.
This was already done for the Intel x86 based Zenfone 2 and as a result, it can run x86 Windows 10 32/64-bit editions, Mac OS X, BSD and any Linux distro full speed in a VM. Of course this is x86 and much more refined than virtualization on ARM and you don't have quite the OS selection on ARM either.
I'd like to see how well the new ARM Windows 10 performs on these Galaxy phones. It would be a great alternative to running Windows 98 in QEMU slowly. Windows 10 ARM runs Office 2016 and Photoshop at decent speeds on some of the latest Snapdragon SoCs.
Though, from what I've read, there will be some issues running Windows initially. ARM QEMU with KVM currently doesn't support the VGA display mode that is required for Windows 10 on ARM.
I was thinking of starting a project to do this for various Android hardware besides the Zenfone 2. There are a number of x86 tablets from companies like Dell or Nextbook that would really benefit from a KVM enabled kernel but ARM phones would benefit as well.
For those that want this feature now, here is a list of current retail Android devices with KVM support and the various custom ROMs/kernels available that enable it. If you would like to see this feature enabled in your device's kernel please reply and do not hesitate to request it to your custom kernel developers.
x86-64:
Asus Zenfone 2 ZE551 and ZE550:
ycavan's custom KVM Enabled Zenfone 2 FHD(ZE551) & HD(ZE550) kernels:
https://forum.xda-developers.com/ze...fhd-kernel-ze551-kvm-bridge-compiled-t3145055
ycavan's tutorial thread: https://forum.xda-developers.com/zenfone2/general/zf2-running-windows-7-using-kvm-t3153299
TheSSJ's Custom Kernel for ZenFone 2 version 51:
https://forum.xda-developers.com/zenfone2/development/project-t-custom-kernel-zenfone-2-t3150822
Nyks45's [KERNEL]OctoDex[GCC 5.3.1][CM-13.0/AOSP6.0.X] ZE551ML/ZE550ML (formerly Veno-M):
https://forum.xda-developers.com/zenfone2/development/kernel-veno-m-ze551ml-ze550ml-t3375800
Discussion of KVM builds on the above:
https://forum.xda-developers.com/search/thread/3375800?query=kvm
Downloads: https://androidfilehost.com/?w=files&flid=57205
BORET24's ROM for ZE551ML/550ML/Zoom ZX551ML as of 2017/08/29:
https://forum.xda-developers.com/zenfone2/development/borets-rom-ze551ml-550ml-t3551225
https://forum.xda-developers.com/ze...51ml-550ml-t3551225/post73580815#post73580815
nutcasev1.5's [Kernel]Holo Kernel[AOSP/LinOS14.1][-O3][LINARO][Z00A/8]
https://forum.xda-developers.com/zenfone2/development/kernel-holo-kernel-t3443689
RussiaNBearReborN's [Rom][6.0.1][B352][18/03/18][Unified Z00A/Z008]:
https://forum.xda-developers.com/zenfone2/development/rom-rbr-v1-0-t3550544
Renix63's [KERNEL][UC] ZenKernel V1.9 Super for MM [Z00A/8][HotPlug][STOCK ROM]
https://forum.xda-developers.com/zenfone2/development/kernel-zenkernel-1-0-mm-t3510734
Aterfax's custom LineageOS 14.1 with KVM enabled kernel for Asus Zenfone 2:
https://forum.xda-developers.com/showpost.php?p=74568996&postcount=400
Asus Zenfone 5 and Zenfone 6:
tank014 & BORETS24's Custom Lolipop kernel for Zenfone 5 & Zenfone 6:
https://forum.xda-developers.com/zenfone-5/general/custom-lollipop-kernel-zenfone-5-t3238970
dgadelha's [ROM][6.0.1] CyanogenMod 13.1 Stable Builds (Unofficial)
https://forum.xda-developers.com/zenfone-5/development/cyanogenmod-13-t3382702
Asus Zenfone Zoom ZX551ML:
BORET24's ROM for ZE551ML/550ML/Zoom ZX551ML as of 2017/08/29:
According this thread, BORET24's ROM works with this and has KVM.
https://forum.xda-developers.com/zenfone2/development/borets-rom-ze551ml-550ml-t3551225
Post about it: https://forum.xda-developers.com/ze...51ml-550ml-t3551225/post73580815#post73580815
If you know of any other devices with KVM enabled kernels (ARM or x86) please let me know and I will add them to this list.
I might have to purchase an ASUS Zenfone 2, as I've wasted the whole year trying to get Windows 7, 10 running on my Android phone at anything beyond a snail's pace. The main problem is that KVM hardware virtualization is turned off in, like, every smartphone on sale in the market! This is bad brain - SUCH BAD BRAIN!!! My phone provider would not even respond to me on this issue.
I bought the first ever ARM64 laptop @ £999, but had to return it to the shop because it never booted up any Linux live USBs/DVDs. Since then I managed to get an ARM64 Linux distro - with a KVM-enabled kernel - running on the Raspberry Pi 3 B+ (thanks to help from a woman!) only to find that -enable-kvm is incompatible with qemu-system-aarch64's graphics options.
So what might the problem be exactly...? Well, the qemu-system-aarch64 generic -M virt machine type has no graphics output built into it - very clever!!! So we have to use -device VGA as an add-on to get VGA output. That will then allow snail's pace running/displaying of Windows 10 ARM; however, KVM happens to not be compatibile with this display mode - or perhaps any kind of display mode on aarch64 - due to the "VGA framebuffer" not being emulated (whatever that means!) by Qemu perhaps. The alternative is to use a different display device addon. We have -device virtio-gpu-pci, which allows you play around with the bios at near-native speeds - but the moment you boot from there into Windows 10 ARM it blackscreens cos' Microsoft did not put any virtio graphics drivers on their OS. So, basically, we are stuffed!
Ubuntu tells us "Ubuntu/arm64 can run inside the QEMU emulator. You can either do this fully emulated (e.g. on an x86 host) or, accelerated w/ KVM if you have an arm64 host." - yet they have no shame in omitting the fact that their installation runs with -nographics!
-display type none
Do not display video output. The guest will still see an emulated graphics card, but its output will not be displayed to the QEMU user. This option differs from the -nographic option in that it only affects what is done with video output; -nographic also changes the destination of the serial and parallel port data.
-nographic
Normally, if QEMU is compiled with graphical window support, it displays output such as guest graphics, guest console, and the QEMU monitor in a window. With this option, you can totally disable graphical output so that QEMU is a simple command line application. The emulated serial port is redirected on the console and muxed with the monitor (unless redirected elsewhere explicitly). Therefore, you can still use QEMU to debug a Linux kernel with a serial console. Use C-a h for help on switching between the console and monitor.
Click to expand...
Click to collapse
Therefore, I seriously doubt we can get even an RDP option on our Windows 10 ARM guest, alas. And, to add insult to injury, there is no sign of a Surface Phone or any Android software that might allow us to run Windows 10 ARM on our modern smartphones. What a bad time to be living...
Now I'm curious. How did you get KVM working on your Rasberry Pi 3 B+? I compiled QEMU from source using a modification of your instructions and couldn't get QEMU to even start with KVM enabled. What Linux distro are you using on the Pi? What linux did you use as your guest image? What was your exact qemu command line?
I wouldn't expect the ARM Windows 10 laptops to run any Linux yet. They're too new. We may need to wait years. The Windows RT devices were just secure boot unlocked a few months ago by someone from here and they still can't run any Linux.
Honestly, you probably are just better off getting a Zenfone 2. With the kernel mod, x86 Windows pretty much "just works." I just wish QEMU had a virtual battery meter so the VM could hibernate when the phone's battery gets low.
As an aside, I have a few Atom Baytrail Windows tablets that are quite similar to Android models and it's quite amazing what I can do with them out of the box when compared to Android. A few of them have virtualization enabled out of the box so all I need to do to use a VM is install VMWare, Virtualbox, Virtual PC, etc. and it "just works". No hacking, no flashing custom kernels, no command line tools at all. I've attached a picture of my Nextbook NXW8QC16G running Windows XP in VMWare and showing virtualization enabled in the task manager. The other picture is running Windows Server 2012R2, a 64-bit guest OS.
Your mention of virtio gives me an idea: Isn't it possible we can compile the virtio graphics driver for AARCH64 and somehow inject it in our ARM64 Windows image? If we did that, would Windows then be able to be used with ARM64 KVM acceleration? That guy who made the ARM64 Windows QEMU blog post already compiled the virtio disk drivers for AARCH64 and was able to get the installer to install to a virtual hard drive. Maybe all we need are ARM Windows compiled drivers for the rest of QEMU's special emulated hardware. I use the x86 Windows QXL driver with Windows 8.1 on my Zenfone 2 and it seems to work. Though, I had to boot with the VGA video mode first and install it via device manager manually.
Also, if you want an NT based OS on emulated x86 on ARM, have you thought of trying something older than XP like Windows NT 3.51 or 4.0? These were designed for 386/486s so should be more usable on emulated x86 QEMU than something like Windows XP. Office 97 works on Windows NT 3.51 and Office 2000 and maybe even XP and 2002 will work on NT 4.0. Softmaker Office 2008 also works somewhat on NT 3.51. Obviously Windows 98 may also be faster but it sounds like you prefer NT so these may be an option. If you install Windows NT 4.0 Terminal Server Edition, you will even be able to RDP into your emulated machines. Windows NT 3.51 also has an optional edition with remote, multiuser support called Citrix Winframe but I was unable to find an Android Citrix client that can still connect to it. (they're all too new)
I think we're starting to see the limitation of devices marketed as "phones" They're not an open computing platform or standard like the PC or even Macs.
We really need some kind of open standard firmware for phones like the UEFI/BIOS on PCs and an OS to go with it. It would be great if there were some kind of "open", generic (not neccessarily open source) OS that let you install drivers after being installed like Windows. Android is sort of open but not the hardware and good luck buying a device that will have an unlocked bootloader and get custom ROMs. Plus, you can't run anything other than Android and maybe another linux if you are lucky. I dunno, it scares me that these phones may become the defacto computing platform when they are so closed and proprietairy. At least with a PC, I know I can install the latest OS and be up to date for at least 15+ years if I want to be. We need that for phones but it just doesn't exist yet.
Update: I found a work in progress WDDM Windows driver for QEMU's VirtIO 3D GPU driver mentioned here:
https://www.phoronix.com/scan.php?page=news_item&px=QEMU-3D-Windows-Guests
The source code for it is here: https://gist.github.com/Keenuts/199184f9a6d7a68d9a62cf0011147c0b
Well it looks like our prayers are answered and our dreams came true. Thanks to the folks at limboemulator.weebly.com, there is now an ARM KVM enabled kernel available for the Snapdragon based Samsung Galaxy S8 and S8+
The latest Limbo PC Emulator even has KVM support even with the ARM builds.
Get it here:
https://limboemulator.weebly.com/android-arm-kvm---kernels.html
TFGBD said:
Well it looks like our prayers are answered and our dreams came true. Thanks to the folks at limboemulator.weebly.com, there is now an ARM KVM enabled kernel available for the Snapdragon based Samsung Galaxy S8 and S8+
The latest Limbo PC Emulator even has KVM support even with the ARM builds.
Get it here:
https://limboemulator.weebly.com/android-arm-kvm---kernels.html
Click to expand...
Click to collapse
These are only for Exynos
our snapdragons have a locked bootloader they will never work for us
dd the following lines to file: arch/arm64/configs/​exynos8895-dreamlte_defconfig
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=y
CONFIG_KVM_MMIO=y
CONFIG_KVM_ARM_HOST=y
#from the command line type:
make clean
make mrproper
make ​exynos8895-dreamlte_defconfig
Does anyone know how to compile/use Virtio drivers for Qemu-system-aarch64?
"You are welcomed to check the branch: https://github.com/virtio-win/kvm-guest-drivers-windows/tree/arm64
Instructions for build machine (using community edition of VS2017):
https://github.com/virtio-win/kvm-g...vers-including-arm64-using-visual-studio-2017
Soon will be integrated to master and we will distribute the binaries.
Best regards,
Yan."
https://github.com/virtio-win/kvm-guest-drivers-windows/issues/177
If the above works as a GPU for KVM then we might be able to pursue the Samsung Galaxy/Limbo solution?
I found out a lot of phones have KVM already enabled:
*Xiaomi phones, i.e. Pico F1 and Mi 8 with up to 8GB RAM (Mi 9 and Black Shark 2 have 12GB RAM)
*OnePlus phones, i.e. OnePlus 6T with up to 10GB RAM (McLaren Edition)
*Realme 2 Pro with 8GB of RAM
To find out just check the following file in a kernel source code:
https://github.com/MiCode/Xiaomi_Kernel_OpenSource/blob/dipper-o-oss/arch/arm64/configs/defconfig
KVM is disabled in all Huawei and Samsung devices by default. And Huawei cannot be unlocked/rooted anymore.
However, I found out how to compile custom ROMs for Samsung, etc.
KVM enabled on Mi 9 Xiaomi. What's the latest on a VM build we can use to build kernels etc.? Great idea here I proposed this AM and was shot down by a bunch of old school devs that think you should go through the pain of setting up a build env yourself that no one can replicate.
mslezak said:
KVM enabled on Mi 9 Xiaomi. What's the latest on a VM build we can use to build kernels etc.? Great idea here I proposed this AM and was shot down by a bunch of old school devs that think you should go through the pain of setting up a build env yourself that no one can replicate.
Click to expand...
Click to collapse
I probably need to update it, but for a VM you can try Builduntu here: https://nathanpfry.com/builduntu-virtual-machine-android-rom-compiling/
XDA post: https://forum.xda-developers.com/showthread.php?t=2585828
That should save you some trouble hopefully. ROMs and kernels will compile.
Thanks!
It's great someone is forward thinking enough to put this together. Much appreciated!
What updates do you suggest?
Seems to be running in VM
sylentprofet said:
I probably need to update it, but for a VM you can try Builduntu here: https://nathanpfry.com/builduntu-virtual-machine-android-rom-compiling/
XDA post: https://forum.xda-developers.com/showthread.php?t=2585828
That should save you some trouble hopefully. ROMs and kernels will compile.
Click to expand...
Click to collapse
Seems to be running from Virtual Box after the Extensions was added. Almost got the torrent downloaded but had to revert to the Google Drive and change to .html extension to download. Virtual Box 5.2.30 is the version.
Didn't sleep at all just got it booted which is a success at least. Thanks for providing.
Has anyone tried to turn on KVM on Xiaomi phones?
I tried to compile the kernel with the included KVM on Xiaomi Redmi Note 5. It compiled without errors, the KVM folder appeared with the files in the folder with the compiled kernel. But the phone with this kernel hangs on the logo. Maybe it's because of the miui?
To enable KVM, I added this to the defconfig:
CONFIG_VIRTUALIZATION = y
CONFIG_KVM = y
CONFIG_KVM_MMIO = y
CONFIG_KVM_ARM_HOST = y
One person with the help of such a compilation was able to enable KVM on their phones (Honor 7c pro, honor p20 pro, samsung galaxy s8), and the KVM works. Windows 10 arm launched.
TFGBD said:
Well it looks like our prayers are answered and our dreams came true. Thanks to the folks at limboemulator.weebly.com, there is now an ARM KVM enabled kernel available for the Snapdragon based Samsung Galaxy S8 and S8+
The latest Limbo PC Emulator even has KVM support even with the ARM builds.
Get it here:
https://limboemulator.weebly.com/android-arm-kvm---kernels.html
Click to expand...
Click to collapse
new link plsssssssssssssssss
monsterdimon said:
Has anyone tried to turn on KVM on Xiaomi phones?
I tried to compile the kernel with the included KVM on Xiaomi Redmi Note 5. It compiled without errors, the KVM folder appeared with the files in the folder with the compiled kernel. But the phone with this kernel hangs on the logo. Maybe it's because of the miui?
To enable KVM, I added this to the defconfig:
CONFIG_VIRTUALIZATION = y
CONFIG_KVM = y
CONFIG_KVM_MMIO = y
CONFIG_KVM_ARM_HOST = y
One person with the help of such a compilation was able to enable KVM on their phones (Honor 7c pro, honor p20 pro, samsung galaxy s8), and the KVM works. Windows 10 arm launched.
Click to expand...
Click to collapse
so does kvm works in honor 7c pro(as u have mention) ? And launch windows fastly?
also i wanna enable kvm in my redmi note4 .is it possible ? And How?
@TFGBD
Hi bro,
I have some questions that I hope you will answer me.
Note: My English language is bad ? ..
I was looking for how to activate the KVM feature on the LG G4 H818P phone to run Windows 10 ARM quickly on the phone, I have read that all ARM processors that work with Cortex-a15 or higher support KVM feature, but mobile manufacturers do not include this feature in the system, So,
I want a simplified way to activate this feature on my phone ?,
I want to know how fast I will get after activating KVM in Windows 10 ARM simulations ?,
will the method work with any device or each device has a method designated for it ?,
and
do you need experience ?,
How dangerous is it on the device?,
Do I need root privileges to benefit from KVM?
And will I need to reinstall the system again or only the kernel ? .
Thanks, bro ? ...
---------- Post added at 05:57 PM ---------- Previous post was at 05:52 PM ----------
tarikkaya said:
new link plsssssssssssssssss
Click to expand...
Click to collapse
link: https://github.com/limboemu/limbo/wiki/KVM
It's not simply a matter of enabling the KVM support in kernel. The vendor has to enable virtualization capabilities for the SoC in the firmware. On most (if not all) mobile platforms this will be disabled. Although there have been exploits that enable you to overcome that and they have been confirmed to work (think Lumia 950[XL] custom UEFI).
Hi all,
Anybody has enabled or knows of somebody enabling KVM on samsung galaxy tab s6? (4.14 kernel)?
I tried enabling the virtualization options in the kernel config, kernel compiles and device boots as normal but /dev/kvm does not appear...
"The vendor has to enable virtualization capabilities for the SoC in the firmware"
@konradybcio What do you mean by "firmware"?
Bye
Had a look at the kernel boot log and found the following line:
kvm [1]: HYP mode not available
So it appears the kernel is running in wrong mode and cannot operate as hypervisor
Probably samsung's bootloader (firrmare!?) does not allow it...

Categories

Resources