Setup info
Host PC - Windows 10 Pro 14393.222
Guest PC in Hyper-V - Windows 10 Pro 14393.222 with RemoteFX 3D Video Adapter
running on NVIDIA GeForce GTX 970
with inside Display driver
Visual Studio 2015 Update 3
MonoGame version 3.5.1
Why?
I am trying to develop in VM so I don’t bloat my main PC with VS and other dev stuff.
Our one DirectX project works there fine. I try to port it to MonoGame. I want it to be cross-platform.
What?
So I tried Creating project from template “MonoGame Cross Platform Desktop Project”.
When I try to run it it gives me PlatformNotSupportedException
So I was sceptical if the 3D GPU is correctly virtualized and after some reinstalls and so on I realized that it might be working correctly, but MonoGame or OpenGL rendering could be at fault.
So I tried to create “MonoGame Windows Project” and it runs fine
Questions
Any ideas why is it giving this to me?
Could it be bad OpenGL support for this virtualized device? Or could it be MonoGame?
This could be tested with some precompiled OpenGL project not running on MonoGame. Anybody has some for the test?
Also here is Exception Details:
System.PlatformNotSupportedException was unhandled
HResult=-2146233031
Message=MonoGame requires either ARB_framebuffer_object or EXT_framebuffer_object.Try updating your graphics drivers.
Source=MonoGame.Framework
StackTrace:
at Microsoft.Xna.Framework.Graphics.GraphicsDevice.PlatformInitialize()
at Microsoft.Xna.Framework.Graphics.GraphicsDevice.Initialize()
at Microsoft.Xna.Framework.Graphics.GraphicsDevice..ctor(GraphicsAdapter adapter, GraphicsProfile graphicsProfile, PresentationParameters presentationParameters)
at Microsoft.Xna.Framework.GraphicsDeviceManager.Initialize()
at Microsoft.Xna.Framework.GraphicsDeviceManager.CreateDevice()
at Microsoft.Xna.Framework.GamePlatform.BeforeInitialize()
at Microsoft.Xna.Framework.Game.DoInitialize()
at Microsoft.Xna.Framework.Game.Run(GameRunBehavior runBehavior)
at Microsoft.Xna.Framework.Game.Run()
at TestWinGL.Program.Main() in C:\dev\MonoGame\TestWinDX\TestWinGL\Program.cs:line 17
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException: