|
|
|
@ -556,10 +556,8 @@ same can be also specified via via @ref Configuration::setCudaDevice(). |
|
|
|
|
|
|
|
|
|
|
|
@par No EGL devices found |
|
|
|
@par No EGL devices found |
|
|
|
@parblock |
|
|
|
@parblock |
|
|
|
Systems running Mesa 19.2 (which has the above extensions) that also have |
|
|
|
With GLVND versions 1.3.2 and older, EGL context creation may fail with the |
|
|
|
`libEGL_nvidia.so` installed (for example as a CUDA dependency) may fail |
|
|
|
following error (with additional output produced when the `--magnum-gpu-validation` |
|
|
|
to create the context with the following error (with additional output |
|
|
|
|
|
|
|
produced when the `--magnum-gpu-validation` |
|
|
|
|
|
|
|
@ref GL-Context-usage-command-line "command-line option" is enabled): |
|
|
|
@ref GL-Context-usage-command-line "command-line option" is enabled): |
|
|
|
|
|
|
|
|
|
|
|
@m_class{m-console-wrap} |
|
|
|
@m_class{m-console-wrap} |
|
|
|
@ -570,12 +568,15 @@ eglQueryDevicesEXT(): EGL_BAD_ALLOC error: In function eglQueryDevicesEXT(), bac |
|
|
|
Platform::WindowlessEglApplication::tryCreateContext(): no EGL devices found |
|
|
|
Platform::WindowlessEglApplication::tryCreateContext(): no EGL devices found |
|
|
|
@endcode |
|
|
|
@endcode |
|
|
|
|
|
|
|
|
|
|
|
This is due to the NVidia's EGL implementation failing to enumerate devices |
|
|
|
This is due to some driver implementations failing to enumerate devices (for |
|
|
|
(because there aren't any), which then causes the GLVND wrapper to stop |
|
|
|
example when the system has NVidia drivers installed as a dependency of CUDA |
|
|
|
instead of enumerating the Mesa devices as well. The solution is |
|
|
|
but there actually isn't any NVidia card) and the GLVND treats that as a fatal |
|
|
|
whitelisting all EGL implementations except the NVidia one |
|
|
|
error. This is [fixed in version 1.3.3](https://github.com/NVIDIA/libglvnd/commit/a527411da713b2068974c46d7129326520dc5923)
|
|
|
|
<a href="https://github.com/NVIDIA/libglvnd/blob/master/src/EGL/icd_enumeration.md">as described in the libglvnd documentation</a> |
|
|
|
where it just skips that particular vendor and continues. A workaround on older |
|
|
|
using the `__EGL_VENDOR_LIBRARY_FILENAMES` environment variable, for example: |
|
|
|
versions might be filtering out the bad devices manually using the |
|
|
|
|
|
|
|
`__EGL_VENDOR_LIBRARY_FILENAMES` environment variable |
|
|
|
|
|
|
|
<a href="https://github.com/NVIDIA/libglvnd/blob/master/src/EGL/icd_enumeration.md">as described in the libglvnd documentation</a>, for |
|
|
|
|
|
|
|
example: |
|
|
|
|
|
|
|
|
|
|
|
@m_class{m-console-wrap} |
|
|
|
@m_class{m-console-wrap} |
|
|
|
|
|
|
|
|
|
|
|
|