Ich habe ein Programm, das ich in einer virtuellen Maschine (nicht auf meinem Host) ausführen möchte, das aber ohne OpenGL 3.3 überhaupt nicht ausgeführt werden kann. Ich möchte dieses Programm ausführen können, ohne dass es sofort abstürzt (auch wenn die Leistung nicht so toll ist). Gibt es eine Möglichkeit, OpenGL 3.3 in Virtualbox zum Laufen zu bringen? Wenn nicht, gibt es eine Möglichkeit, OpenGL 3.3 in der virtuellen Maschine zu emulieren, damit das Programm denkt, es sei installiert? Oder gibt es eine andere Möglichkeit, dieses Programm zum Laufen zu bringen?Wenn das so ist, wie?
Mein Host ist Windows 10 und der Gast ist Windows 10. Ich verwende Virtualbox 5.2.16. Dies ist der Fehler, den ich erhalte, wenn ich versuche, das Programm in einer VM auszuführen:
Ich suche einfach nach einem Weg, das zu überwinden und bin für alle Vorschläge offen.
Antwort1
Sie können eine Mesa3D OpenGL DLL neben dem Programm installieren, das Sie ausführen möchten, und erhalten dadurch OpenGL 3-Unterstützung. Dies ist jedoch ein Software-Renderer. Wie nützlich er ist, hängt also stark davon ab, was Sie damit tun möchten. Wenn es sich um etwas handelt, das anspruchsvolle 3D-Rendering-Anforderungen hat, wird es nicht nützlich sein. Wenn es sich um etwas handelt, das sehr geringe Rendering-Anforderungen hat und zufällig die OpenGL 3-API verwendet, wird es wahrscheinlich recht gut funktionieren.
Antwort2
Ich bin nicht sicher, ob Sie Ihr Problem bereits gelöst haben, da es noch kein Update gibtAberIch habe das für mich selbst behoben, indem ich einige spezielle Umgebungsvariablen im Gast verwendet habe, um meine eigene OpenGL 3.3-Binärdatei auszuführen.
Versuchen Sie Folgendes im Gastmodus:
LIBGL_ALWAYS_SOFTWARE=true GALLIUM_DRIVER=llvmpipe YourProgramHere
Referenz:https://docs.mesa3d.org/envvars.html