D3D compatibility with Might and Magic 7

Discussions about using Windows guests in VirtualBox.
Post Reply
Solidiquis
Posts: 3
Joined: 12. Sep 2017, 02:11

D3D compatibility with Might and Magic 7

Post by Solidiquis »

Hi,

I realize there is a sticky thread for game compatibility, but it seems that thread is only for posting games that work, not asking for help with ones that don't.

I've been trying to run Might and Magic 7 (not Heroes) in my Windows 7 VM. I have installed the guest additions, and enabled 3D Acceleration in the settings menu, but the game throws up error messages on launch.

The host is Windows 10 64bit, the guest is Windows 7 32bit. Before anybody states the obvious, yes, I can play the game on the host OS :D. I installed it through the ubisoft game launcher and it works. Suffice it to say I have reasons for wanting to run it within the VM.

I mounted the Guest additions CD image and rebooted into safe mode, then ran the following command; "D:\VBoxWindowsAdditions.exe /with_autologon /with_d3d" and ran the installer. After rebooting into normal mode, Dxdiag reports that DirectDraw and Direct3D are both enabled, and device manager shows that the VirtualBox Graphics Adapter is present as my display device.

After installing the game to "C:\Games\Might and Magic 7 For Blood and Honor" (via the ubisoft game launcher), I get this error when I try to run the game either through the launcher, or by directly opening the MM7.exe file; "There aren't any D3D devices to create."
Launch error.jpg
Launch error.jpg (17.58 KiB) Viewed 2678 times
When I run MM7Setup.exe, It does not show the VirtualBox Graphics Adapter present, leaving only Software 3D in the Video options.
Setup.jpg
Setup.jpg (95.62 KiB) Viewed 2678 times
If I try to launch the game from the setup directly, I get a Direct Draw Error.
Launch from setup error.jpg
Launch from setup error.jpg (55.08 KiB) Viewed 2678 times
Can anyone think of any way to get the game to detect my graphics adapter? If you need any other info or clarification please let me know. I appreciate any insight or suggestions you might be able to offer.

Cheers,

Solid
Solidiquis
Posts: 3
Joined: 12. Sep 2017, 02:11

Re: D3D compatibility with Might and Magic 7

Post by Solidiquis »

Additional post due to attachment limit.
Attachments
VBoxHardening.rar
(21.75 KiB) Downloaded 24 times
VBox.log
(114.37 KiB) Downloaded 12 times
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: D3D compatibility with Might and Magic 7

Post by mpack »

What version of Direct3D does the game require?
Solidiquis
Posts: 3
Joined: 12. Sep 2017, 02:11

Re: D3D compatibility with Might and Magic 7

Post by Solidiquis »

mpack wrote:What version of Direct3D does the game require?
That's a good question. I believe that the game required Direct x 6 or later when it was released way back when, and I know from my Host OS that it works with Direct x 11 (or at least the Ubisoft Uplay version of the game does), but I can't find anything about which version of Direct3D it uses. My best educated guess would be that it uses Direct3D 6.0, which was included with Direct X 6.
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: D3D compatibility with Might and Magic 7

Post by mpack »

I make very little use of accelerated graphics in a VM (I just don't use VMs for that), so take the following as an opinion only, not expert advice.

However...

VirtualBox has never claimed to support DirectX 6 so far as I know.

As I understand it, DirectX (Direct3D) is not backwards compatible as such. Instead each new revision includes a new interface plus interfaces which were supported by the previous version. This is possible because of the way COM works - an app has to request the exact interface it wants. I.e. so a graphics card that had existed since DirectX 6 might respond to requests for a DirectX6 API, and a DirectX7 API, ... and so on. But it's under no obligation to do so, e.g. a more modern card may reject the really old interfaces.

As I understand it (2), VirtualBox offers DirectX8 and DirectX9 APIs. Not DirectX6.

Your original post asked about getting the game to recognize your hosts graphics card. I assume this was a slip of the terminology. A VM has no access to the hosts graphics card. It has access to an emulated graphics card, and in the VirtualBox case, that emulated graphics card supports Direct3D 8 and 9. The guest app can benefit from accelerated graphics, but can't discover the full features of the host.
Post Reply