JideTechnology / Remix-OS-For-PC

Remix OS for PC Feedback System & Troubleshooting Center repository
https://github.com/JideTechnology/Remix-OS-For-PC/wiki
110 stars 26 forks source link

[Feature Request] KVM support in the kernel #56

Open erenoglu opened 7 years ago

erenoglu commented 7 years ago

Since PC Remix OS is targeting to be desktop OS with desktop like functions, i find it interesting to also run Virtualization software on it. Some people like me, while preferring to use RemixOs on the deskop, still lack a few software functionality here and there in Android versions, and Windows in a VM would be interesting to fire-up when such need arises. (ie Excel Pivot Tables, opening XLSB files, building a presentation using some 3rd party add-ons, etc.)

I've done some analysis and I See that Limbo project has KVM enabled userspace tools, so what we'd miss to achieve hardware accelerated virtualization would just be the KVM module in the kernel. I checked current kernel sources, kvm sources are there, but the module is not compiled, so probably disabled.

I would recommend and request as a feature to enable KVM support. I assume this is no more than flipping a switch in the kernel config. I'll also try to compile a kernel with this support myself.

Neurovert commented 7 years ago

@jide-bill It looks like we might have a candidate for improving hardware acceleration on VMs?

jide-bill commented 7 years ago

@cwhuang1 Chih-Wei, do you think if this makes sense? is it something doable?

cwhuang1 commented 7 years ago

2016-12-28 18:42 GMT+08:00 Bill notifications@github.com:

@cwhuang1 Chih-Wei, do you think if this makes sense? is it something doable?

Enabling KVM in kernel is easy:

CONFIG_KVM=m CONFIG_KVM_INTEL=m CONFIG_KVM_AMD=m

But without userspace code it's not really useful.

erenoglu commented 7 years ago

If I could compile the kernel, I could give it a try. I got stuck on this: https://github.com/JideTechnology/remixos-kernel/issues/4

@cwhuang1 , we have the userspace: http://limboemulator.weebly.com/downloads.html check section "Limbo 2.4.0 x86 KVM Alpha" based on Qemu 2.7.0 with KVM support (if enabled in Kernel).

If I can compile the kernel or someone provides a kernel with KVM Support, I'll start testing.

cwhuang1 commented 7 years ago

OK. Due to some reasons the code must be built with gcc 4.6. You can get the toolchain:

https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6

Then configure your buildspec.mk by adding this line:

CROSS_COMPILE := $(abspath prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6/bin)/x86_64-linux-

2016-12-30 2:06 GMT+08:00 Emre Erenoglu notifications@github.com:

If I could compile the kernel, I could give it a try. I got stuck on this: JideTechnology/remixos-kernel#4

@cwhuang1 , we have the userspace: http://limboemulator.weebly.com/downloads.html check section "Limbo 2.4.0 x86 KVM Alpha" based on Qemu 2.7.0 with KVM support (if enabled in Kernel).

If I can compile the kernel or someone provides a kernel with KVM Support, I'll start testing.