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

本文详细介绍了如何在Nvidia Jetson设备上安装Vulkan并利用它来编译并运行经典游戏DOOM3BFG,包括必要的软件配置和补丁应用步骤。适合开发者和爱好者体验边玩边学习的实时图形API。

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 帧。(说明有显卡确实可以为所欲为)

### 文件传输与安装指南 在使用Jetson Nano时,将下载的 `.deb` 文件传输到设备并进行安装是一个常见的需求。以下是详细的步骤说明: #### 传输文件到Jetson Nano 1. **通过USB存储设备传输** 将 `.deb` 文件保存到U盘或移动硬盘中,然后将其插入Jetson Nano的USB接口。Jetson Nano通常会自动挂载设备,可以通过以下命令查看挂载点: ```bash ls /media/ ``` 找到对应的挂载目录后,进入该目录并复制文件到本地存储中: ```bash cp /media/<用户名>/<设备名>/filename.deb ~/ ``` 2. **通过网络传输** 如果Jetson Nano和电脑处于同一局域网中,可以通过 `scp` 命令传输文件。例如,从电脑传输到Jetson Nano: ```bash scp filename.deb <用户名>@<Jetson_Nano_IP>:/home/<用户名>/ ``` 其中 `<用户名>` 是Jetson Nano上的用户名称,`<Jetson_Nano_IP>` 是Jetson Nano的IP地址。 3. **直接下载到Jetson Nano** 如果文件托管在某个网站上,可以直接使用 `wget` 或 `curl` 下载到Jetson Nano: ```bash wget http://example.com/filename.deb ``` #### 安装 `.deb` 文件 完成文件传输后,可以使用 `dpkg` 命令进行安装: ```bash sudo dpkg -i filename.deb ``` 如果安装过程中提示依赖问题,可以通过以下命令修复: ```bash sudo apt --fix-broken install ``` ### 常见问题与注意事项 - **文件权限问题** 确保文件具有正确的读取权限。如果需要,可以使用以下命令修改权限: ```bash chmod +r filename.deb ``` - **系统架构兼容性** Jetson Nano基于ARM架构,因此需要确保下载的 `.deb` 文件是为ARM平台编译的。如果文件是为x86架构编译的,则无法正常安装。 - **依赖关系** 如果 `.deb` 文件依赖于其他软件包,可能需要手动安装这些依赖项。可以通过以下命令查看文件的依赖信息: ```bash dpkg -I filename.deb ``` #### 示例:安装一个 `.deb` 包 ```bash # 传输文件到Jetson Nano scp package.deb user@192.168.1.100:/home/user/ # 登录到Jetson Nano ssh user@192.168.1.100 # 安装包 sudo dpkg -i package.deb # 修复依赖问题(如有必要) sudo apt --fix-broken install ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值