Развертывание встроенного проекта Linux
О встроенных системах Linux игрок, Unity использования SDL2 для обработки ввода с помощью клавиатуры, мыши и контроллера для взаимодействия с окном проигрывателя. В зависимости от графики API используется, он требует SDL динамически загружать libEGL и libGLESv2 для OpenGL ES, или libvulkan для Vulkan из пользовательского пространства.
Настройка Уэйленд
Хотя эта настройка предполагает, что вы используете Weston (эталонный сервер Wayland), вы можете использовать ту же настройку с небольшими изменениями для другого композитора.
Предварительные условия
Это предполагает, что у вас запущен компилятор Wayland (Weston), который экспортирует сокет Wayland в каталог, к которому связана переменная среды XDG_RUNTIME_DIR.
Настройка на рабочем столе
Для развертывания проекта в рабочей оболочке:
- Убедитесь, что переменная среды
XDG_RUNTIME_DIRустановлена в правильном каталоге. Если нет, то запуститеexport XDG_RUNTIME_DIR=<dir>с правильным каталогом (/run/user/1000/является стандартным каталогом для установки Weston). - Запустить Unity Player.
Настройка на расширение IVI-shell
Вы можете развернуть свой проект, используя расширение IVI-shell, которое является альтернативным расширением оболочки для Weston.
Настройте поверхность IVI Surface IDs, которую Unity Player должен использовать с переменной среды
UNITY_IVI_SURFACE_IDS. Если это не установлено, то Unity Player использует ID4711и выше для вновь созданных поверхностей (например, Unity Display 1 будет использовать 4711, Unity Display 2 будет использовать 4712 и т.д.).Примечание: Переменная среды ожидает разделенный запятыми список IDs. Например,
export UNITY_IVI_SURFACE_IDS=100,200,300 uses ID100для Unity Дисплей 1,200для Unity Дисплей 2 и т.д.Если вы используете только один выход дисплея, один ID достаточно. Например, экспорт
UNITY_IVI_SURFACE_IDS=100.Убедитесь, что переменная окружающей среды
XDG_RUNTIME_DIRустановлена в правильном каталоге. Если это не установлено, запуститеexport XDG_RUNTIME_DIR=<dir>с правильным каталогом (/run/user/1000/по умолчанию для установки Weston).Запустите проигрыватель Unity.
-
Используйте следующие действия, чтобы настроить поверхность IVI для Unity (например, поверхность
westonдляfullscreen map).-
Создать слой IVI.
LayerManagerControl create layer 0 <display-width> <display-height> -
Добавить слой на экране.
LayerManagerControl set screen 0 render order 0 -
Добавить Unity поверхность игрока на слой.
LayerManagerControl set layer 0 render order <surface-id> -
Добавить регион источника поверхности.
LayerManagerControl set surface <surface-id> source region 0 0 <display-width> <display-height> -
Добавить область назначения поверхности.
LayerManagerControl set surface <surface-id> destination region 0 0 <display-width> <display-height> -
Добавить видимость слоя.
LayerManagerControl set layer 0 visibility 1 -
Добавить видимость поверхности.
LayerManagerControl set surface <surface-id> visibility 1
-
Unity Игрок появляется на экране.
Дополнительная информация
По умолчанию Unity создает поверхности того же размера, что и физические дисплеи. Если вы хотите использовать поверхности, отличные от физических дисплеев, например, отображать несколько поверхностей на одном экране, используйте UNITY_IVI_EXPORT_DISPLAYS в качестве переменной среды.
Например, при настройке export UNITY_IVI_EXPORT_DISPLAYS=1024x768@60,1920x1080@60 Unity использует размер поверхности 1024x768 для Unity Дисплей 1, и размер поверхности 1920x1080 для Unity Дисплей 2.
Вы можете опустить @60 и использовать export UNITY_IVI_EXPORT_DISPLAYS=1024x768,1920x1080, так как @60 автоматически предполагается.