Unity 使用 SDL2 处理的 EGL,这需要 SDL 从 graphics.conf file 动态加载 libEGL 和 libGLESv2。Unity 不会解析 conf 文件,而是使用环境变量来定位这些库。
请按照以下说明来部署 QNX。
使用以下方法之一来查找屏幕加载的 graphics.conf 文件:
-c [path/to/graphics.conf] 启动 screen。screen 在 GRAPHICS_ROOT 内的文件夹中自动查找 graphics.conf 文件。确保包含 graphics.conf 的文件夹是 LD_LIBRARY_PATH 的一部分。
在 graphics.conf 中定位 begin egl display 1:
egl-dlls 开头的行应包含 libEGL[-_tag].so,即所需的 libEGL(例如,libEGL_viv.so)。glesv2-dlls 开头的行应包含 libGLESv2[-_tag],即 libGLESv2(例如,libGLESv2_viv.so)。graphics.conf 位于同一文件夹中。如果使用了 ksh,则设置以下环境变量:
SDL_VIDEO_EGL_DRIVER=[name_of_libEGL_in_graphics_conf].so (e.g., run export SDL_VIDEO_EGL_DRIVER=libEGL_viv.so)
SDL_VIDEO_GL_DRIVER=[name_of_libGLESv2_in_graphics_conf].so (e.g., run export SDL_VIDEO_GL_DRIVER=libGLESv2_viv.so)
如果使用的是 sh,则需要通过 Unity 播放器启动来设置环境。例如,run SDL_VIDEO_EGL_DRIVER=libEGL_viv.so SDL_VIDEO_GL_DRIVER=libGLESv2_viv.so ./qnxplayer。
启动 Unity 播放器。