Page 1 of 1

CPU Compatability in VirtualBox

Posted: 10. Jun 2020, 06:27
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 5174 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 5174 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 5174 times

Re: CPU Compatability in VirtualBox

Posted: 10. Jun 2020, 07:29
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.

Re: CPU Compatability in VirtualBox

Posted: 10. Jun 2020, 07:39
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.

Re: CPU Compatability in VirtualBox

Posted: 10. Jun 2020, 15:06
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.

Re: CPU Compatability in VirtualBox

Posted: 10. Jun 2020, 22:04
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"

Re: CPU Compatability in VirtualBox

Posted: 10. Jun 2020, 23:37
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.

Re: CPU Compatability in VirtualBox

Posted: 11. Jun 2020, 03:06
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).

Re: CPU Compatability in VirtualBox

Posted: 11. Jun 2020, 16:12
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.

Re: CPU Compatability in VirtualBox

Posted: 11. Jun 2020, 17:41
by Martin
I think some of these CPU profiles were also needed when the current CPUs were too new for older Mac OSX versions.

Re: CPU Compatability in VirtualBox

Posted: 11. Jun 2020, 20:06
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.

Re: CPU Compatability in VirtualBox

Posted: 12. Jun 2020, 05:19
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.