cyberus-technology / virtualbox-kvm

KVM Backend for VirtualBox. With our current development model, we cannot easily accept pull requests here. If you'd like to contribute, feel free to reach out to us, we are happy to find a solution.
GNU General Public License v3.0
955 stars 119 forks source link

Required capability 'KVM_CAP_KVM_CAP_XCRS' is missing! #4

Closed jschwartzenberg closed 9 months ago

jschwartzenberg commented 9 months ago

Bug Description

When I try to run a VM, I get the following message: Required capability 'KVM_CAP_KVM_CAP_XCRS' is missing! (VERR_NEM_MISSING_FEATURE).

How to Reproduce

Compile and try to run a VM on an Intel Core2 Duo.

VM configuration

Guest OS configuration details:

Host OS details:

Logs

Following logs are required:

tpressure commented 9 months ago

Unfortunately, your Intel P8600 CPU does not support the XSAVE instruction which is currently a requirement to run VirtualBox with our KVM backend.

jschwartzenberg commented 9 months ago

Thanks a lot for the quick response!

I tried it also on another laptop I have, but I'm getting the same error with an Intel Core i5 M 460 CPU. dmesg.txt test-2024-02-09-21-22-43.log

It would be great if more CPUs could be supported in the future!

tpressure commented 9 months ago

Intel Core i5 M 460 is Nehalem (microarchitecture) which also does not support XSAVE.

Currently, you need at least Sandy Bridge (2nd generation Core Processors) in order to use VirtualBox with KVM. Supporting older systems without XSAVE is certainly possible, but it's not on our agenda right now.

jschwartzenberg commented 9 months ago

Alright, thanks for the info! It seems you are politely saying all my CPUs are old.. :)

Is XSAVE indeed the one and only thing that prevents all these older CPUs from working?

tpressure commented 9 months ago

Alright, thanks for the info! It seems you are politely saying all my CPUs are old.. :)

:smile:

XSAVE should be the only thing ... can't give you 100% on this though since I've never tested anything older than Ivy Bridge (3rd Gen Core).

parthy commented 9 months ago

Just to let everyone know, we have now included more information in the readme. Feel free to have a look and let us know if that clarifies things!

tpressure commented 9 months ago

Closing this because the limitation has been added to the readme.

jschwartzenberg commented 9 months ago

Just to let everyone know, we have now included more information in the readme. Feel free to have a look and let us know if that clarifies things!

I think the main issue is Intel's marketing. Now this is written "This implies a 2nd Gen Core processor or newer.", but Intel Core2 Duo is not a 2nd gen core processor despite the 2 and the Duo :) If nobody else will bring this up, I think everything's fine, otherwise I hope there can be other ways to describe this better to prevent you from getting asked about this over and over.

(Myself I'm in the category that believes i7 is always faster than i5. When somebody would talk about Haswell i5 versus Sandy or Ivy, I presume an i5 could be faster than an i7 if they are from different generations, but I'd have no clue.)

vinniec2 commented 1 month ago

As you can see from the last mention, I have the same problem as @jschwartzenberg however I also seem to have the same problem with an n3060 which although it is a bad processor seems to be fifth generation. Could you give me your opinion because I understand little about it?

this is the error that appears at the right side of the main window when I try to run the virtual machine:

VM Name: slitaz

Required capability 'KVM_CAP_KVM_CAP_XCRS' is missing! (VERR_NEM_MISSING_FEATURE).
Driverless mode (VERR_SUP_DRIVERLESS).
Result Code:
NS_ERROR_FAILURE (0X80004005)
Component:
ConsoleWrap
Interface:
IConsole {6ac83d89-6ee7-4e33-8ae6-b257b2e81be8}
blitz commented 1 month ago

@vinniec2 Your Atom CPU unfortunately doesn't support one of the x86 instruction set extensions currently required. The KVM backend will not work on this CPU. You need one generation of Atom newer (Apollo Lake).