CPU Compatability in VirtualBox

Discussions related to using VirtualBox on Windows hosts.
Post Reply
Crippler22
Posts: 3
Joined: 10. Jun 2020, 06:09

CPU Compatability in VirtualBox

Post by Crippler22 »

Hello,

I am trying to get an old game to run on a Windows hosted Virtual box. Specifically, I am looking to make sure that my CPU settings are appropriately set-up to make sure that the software within is recognizing my actual CPU properly. Details with my specific problem are as follows. Thanks for the assistance :D

I am hosting Windows XP in Virtualbox and I am attempting to run an old game, Sim Theme Park, which seems to be the only game I am having problems with. The game included a program called InfoPro (System Information and Benchmarking Tool), which assesses the system trying to run the game. All of my PC is more than qualified with apparently the exception of the CPU. In reality I should be more than qualified running an intel i5 quad core 3.5GHz (in the Actual CPU image of host computer attachment)
Host System Information
Host System Information
Actual CPU.PNG (12.59 KiB) Viewed 5172 times
However, the game's check program is showing that I need at least a class 80586 processor.
CPU within Game Check Program
CPU within Game Check Program
IP screenshot.PNG (12.73 KiB) Viewed 5172 times
Mine is apparently registering as a class 0. I am able to run games sufficiently after enabling all four of my cores with a 100% max for the hosted Windows XP, I have allocated 1 GB of RAM (I have 8 total on the host). I am posting screenshots as well of my remaining settings available.
Virtual OS System Settings
Virtual OS System Settings
System Settings.png (29.58 KiB) Viewed 5172 times
BillG
Volunteer
Posts: 5106
Joined: 19. Sep 2009, 04:44
Primary OS: MS Windows 10
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Windows 10,7 and earlier
Location: Sydney, Australia

Re: CPU Compatability in VirtualBox

Post by BillG »

Yes, your CPU is probably over-qualified (it would certainly outperform an 80586 by a big margin), but you cannot really expect that old program to know what you actual CPU is capable of. The Intel i5 was still a long way in the future when that program's list of capable CPUs was written. Making sure it recognized your real CPU is not the answer.

The only way around it would be to fake the CPU type in the vm. The problem would be knowing what CPU both VIrtualBox and InfoPro would accept.
Bill
Crippler22
Posts: 3
Joined: 10. Jun 2020, 06:09

Re: CPU Compatability in VirtualBox

Post by Crippler22 »

BillG wrote:Yes, your CPU is probably over-qualified (it would certainly outperform an 80586 by a big margin), but you cannot really expect that old program to know what you actual CPU is capable of. The Intel i5 was still a long way in the future when that program's list of capable CPUs was written. Making sure it recognized your real CPU is not the answer.

The only way around it would be to fake the CPU type in the vm. The problem would be knowing what CPU both VIrtualBox and InfoPro would accept.
BillG -

That makes sense to me. So I guess if I knew what CPU the InfoPro would recognize, is there a way to fake the CPU type within the VM? If there's a thread that I can find or something to assist with that, then it would probably be my best bet to try and make this work.

The 80586 class processor at minimum required from the second screenshot appears at search to be the original Intel Pentium from 1993 (searched online)

So I would imagine anything in that direct line or around that time would suffice.
scottgus1
Site Moderator
Posts: 20945
Joined: 30. Dec 2009, 20:14
Primary OS: MS Windows 10
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Windows, Linux

Re: CPU Compatability in VirtualBox

Post by scottgus1 »

Try the commands in this post by pt58: viewtopic.php?f=2&t=98520#p477725
One thing I don't know is if there are other CPU profiles available. All the profiles listed in that post are way beyond the 80586 (Pentium?).

Also try:
VBoxManage modifyvm "<VM name>" --cpu-profile "host|Intel 80[86|286|386]

There are other CPU edits available in the manual, see "--cpuid-set". You would need to do research to see if it is possible to mask off enough capabilities in the guest to fake a Pentium for your software.
fth0
Volunteer
Posts: 5690
Joined: 14. Feb 2019, 03:06
Primary OS: Mac OS X other
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Linux, Windows 10, ...
Location: Germany

Re: CPU Compatability in VirtualBox

Post by fth0 »

In VirtualBox 6.1.8, there are no CPU profiles available in the range from Pentium to Pentium III. The next and oldest profile you can try is "Intel Pentium 4 3.00GHz":

Code: Select all

VBoxManage modifyvm "<VM name>" --cpu-profile "Intel Pentium 4 3.00GHz"
scottgus1
Site Moderator
Posts: 20945
Joined: 30. Dec 2009, 20:14
Primary OS: MS Windows 10
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Windows, Linux

Re: CPU Compatability in VirtualBox

Post by scottgus1 »

fth0, where are these profiles listed? I tried the command prompt, didn't get the list there, and I don't see them in the pdf manual.
fth0
Volunteer
Posts: 5690
Joined: 14. Feb 2019, 03:06
Primary OS: Mac OS X other
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Linux, Windows 10, ...
Location: Germany

Re: CPU Compatability in VirtualBox

Post by fth0 »

scottgus1 wrote:fth0, where are these profiles listed?
Nowhere. ;)

Seriously, they can only be collected from the VirtualBox sources. Short adventure game:

Follow your own link to the post by pt58, then go to my post following your post following pt58's post, and follow the link within my post to socratis's post, where you'll find two links to VirtualBox sources. The first of those links gives access to the available CPU profile files, and inside those files (near the end) is a variable named pszName containing the precious strings you're after. The second of those links shows the database created from (most of) the CPU profiles, and only those CPU profiles can be used inside the VBoxManage command (AFAICS, the NEC CPU is a dead end, and one of the i7 CPUs is not in the database).

There are only a handful of CPU profiles available, in comparison to the myriad of different Intel CPUs existing. They were probably only created when especially needed by someone, and this would also explain why they are not officially documented (avoiding to answer the question why those CPUs and not others).
Last edited by fth0 on 11. Jun 2020, 19:57, edited 1 time in total.
scottgus1
Site Moderator
Posts: 20945
Joined: 30. Dec 2009, 20:14
Primary OS: MS Windows 10
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Windows, Linux

Re: CPU Compatability in VirtualBox

Post by scottgus1 »

Thanks, fth0, for the directions. Interesting capability.
I wonder if it arose to help in teleporting a guest. The guest environment across different teleport hosts probably with different CPUs would have to be the same for the guest to be teleported.
Martin
Volunteer
Posts: 2562
Joined: 30. May 2007, 18:05
Primary OS: Fedora other
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: XP, Win7, Win10, Linux, OS/2

Re: CPU Compatability in VirtualBox

Post by Martin »

I think some of these CPU profiles were also needed when the current CPUs were too new for older Mac OSX versions.
fth0
Volunteer
Posts: 5690
Joined: 14. Feb 2019, 03:06
Primary OS: Mac OS X other
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Linux, Windows 10, ...
Location: Germany

Re: CPU Compatability in VirtualBox

Post by fth0 »

My assumption regarding the few CPU profiles was wrong.

The CPU profiles cover the different processor families that VirtualBox can handle. When starting a VM, one of those CPU profiles is selected and used: In any VBox.log file, look for the line containing Matched host ... with CPU DB entry.
Crippler22
Posts: 3
Joined: 10. Jun 2020, 06:09

Re: CPU Compatability in VirtualBox

Post by Crippler22 »

Thanks ftho - the Pentium 4 suggested was also weirdly not picked up by my program, but the list of CPU's allowed me to keep trying some and eventually the Pentium M Processor 2 was recognized.

However, now I'm still getting the same issue where the game's engine is still crashing, so I'm back to square one. But technically the issue I posted about was resolved, so it's much appreciated.
Post Reply