# Difference between app-emulation/kvm-kmod and kernel kvm

## mp342

Hi,

I use the kvm module of the kernel. I saw this package but I don't understand what it provide ?

Is there some extra functionalities or something else ?

Thanks,

Marc.

----------

## Gabriel_Blake

if I'm not mistaken it's almost the same thing... the difference is that the portage package installs a kernel module, and allows more frequent updates.

There is a similar situation with sys-kernel/linuxwacom-module The module is also present in the kernel config, but it supports older models. My old Bamboo tablet doesn't work with the module from portage, but it does with the module from manual kernel config.

If everything work for you now I guess you shouldn't change anything.

----------

## mp342

Ok, I better understand.

Thanks.

----------

## Shining Arcanine

 *Gabriel_Blake wrote:*   

> if I'm not mistaken it's almost the same thing... the difference is that the portage package installs a kernel module, and allows more frequent updates.
> 
> There is a similar situation with sys-kernel/linuxwacom-module The module is also present in the kernel config, but it supports older models. My old Bamboo tablet doesn't work with the module from portage, but it does with the module from manual kernel config.
> 
> If everything work for you now I guess you shouldn't change anything.

 

Looking at version numbers, it looks like the reverse. Having it in kernel gives more frequent updates because the app-emulation/kvm-kmod appears to be an out-of-tree build of the in-tree module. Using  app-emulation/kvm-kmod will likely introduce compatibility issues that wouldn't occur if using the in-tree module. There is no reason to use  app-emulation/kvm-kmod if you can compile KVM inside the kernel tree.

----------

## Hu

If I recall correctly, the stated purpose of kvm-kmod, according to the upstream maintainers, is to provide a new kernel module to people on an older kernel.  It is specially prepared to be compatible with older kernels, though obviously it may not receive as much testing in older kernels as it receives in the kernel in which it was released.

If you keep your kernel current, then you should use the in-tree kvm code instead.

----------

