6

I have a program that I would like to run in a virtual machine (not on my host), but it entirely refuses to run without opengl 3.3. I would like to be able to run this program without it crashing immediately (even if performance isn't great). Is there some way to get opengl 3.3 to work in Virtualbox? If not, is there some way to emulate opengl 3.3 in the virtual machine to get the program to think that it's installed? Or is there any other way to get this program to run? If so, how?

My host is Windows 10 and the guest is Windows 10. I'm using Virtualbox 5.2.16. This is the error I'm getting when I try to run the program in a VM: enter image description here

I'm just looking for any way to get past this and am open to all suggestions.

joejoejoejoe4
  • 1,438
  • 9
  • 25
  • 48
  • VirtualBox 6.1 doesn’t support OpenGL 3.3; VirtualBox 5.2 doesn’t support it either. The problem is the fact the VirtualBox display driver doesn’t support it. [The appropriate version of VMWare Workstation supports OpenGL 3.3](https://kb.vmware.com/s/article/2139606) – Ramhound Feb 04 '20 at 03:39
  • @Ramhound, do you know if it would be possible to emulate it some way in virtualbox? – joejoejoejoe4 Feb 09 '20 at 08:45
  • You want to emulate OpenGL support, that isn't going to happen, OpenGL required hardware support in addition to software. VirtualBox does not support OpenGL. **There are hypervisors that support it.** I will of course not recommend any specific hypervisor. – Ramhound Feb 09 '20 at 16:01
  • VMSVGA doesn't support OpenGL 3x, VboxSVGA has it's own security flaws, but supports OpenGL 3.x – Eir Nym Apr 26 '20 at 10:36

2 Answers2

3

You can install a Mesa3D OpenGL DLL alongside the program you want to run and this will give you OpenGL 3 support. But this is a software renderer, so how useful it is will depend a lot on what you're trying to do with it. If it's something that has demanding 3D rendering requirements, it will not be useful. If it's something that has very low rendering requirements and just happens to use the OpenGL 3 API, it will probably do quite well.

Tom
  • 535
  • 1
  • 3
  • 15
  • 1
    Thanks. Mesa3D helped me to solve the issue. Here's the link to download. https://fdossena.com/?p=mesa/index.frag – eArmin Nov 17 '21 at 17:31
0

I am not sure you solved your issue already since here is no update yet but I fixed that for myself by using some special environment variables inside the guest to execute my own OpenGL 3.3 binary.

Try this in the guest:

LIBGL_ALWAYS_SOFTWARE=true GALLIUM_DRIVER=llvmpipe YourProgramHere

Reference: https://docs.mesa3d.org/envvars.html

  • Yes, but llvmpipe is a software renderer, so its executed on CPU. If one wants hardware acceleration inside the VirtualBox, the highest possible version so far was OpenGL 2.1. – MarsaPalas Jun 15 '22 at 11:58