VirtualBox

Ticket #12048 (new defect)

Opened 7 years ago

Last modified 21 months ago

No OpenGL Support for Windows 8

Reported by: muhkuh Owned by:
Component: 3D support Version: VirtualBox 4.2.16
Keywords: windows 8 opengl Cc:
Guest type: Windows Host type: Windows

Description

Host: Windows 7 64 bit Guest: Windows 8 32 bit Problem: No opengl GL support.

I'm trying to get accelerated opengl in my Windows 8 guest. All I get is the Microsoft Software OpenGL 1.1 driver.

Additional Info:

  • guest additions installed and selected the D3D support during installation
  • 3D hardware acceleration enabled in the VM settings
  • Direct 3D 9 acceleration works

To make sure it's not a problem with my host I installed Windows 7 32 bit as a guest. In this virtual machine the OpenGL Adapter of the host seems to be passed through to the guest.

I will attach a log for the windows 8 guest where OpenGL is not working.

Attachments

Win8.log Download (68.9 KB) - added by muhkuh 7 years ago.
VMlog of the windows 8 guest that doens't provide accelerated opengl
Win7.log Download (73.0 KB) - added by muhkuh 7 years ago.
VMlog of the windows 7 guest that works
VBoxVideoWddm.inf Download (3.6 KB) - added by entalpia2 5 years ago.
VBoxVideoW8.inf Download (3.4 KB) - added by entalpia2 5 years ago.
VBoxVideoW8OGL.inf Download (3.6 KB) - added by entalpia2 5 years ago.
INFFileComparison.png Download (171.7 KB) - added by entalpia2 5 years ago.
W8RegistryBefore.png Download (139.2 KB) - added by entalpia2 5 years ago.
W8RegistryAfter.png Download (140.4 KB) - added by entalpia2 5 years ago.
W8OpenGLInfoBefore.png Download (118.8 KB) - added by entalpia2 5 years ago.
W8OpenGLInfoAfter.png Download (122.7 KB) - added by entalpia2 5 years ago.
AddOGLW8and10x86.reg Download (865 bytes) - added by entalpia2 4 years ago.
AddOGLW8and10x64.reg Download (1.2 KB) - added by entalpia2 4 years ago.
AddOGLW8and10x64Corrected.reg Download (1.5 KB) - added by entalpia2 21 months ago.

Change History

Changed 7 years ago by muhkuh

VMlog of the windows 8 guest that doens't provide accelerated opengl

Changed 7 years ago by muhkuh

VMlog of the windows 7 guest that works

Changed 5 years ago by entalpia2

comment:1 Changed 5 years ago by entalpia2

I think I've discovered what the source of the problem. Since VirtualBox 4.2.0, the VBoxGuestAdditions install a new graphic driver for Windows 8, VBoxVideoW8. The old WDDM driver's INF file for Vista and W7 (VBoxVideoWddm) contained in the registry keys for OpenGL ICD, but in the new INF file that are missing. After adding the registry keys manually to the file (new file VBoxVideoW8OGL.inf attached) everything works fine.

Changed 5 years ago by entalpia2

Changed 5 years ago by entalpia2

Changed 5 years ago by entalpia2

Changed 5 years ago by entalpia2

Changed 5 years ago by entalpia2

Changed 5 years ago by entalpia2

Changed 5 years ago by entalpia2

comment:2 in reply to: ↑ description Changed 5 years ago by entalpia2

I believe this problem affects all versions since version 4.2.0, including the latest version 5.0.0.

Replying to muhkuh:

Host: Windows 7 64 bit Guest: Windows 8 32 bit Problem: No opengl GL support.

I'm trying to get accelerated opengl in my Windows 8 guest. All I get is the Microsoft Software OpenGL 1.1 driver.

Additional Info:

  • guest additions installed and selected the D3D support during installation
  • 3D hardware acceleration enabled in the VM settings
  • Direct 3D 9 acceleration works

To make sure it's not a problem with my host I installed Windows 7 32 bit as a guest. In this virtual machine the OpenGL Adapter of the host seems to be passed through to the guest.

I will attach a log for the windows 8 guest where OpenGL is not working.

comment:3 Changed 5 years ago by gammaburst

Here is a possibly related discussion about trying to achieve accelerated OpenGL in Win10 64-bit guest:  https://forums.virtualbox.org/viewtopic.php?p=330330#p330330

comment:4 Changed 4 years ago by zeroepoch

This is still a problem with Windows 10 64-bit and VirtualBox 5.0.12.

comment:5 Changed 4 years ago by zeroepoch

Running the OpenGL extensions program from the screenshots in Windows 10 x64 it now shows 100% functionality up to OpenGL 2.1 instead of just 1.1 only. Thanks entalpia2 for the information!

I first extracted the drivers using the instructions from the ISO in the 64bit directory. Then I edited the following section of VBoxVideoW8.inf:

[VBoxVideo_SoftwareDeviceSettings]
HKR,, InstalledDisplayDrivers, %REG_MULTI_SZ%, VBoxDispD3D
HKR,, UserModeDriverName,    %REG_MULTI_SZ%, VBoxDispD3D.dll
HKR,, UserModeDriverNameWow,    %REG_MULTI_SZ%, VBoxDispD3D-x86.dll
HKR,, OpenGLDriverName,    %REG_MULTI_SZ%, VBoxOGL.dll
HKR,, OpenGLDriverNameWow,    %REG_MULTI_SZ%, VBoxOGL-x86.dll
HKR,, OpenGLFlags,         %REG_DWORD%,    0x00000001
HKR,, OpenGLFlagsWow,         %REG_DWORD%,    0x00000001
HKR,, OpenGLVersion,       %REG_DWORD%,    0x00000001
HKR,, OpenGLVersionWow,       %REG_DWORD%,    0x00000001
HKR,, VgaCompatible, %REG_DWORD%, 0

I then had to disable driver enforcement through advanced start-up options. Finally under Device Manager I told it to update the driver and went though the steps that let me choose "Have Disk" and picked the modified .inf file. After rebooting the OpenGL extension program now shows 2.1 with a vendor of Chromium or something strange like that.

The final step will be to try running MakerBot Desktop when I get a chance tonight and see if it still crashes.

Last edited 4 years ago by zeroepoch (previous) (diff)

comment:6 Changed 4 years ago by zeroepoch

I just wanted to provide an update that even though OpenGL diagnostic tools show OpenGL 2.2 it did not make a difference with MakerBot Desktop and in fact it won't start at all with 3D acceleration enabled. Bummer.

comment:7 Changed 4 years ago by aannoo

Same here with Windows 10 (64 bit) and VB 5.0.20. Garmin Basecamp is stating that there is no OpenGL 1.3 available and only pops up in 2D mode.

comment:8 Changed 4 years ago by entalpia2

Another way to add OpenGL support without disabling disable driver signature enforcement. Use the respective attached .reg files to add OpenGL to W8 and W10 VirtualBox guests. It works after reboot. VirtualBox Guest Additions must be installed before.

Changed 4 years ago by entalpia2

Changed 4 years ago by entalpia2

comment:9 Changed 4 years ago by entalpia2

This problem affects all versions since version 4.2.0, including VirtualBox version 5.0.0 and later. Both Windows 8.x and Windows 10 guests.

Last edited 4 years ago by entalpia2 (previous) (diff)

comment:10 Changed 4 years ago by BobRocks

Walked through the process given by entalpia2. Sadly, it didn't work. Before I did anything, I could start programs without any issue, but then would encounter fatal errors when trying to render 3D data.

After trying the steps above (like 20 times in 20 different ways, using the registry patch alone, using the driver patch alone, together, separate and so forth) it is clear that this hack doesn't work on my system either.

Now when I start the software, it pops an error that says my system has OpenGL1.1 If I check in AIDA64, it is clearly showing 2.1 support.

So I've gone from bad to worse, because now the software won't even load...

It just seems like a registry issue to me, as the software just checks the registry for compatibility and if it isn't found, it pops the error and shuts down.

Any more ideas?

comment:11 Changed 23 months ago by rbarnabas

So here was my solution.

I am running Mac Pro Osx Sierra 10.12 as host.

In order to get the accelerated 3D going. you must do this prior to installing windows as your virtual machine.

So here are the steps I got from here:  https://apple.stackexchange.com/questions/246251/opengl-2-0-on-windows-10-on-virtualbox-on-el-capitan

Due to hardware detection that happens at various points there is proper order of doing this as well:

1.Enable 3D acceleration on your guest before powering it up to install Windows. 2.Install Windows 10. 3.Install VirtualBox guest additions and reboot.

I installed Windows 7 rather than the above directions and it worked. Probably will work with Windows 10 as well.

I didn't have to import the above registry file...etc. from the link directions above.

The sofware I was having issues with was Daz3D and now it works fine!

comment:12 Changed 23 months ago by socratis

@rbarnabas
Do you realize that what you're proposing is exactly the same as adding the registry keys? What "prior to installing" are you referring to? Doesn't compute...

Changed 21 months ago by entalpia2

comment:13 Changed 21 months ago by entalpia2

The registry file for 64 bit was incomplete. I've corrected.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\OpenGLDrivers]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\OpenGLDrivers\MSOGL]
"DriverVersion"=dword:00000001
"Flags"=dword:00000001
"Version"=dword:00000001
"DLL"="VBoxOGL.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\OpenGLDrivers]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\OpenGLDrivers\MSOGL]
"DriverVersion"=dword:00000001
"Flags"=dword:00000001
"Version"=dword:00000001
"DLL"="VBoxOGL-x86.dll"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000]
"OpenGLDriverName"=hex(7):56,00,42,00,6f,00,78,00,4f,00,47,00,4c,00,2e,00,64,\
  00,6c,00,6c,00,00,00,00,00
"OpenGLDriverNameWoW"=hex(7):56,00,42,00,6f,00,78,00,4f,00,47,00,4c,00,2d,00,78,\
  00,38,00,36,00,2e,00,64,00,6c,00,6c,00
"OpenGLFlags"=dword:00000001
"OpenGLFlagsWoW"=dword:00000001
"OpenGLVersion"=dword:00000001
"OpenGLVersionWoW"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Video\{70849E09-CC3F-417F-B4F5-ED1D9A04CCFE}\0000]
"OpenGLDriverName"=hex(7):56,00,42,00,6f,00,78,00,4f,00,47,00,4c,00,2e,00,64,\
  00,6c,00,6c,00,00,00,00,00
"OpenGLDriverNameWoW"=hex(7):56,00,42,00,6f,00,78,00,4f,00,47,00,4c,00,2d,00,78,\
  00,38,00,36,00,2e,00,64,00,6c,00,6c,00
"OpenGLFlags"=dword:00000001
"OpenGLFlagsWoW"=dword:00000001
"OpenGLVersion"=dword:00000001
"OpenGLVersionWoW"=dword:00000001
Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use