Assertion failed: GRHIVendorId != 0

I’m getting a GRHI vendor Id assertion failed when I try to run a Windows packaged project in a machine with a non NVIDIA graphics card.

  • The display adapter is recognized in the Device Manager.

  • In DirectX mode I’m able to run although at a low frame rate.

  • I’m getting this problem with as simple project as the C++ Blank Project.

  • The machine is a Surface 3 with an integrated Intel graphics card running Windows 10.

    Assertion failed: GRHIVendorId != 0 [File: … \Source\Runtime\RHI\Private\RHI.cpp][Line: 402]

Is this setup not supported?

It appears this was caused by an engine bug:

https://answers.unrealengine.com/questions/323671/opengl-intel-integrated-graphics-card.html

See suggested fix at:

https://github.com/EpicGames/UnrealEngine/pull/1697

I’m having the same problem, but on a Linux instance "Ubuntu 16.04" with "Unreal 4.17.2".

The error message is:

"Assertion failed: GRHIVendorId != 0 [File:/home/rubenalves/unreal/UnrealEngine-4.17.2-release/Engine/Source/Runtime/RHI/Private/RHI.cpp] [Line: 547]"

If I run "glxinfo | grep version" on the Linux computer I have the following output:

server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
    Max core profile version: 3.3
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.0
OpenGL core profile version string: 3.3 (Core Profile) Mesa 17.0.7
OpenGL core profile shading language version string: 3.30
OpenGL version string: 3.0 Mesa 17.0.7
OpenGL shading language version string: 1.30
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 17.0.7
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

I’ve checked the "Engine/Source/Runtime/OpenGLDrv/Private/OpenGLDrv.cpp" file and the change that should fix the error is there, so, maybe it’s another error?