On the Embedded Linux player, Unity uses SDL2 to handle keyboard, mouse, and gamepad input to interact with the Player window. Depending on the graphics API used, it requires SDL to dynamically load libEGL
and libGLESv2
for OpenGL ES, or libvulkan
for Vulkan from the user space.
Although this setup assumes that you’re using weston (the reference Wayland server), you can use the same setup with slight modifications for another compositor.
This assumes that you have a Wayland compositor (weston) running, which exports the wayland socket in the directory that the environment variable XDG_RUNTIME_DIR
is linked to.
To deploy your project on desktop shell:
XDG_RUNTIME_DIR
is set to the correct directory. If not, then run export XDG_RUNTIME_DIR=/run/user/1000/
with the correct directory (/run/user/1000/
is the default for a weston installation).By default, Unity creates surfaces of the same size as the physical displays. If you want to use surfaces other than physical displays, such as rendering multiple surfaces to one screen, use UNITY_IVI_EXPORT_DISPLAYS
as the environment variable.
For example, with the setting export
UNITY_IVI_EXPORT_DISPLAYS=1024x768@60,1920x1080@60
Unity uses a surface size of 1024x768 for Unity Display 1, and a surface size of 1920x1080 for Unity Display 2.
You can omit @60
and use export UNITY_IVI_EXPORT_DISPLAYS=1024x768,1920x1080
because @60
is automatically assumed.