问题:
我创建了一个 Unity 游戏,用作汽车的信息娱乐系统。由于“游戏”将显示在汽车的仪表盘上,我希望它能够尽快启动,无需任何欢迎界面或参考底层操作系统。只需简单启动即可直接进入游戏。
为了做到这一点,我在 SSD 上安装了最新的最小 ubuntu 版本。我知道我必须安装一些附加软件包或启动一些图形模式才能开始游戏,但我仍然不知道它们是什么......你能帮助我吗?
我做了什么:
1:在 Linux Runt 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
它打印:
Set current directory to /home/crx/game
Found path: /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'
Preloaded 'ScreenSelector.so'
Logging to /home/crx/.config/unity3d/DefaultCompany/GAME/Player.log
它一直保持这种状态直到我按 Ctrl+Z 键。
当我打开 Player.log 时,它里面只有以下内容:
Desktop is 0 x 0 @ 0 Hz
所以我运行 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!!!!!!!!
我认为我必须使用 xinit 或其他程序启动 X,然后在服务器启动时运行游戏。但就是这样吗?如果是这样...我该怎么做?非常感谢。
答案1
我找到了我所缺少的东西...为了运行游戏,只需要运行 X 会话并指定游戏可执行文件的位置。
就我而言:
sudo xinit ~/game/game.x86_64
希望这能帮助遇到同样问题的人。
显然,为了让游戏在 ubuntu minimal 中运行,Unity3d 唯一需要的是:
gtk
x server