
你有没有想过:没有显卡,能不能跑3D游戏?很多人对“跑游戏”这件事的默认认知是——CPU+GPU+内存,一套完整PC架构才行。
但如果我告诉你:一块没有独立显卡的开发板,跑起了1996年的经典3D游戏《雷神之锤(Quake)》,而且还是——原生移植,不是模拟器。你可能会觉得有点离谱,但它确实发生了。
这次的主角,是来自启明云端的 WT99P4C5-S1 开发板。它的配置很“嵌入式”,但玩法却很“PC级”:
ESP32-P4主控负责算力与显示
ESP32-C5 负责无线能力
支持 MIPI 屏、USB Host、网口、SD 卡、音频输出
完整外设扩展能力
简单说:它不是一块“玩具板”,而是一块能跑系统、能跑应用、还能折腾极限性能的开发平台。

而这一次,它被用来干了一件“看起来不太合理”的事:跑通《雷神之锤》。设备上电后,系统自动完成整套流程:
自动挂载 SD 卡
初始化显示与音频
启动网络与输入系统
直接加载游戏引擎
随后,1024×600的MIPI屏直接进入《雷神之锤》画面。插上 USB 键盘鼠标:移动、转向、射击——一气呵成。没有卡顿,没有延迟错位,体验甚至接近当年 PC 端。

更夸张的是:游戏数据全部来自 SD 卡、包含地图、贴图、音效
,连 CD 原声音乐都完整还原。甚至解析了GOG版本的.cue/.bin镜像文件,把背景音乐实时播放出来,与游戏音效混音输出。那个“90年代的味道”,一下就回来了。

显示系统:
从320×200到1024×600
原生 8-bit 色彩转换 RGB565
PPA硬件加速缩放
双缓冲 + DMA刷新

音频系统:
不仅能响,还要有“味道”
ES8311 44.1kHz立体声输出
CD音轨解析模块独立开发
游戏音效 + 背景音乐实时混音输出

输入系统:
USB Host直连键鼠
键盘鼠标报文解析
映射雷神之锤键码体系
即插即用,低延迟控制

这次项目的关键,不是“跑起来”,而是“怎么跑起来”。核心思路是引入quakegeneric跨平台移植层,把游戏逻辑与底层硬件解耦:
整体架构分四层:
BSP层:管理所有硬件
驱动层:显示/输入/音频模块化封装
quakegeneric层:负责游戏逻辑与渲染接口
应用层:main.c 独立任务循环驱动引擎 Tick
简单说就是:游戏不管硬件,硬件只负责“把能力交出来”。
三十年前,《雷神之锤》定义了第一代3D游戏的想象力。三十年后,它被塞进了一块没有显卡的开发板里重新运行。不是为了复刻情怀,也不是为了“炫技”。只是为了验证一件事:当硬件能力被重新组织后,经典软件依然可以在全新的载体上活过来。
这个项目已经开源,公众号后台回复P4C5游戏终端获取项目源码。如果你对嵌入式开发、游戏移植、或ESP32-P4C5生态感兴趣,它会是一个很有意思的起点。














