Вопрос или проблема
Проблема:
Я создал игру на Unity, которая будет работать как информационно-развлекательная система для автомобиля. Поскольку “игра” будет отображаться на приборной панели автомобиля, я хочу, чтобы она загружалась как можно быстрее, без приветственного экрана и упоминания о базовой операционной системе. Просто простая загрузка прямо в игру.
Для этого я установил на SSD последнюю минимальную версию Ubuntu. Я понимаю, что мне нужно установить некоторые дополнительные пакеты или запустить некоторые графические режимы, чтобы запустить мою игру, но я все еще не понял, какие именно… Можете мне помочь?
Что я сделал:
1: В Linux выполнил LDD для всех исполняемых файлов, которые смог найти:
game.x86_64
game_Data/Plugins/x86_64/ScreenSelector.so
game_Data/Mono/x86_64/libMonoPosixHelper.so
game_Data/Mono/x86_64/libmono.so
Из этих файлов только ScreenSelector.so ссылался на библиотеки, которых у меня не было:
libgtk-x11-2.0.so.0
libgdk-x11-2.0.so.0
Поэтому я установил:
sudo apt-get install libgtk2.0-0
2: Я запускаю игру:
./game.x86_64
она выводит:
Установлен текущий каталог: /home/crx/game
Найден путь: /home/crx/game/game.x86_64
Mono path[0] = '/home/crx/game/game_Data/Managed'
Mono config path="/home/crx/game/game_Data/Mono/etc"
Предзагрузка 'ScreenSelector.so'
Запись в /home/crx/.config/unity3d/DefaultCompany/GAME/Player.log
и остается в этом состоянии, пока я не нажму Ctrl+Z.
Когда я открываю Player.log, в нем содержится следующее:
Экран 0 x 0 @ 0 Гц
Поэтому я выполнил glxinfo, и он сказал “не удается открыть дисплей”
Тогда я решил установить X-сервер:
sudo apt-get install xserver-xorg-video-dummy xserver-xorg-input-void
xserver-xorg-core xinit x11-xserver-utils xorg
Но это все равно не сработало…
А когда я пытаюсь запустить напрямую screenselector.so, он просто выводит
CORE DUMP!!!!!!!!
Я считаю, что мне нужно запустить X с помощью xinit или что-то подобное, и пока сервер работает, запустить игру. Но это все? Если да, то… как я могу это сделать? Большое спасибо.
Я нашел, чего мне не хватало… Чтобы запустить игру, нужно только запустить сессию X, указав местоположение исполняемого файла игры.
В моем случае:
sudo xinit ~/game/game.x86_64
Надеюсь, это поможет кому-то с такой же проблемой.
По-видимому, единственные вещи, которые требуется Unity3d для запуска игры на минимальной версии Ubuntu, это:
gtk
x server
Ответ или решение
Как запустить Unity3D игру на минимальной версии Linux
Введение
При разработке игр для систем, таких как автомобильные информационно-развлекательные системы, важным аспектом является быстрая загрузка и минимизация вмешательства пользователя. В этом руководстве мы детализируем шаги по настройке минимальной версии Ubuntu для успешного запуска Unity3D игры.
Проблема
Вы столкнулись с задачей: загрузить игру, разработанную в Unity3D, без отображения графического интерфейса операционной системы, что требует настройки дополнительных компонентов и графических режимов.
Шаги по установке необходимых пакетов
-
Установка библиотек GTK: Unity3D находит зависимости, такие как
libgtk-x11-2.0.so.0
иlibgdk-x11-2.0.so.0
:sudo apt-get install libgtk2.0-0
-
Установка X-сервера: Unity требует графическое окружение для работы. Мы устанавливаем необходимые пакеты:
sudo apt-get install xserver-xorg-video-dummy xserver-xorg-input-void xserver-xorg-core xinit x11-xserver-utils
Запуск Unity3D игры
Следующим шагом является запуск вашего Unity3D приложения с помощью X-сессии. Выполните следующую команду, которая инициализирует X-сервер и запускает вашу игру:
sudo xinit ~/game/game.x86_64
Описание компонентов
-
GTK: Это библиотека, обеспечивающая графический интерфейс и необходимые для работы приложения компоненты.
-
X-сервер: Графическая подсистема, необходимая для работы приложений, использующих графику.
Решение проблемы подключения к дисплею
Если все настроено правильно, но вы все еще получаете сообщение "unable to open display", убедитесь, что:
- Вы запускаете X-сервер и приложение через одну команду.
- Нет конфликтов других X-сессий.
Заключение
Вы успешно настроили минимальную систему Ubuntu для запуска игры, разработанной с использованием Unity3D. Убедитесь, что все пакеты установлены корректно, и используйте команду xinit
для запуска приложения. Надеюсь, данное руководство оказалось полезным для вас в разработке и интеграции вашего информационного развлекательного решения для автомобилей.
SEO Оптимизация
Включение ключевых слов, таких как "запуск Unity3D на Linux", "настройка минимального Ubuntu", "X-сервер для Unity3D", поможет улучшить видимость вашей информации для заинтересованных разработчиков и пользователей.