How to get OpenGL 2.0 (3.0) available on windows 10 guest ?

Discussions about using Windows guests in VirtualBox.
DDE
Posts: 1
Joined: 9. Apr 2017, 18:41

How to get OpenGL 2.0 (3.0) available on windows 10 guest ?

Post by DDE »

Hi,

I have a host using Windows10 64b OS, a nvidia 1050 Graphic cards.
I create a VM with Windows10 64b OS, with VBoxGuestAdditions installed, 2D and 3D acceleration activated.

The guest can use OpenGL 2.0, GPU Caps Viewer says that the OpenGL supported version is 1.1

Is it possible to get more than openGL 1.1 ....

Thanks
socratis
Site Moderator
Posts: 27330
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: How to get OpenGL 2.0 (3.0) available on windows 10 guest ?

Post by socratis »

The simple answer is no, you can't. It doesn't matter what your physical card is, the GPU presented to the VM is a virtual one with a limited set of capabilities.
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
srb
Posts: 4
Joined: 20. Jul 2017, 18:47

Re: How to get OpenGL 2.0 (3.0) available on windows 10 guest ?

Post by srb »

I'm interested in the not-simple answer, because this is discrepant with other information provided in the virtualbox documentation, Chapter/section 4.5.1 section here: https://www.virtualbox.org/manual/ch04.html (Sorry I'm a new member so I can't post links, had to add spaces to circumvent that silly account limitation)

specifically noted at the footer:
[20] OpenGL support for Windows guests was added with VirtualBox 2.1; support for Linux and Solaris followed with VirtualBox 2.2. With VirtualBox 3.0, Direct3D 8/9 support was added for Windows guests. OpenGL 2.0 is now supported as well. With VirtualBox 4.1 Windows Aero theme support is added for Windows Vista and Windows 7 guests (experimental)
So, how do I get OpenGL 2.0 on my Windows (10) guest?

Thanks,
Brian

ninja speed edit:
As per the instructions, I have installed guest additions via safe mode, and yes i have 2d and 3d acceleration enabled in the vm. My Host is Ubuntu 16.04, and yes my Ubuntu Host supports OpenGL 3.0 as per running

Code: Select all

glxinfo | grep "OpenGL version"
which returns

Code: Select all

OpenGL version string: 3.0 Mesa 12.0.6
yet glview436 still tells me just opengl 1.1 is supported on my windows guest, and my apps requiring opengl2.0 at minimum are failing.

virtualbox installed from virtualbox dot org (not ubuntu repositories), and is Version 5.1.24 r117012 (Qt5.5.1)
mpack
Site Moderator
Posts: 39156
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: How to get OpenGL 2.0 (3.0) available on windows 10 guest ?

Post by mpack »

Please provide a VM log file. With the VM fully shut down, right click it in GUI. Select "Show Log" and save "VBox.log" (ONLY) to a zip file. Attach the zip here.
srb
Posts: 4
Joined: 20. Jul 2017, 18:47

Re: How to get OpenGL 2.0 (3.0) available on windows 10 guest ?

Post by srb »

Thanks, mpack. Here you go.
Attachments
vbox.log.zip
(27.89 KiB) Downloaded 1506 times
mpack
Site Moderator
Posts: 39156
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: How to get OpenGL 2.0 (3.0) available on windows 10 guest ?

Post by mpack »

You have Linux installed as the host OS on a MacBook Pro? Interesting. I'm not sure why we're having this conversation in the "Windows Hosts" forum though. I'll move it to "Windows Guests".

The GAs seem to be installed, and the host does indeed support OpenGL 3.0. I would expect VirtualBox OpenGL 2.1 to now be available, if you installed the GAs properly. Note that installing in safe mode is not prescribed for Win10 guests, that was only for XP. However I don't know if it does any harm.

What OpenGL vendor do your guest apps see?
srb
Posts: 4
Joined: 20. Jul 2017, 18:47

Re: How to get OpenGL 2.0 (3.0) available on windows 10 guest ?

Post by srb »

Oops, sorry about replying in the wrong forum. I didn't notice it was (previously) on Windows Hosts. I had just found the relevant thread title about OpenGL on Windows 10 Guest linked to on Google and clicked through.

I tried installing GA without safe mode first, then with safe mode second, but neither worked.

Vendor is showing up as Microsoft Corporation.

Maybe my problems are a result of not being able to install the Experimental WDDM Driver? This is a shot in the dark, but I've noticed some discrepancies in what I see and what other's have shown. For example, in my GA installer I see these options:
vmGAInstall.png
vmGAInstall.png (23.77 KiB) Viewed 113577 times
And I can't deselect the Direct3D support to install the experimental driver as is suggested can be done in the Chapter 4 VirtualBox support document, or on some other links like howtogeek shows this screenshot for installing experimental WDDM Driver:

Image

and then the option for:

Image

So, it looks like in the GA installation, I have no option to install the WDDM driver, which I presume would also reflect a different OpenGL vendor string? As I said, just a shot in the dark as I'm piecing things together.
mpack
Site Moderator
Posts: 39156
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: How to get OpenGL 2.0 (3.0) available on windows 10 guest ?

Post by mpack »

It makes sense that you don't see the same options as someone installing the GAs on a different version of Windows.
User manual section 4.2.1 wrote: Note: For the basic Direct3D acceleration to work in a Windows guest, you have to
install the WDDM video driver available for Windows Vista or higher. For Windows
8 and higher only the WDDM Direct3D video driver is available.
For basic Direct3D
acceleration to work in Windows XP guests, you have to install the Guest Additions in
“Safe Mode”, see chapter 14, Known limitations, page 269 for details.
So it makes sense that you won't be offered the question. If 3D is enabled then I'd expect the WDDM driver to be installed. That clearly isn't the case, since the vendor string shows you are still using the basic OpenGL support built into the Windows OS since XP days.

What version of Windows 10 is it? Also what is the origin of this VM, e.g. was it an upgrade from an older Windows that already had the GAs installed?

Just found this in the manual too, I don't know if it's still current - but it must be said that I'd already noted without mentioning it that OpenGL 3.0 is itself quite old. My current Win10 host with NVidia drivers is on OpenGL 4.5.0:
User Manual - Change Log - 4.3.22 wrote: Windows Additions: prevent VBox WDDM driver from loading if host reports weak OpenGL
capabilities. 3D content now can be shown over Remote Desktop connection.
I also found this, but surely this is just an oversight (manual not updated), because Win8 and later is AFAIK almost unusable without WDDM drivers.
User manual section 4.5.1 wrote: 1. It is only available for certain Windows, Linux and Solaris guests. In particular:
• 3D acceleration with Windows guests requires Windows 2000, Windows XP, Vista or
Windows 7. Both OpenGL and Direct3D 8/9 (not with Windows 2000) are supported
(experimental).
mpack
Site Moderator
Posts: 39156
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: How to get OpenGL 2.0 (3.0) available on windows 10 guest ?

Post by mpack »

Please try this. Uninstall the Guest Additions completely. Even better, after installation go into the registry and check for references to the GAs. Don't do this if you're not confident, as we don't want you deleting references to the VBox hard disk etc.

Then shut down the VM. Make sure 3D acceleration is enabled in the guest settings (let me know if either 2D or 3D is grayed). Then launch the VM again, boot normally and reinstall the GAs as you would any other app - no messing with safe mode. Then check the OpenGL vendor again.
mpack
Site Moderator
Posts: 39156
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: How to get OpenGL 2.0 (3.0) available on windows 10 guest ?

Post by mpack »

Hmm. I just tried my own advice (I dont normally enable 3D acceleration in any guests). What I found is that OpenGL was still at 1.1, Microsoft Corporation. However DxDiag reported Oracle DirectX drivers, so the WDDM drivers did get installed. So it looks like only the DirectX support is being installed, not OpenGL. Maybe that clip from the manual implying that the feature terminated with Win7 may not be just an oversight. I'm going to ask for clarification.
mpack
Site Moderator
Posts: 39156
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: How to get OpenGL 2.0 (3.0) available on windows 10 guest ?

Post by mpack »

Well, I'm afraid that the news from the devs is not good. Apparantly back in 4.2.0 it was discovered that OpenGL support in Windows 8+ was broken, so it was switched off pending an investigation - which has never happened.

The only way to get OpenGL 2.1 in a Windows guest is to install basic 3D (not WDDM), in safe mode, in an XP, Vista or Win7 guest. There is no other way to get accelerated OpenGL of any description.

Bugtracker ticket 12048 was the original report of the problem. On that ticket a user has contributed a patch for the GAs installer, but nobody has tested it. I may try to find time myself - but if anyone else has the time then that would be great too.
srb
Posts: 4
Joined: 20. Jul 2017, 18:47

Re: How to get OpenGL 2.0 (3.0) available on windows 10 guest ?

Post by srb »

Thanks so much for the time to dig so deep into the issue. Greatly appreciated.

I'll follow up on the bugtracker and see what I can test/contribute if anything.
jcotton
Posts: 1
Joined: 15. Aug 2017, 04:55

Re: How to get OpenGL 2.0 (3.0) available on windows 10 guest ?

Post by jcotton »

Thank you for the detail, partial fix and sad conclusion. I did everything here before finding the ticket and greatly appreciate discovering a confirmation.
My host is Manjaro (Arch) 64bit with a Radeon 7770 card on the latest Mesa drivers running VirtualBox 5.1.26.

Trimmed GPU details on the host:

Code: Select all

$ glxinfo | grep "OpenGL"
OpenGL renderer string: Gallium 0.4 on AMD CAPE VERDE (DRM 2.50.0 / 4.12.4-2-MANJARO, LLVM 4.0.1)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.1.5
OpenGL core profile shading language version string: 4.50
OpenGL version string: 3.0 Mesa 17.1.5
OpenGL shading language version string: 1.30
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 17.1.5
Before adding the registry hack from Ticket 12048, GPU Caps Viewer in the Windows10 64bit guest was reporting:

Code: Select all

VirtualBox Graphics Adapater for Windows 8+  v5.1.26
OpenGL 1.1 (GDI Generic)
After the registry hack, GPU Caps Viewer reports:

Code: Select all

OpenGL 2.1 (Chromium with 80 ext.)
Curious if that really would provide 2.1 capabilities. However, my software needs OpenGL 3.3+ and it still won't run.
Tazling
Posts: 4
Joined: 5. Dec 2017, 07:30

Re: How to get OpenGL 2.0 (3.0) available on windows 10 guest ?

Post by Tazling »

I think I just hit the same brick wall. Host: OSX El Cap 10.11.6 Guest: Windows 10

I am unable to run the Blender app in Windows environment because "no 3d acceleration / no OpenGL 2.1" (wtte). I did enable 3d acceleration in VM settings but it doesn't seem to help.

Is this a dead end, i.e. is there no way to get around this limitation? It's a bit of a body blow because the whole reason I built a VM was to run Blender in a Windows environment (to get access to some Blender tools that are, alas, Windows only). It sounds from the discussion so far as if this is hopeless at present, and I might as well just give up and resign myself to dedicating a separate hw platform to Windows (argh). Having no advanced/3d graphics support is quite disappointing (when I have a perfectly good GeForce GTX 970 installed).

Code: Select all

OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce GTX 970 OpenGL Engine
OpenGL version string: 2.1 NVIDIA-10.11.14 346.03.15f06
OpenGL shading language version string: 1.20
socratis
Site Moderator
Posts: 27330
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: How to get OpenGL 2.0 (3.0) available on windows 10 guest ?

Post by socratis »

Tazling wrote: Having no advanced/3d graphics support is quite disappointing
User contributions to the code have never been denied as far as I know. The paying customers that keep this project going don't seem to have too many 3D OpenGL requirements, otherwise they would have spoken with their wallets. The rest of us "commoners" can only hope. Or, as I said, contribute the missing code...
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
Locked