JETSON 也能摸起来——偷偷打会儿 DOOM 吧 :)

JETSON 也能摸起来——偷偷打会儿 DOOM 吧 :)

本文将展示如何在你的 Nvidia Jetson 设备上安装 DOOM3 BFG

注意:本项目最好需要将您的 Jetson 设备刷至 JetPack 4.4 及以上版本以获得更好的支持

编译安装 Vulkan

在 Jetson 设备上 DOOM 需要图形 API,所以我们需要先安装一下 Vulkan

Vulkan 的 GitHub 地址:https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers

Linux 下编译安装 Vulkan 命令

Install vulkan header
$ git clone https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers.git
$ sudo cp -r Vulkan-LoaderAndValidationLayers/include/vulkan /usr/include/
$ sudo apt-get install git cmake build-essential libx11-xcb-dev libxkbcommon-dev libmirclient-dev libwayland-dev libxrandr-dev
$ cd Vulkan-LoaderAndValidationLayers
$ ./update_external_sources.sh
$ mkdir build
$ cd build
$ cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Debug -DDEMOS_WSI_SELECTION=XLIB
$ make
$ sudo make install

注意:GitHub 下载有点慢,可以尝试使用 gitee 加速下载噢(教程可以 点击这里

安装后输入 vulkaninfo | grep xlib 确认一下

$ vulkaninfo | grep xlib
VK_KHR_xlib_surface                 : extension revision  6

如果显示如上那基本没什么问题了

还可以跑一下 build/demos 里的 vulkaninfo 和 smoketest,如果都能跑那基本没什么问题了

编译安装 DOOM3 BFG

项目的 GitHub 地址:https://github.com/mrcmunir/RBDOOM-3-BFG

安装依赖

sudo apt-get install cmake libsdl2-dev libopenal-dev

拷贝项目

git clone https://github.com/mrcmunir/RBDOOM-3-BFG

注意:在编译之前我们需要手动打一个补丁,不然有可能会出现如下错误

----- Initializing Vulkan driver -----
Creating Vulkan Instance...
Sys_Error: Error while creating Vulkan surface: VK_KHR_xlib_surface extension is not enabled in the Vulkan instance.

进入 neo 文件夹,找到 sys/sdl/sdl_vkimp.cpp 这个文件并打开

找到如下位置

std::vector<const char*> get_required_extensions( const std::vector<const char*>
 	sdlInstanceExtensions.resize( sdlCount );
 	SDL_Vulkan_GetInstanceExtensions( nullptr, &sdlCount, sdlInstanceExtensions.data() );
 
 	if( enableValidationLayers )
 	{
 		idLib::Printf( "\nNumber of availiable instance extensions\t%i\n", sdlCount );

在这里插入图片描述
添加如下两行代码

sdlInstanceExtensions.push_back( "VK_KHR_surface" );
sdlInstanceExtensions.push_back( "VK_KHR_xlib_surface" );

添加位置如下

std::vector<const char*> get_required_extensions( const std::vector<const char*>
 	sdlInstanceExtensions.resize( sdlCount );
 	SDL_Vulkan_GetInstanceExtensions( nullptr, &sdlCount, sdlInstanceExtensions.data() );
 
	// I have no idea why this part doesn't get added to the list :(
	sdlInstanceExtensions.push_back( "VK_KHR_surface" );
	sdlInstanceExtensions.push_back( "VK_KHR_xlib_surface" );
	
 	if( enableValidationLayers )
 	{
 		idLib::Printf( "\nNumber of availiable instance extensions\t%i\n", sdlCount );

回到 neo 文件夹,执行脚本 cmake-linux-nvidia-jetson-vulkan-release.sh

./cmake-linux-nvidia-jetson-vulkan-release.sh

进入 build 文件夹,编译

cd ../build 
make

安装完成后,还需要添加游戏 base 文件夹

用官方的原话:To play the game, you need the game data from a legal copy of the game.

所以,支持正版童鞋,强烈推荐在 GOG 或者 Stream 先买一份正版,再把游戏主目录内的 base 文件夹添加到 build 文件夹内

想省点钱的童鞋,我这有一份三大妈版的网盘链接,最关键的是这里还做了汉化(坏笑)

链接:https://pan.baidu.com/s/1SRbGiMgCeX-P6Vfu6lBPnQ
提取码:762p

将 base 文件夹拷贝到编译好的 build 文件夹后,打开终端运行 RBDoom3BFG

在这里插入图片描述
等灯等灯!!!是时候杀穿地狱了:)

在这里插入图片描述
如果想追求更高性能,使用以下命令进入最高性能模式

$ sudo nvpmodel -m 0
$ sudo jetson_clocks

以 Jetson nano 为例,在没有大量敌人或者复杂光影的情况下, 4K 分辨率下大概能有 20 帧或者 15 帧,在 1080p 分辨率下,大概能有 45 到 60 帧。(说明有显卡确实可以为所欲为)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值