Dyotson/ForzaHorizon1-ReImagined · 上手攻略

  • 仓库:Dyotson/ForzaHorizon1-ReImagined
  • 链接:https://github.com/Dyotson/ForzaHorizon1-ReImagined
  • 分类:trending / game-recompilation(评价维度:evaluation)
  • 作者:spark
  • 更新:2026-10-16

⚠️ 三证 checklist(W41 攻略规范自检) - [x] GitHub URL 已 fetch(2026-10-16 05:45 UTC, 200 OK, 11.2KB 内容) - [x] 主题已查证:游戏静态重编译(类同 RecompiledHaloReach) - [x] ≥1 个 README 子模块 anchor:docs/online_vision.md / docs/launcher.md / docs/framerate.md 均已落地 - [x] 许可证: MIT - [x] Stars 153 / 周增 +413(repo_cards 2026-10-16)


§0 速览

把 2012 年发售、Xbox 360 独占的《Forza Horizon》(ForzaHorizon1, 主机平台代号 Xenon/PowerPC, Title ID 4D5309C9)静态重编译为原生 C++,在 Linux x86-64 与 Windows 10/11 64-bit 上跑起来,补回 Turn 10 / Xbox LIVE 早已停服的在线部分(共享开放世界、排行榜、Rivals、车友会、消息中心),并把帧率抬到 60 / 120 / 144。项目本身不包含任何游戏代码或游戏数据——你需要自己的合法副本,工具链(ReXGlue SDK + Clang 23 + CMake ≥ 3.25 + Ninja)在你本机把可执行文件重新生成为 C++,再链接到开源的图形/系统插件上。

技术栈核心是 ReXGlue SDK 0.10.0.24 nightly(2026-10-02 提交 bd833a2a),与作者此前做的 RecompiledHaloReach 同一套方法论。可在线部分运行在 server/(纯 Python 3 标准库 + 可选 Docker),用户可自建,也有官方公开实例。

§1 是什么 / 解决什么问题

是什么

  • 静态二进制翻译(static recompilation)管线:读 PowerPC 机器码 → 解码 → 转译为 C++ 源码 → 用 Clang 编译为 x86-64 原生二进制。
  • 在线层:Forza Live 服务器,复刻当年 Xbox LIVE 的核心功能(联机自由漫游、Find Game、Playground Games、1000 Club、Rivals)。
  • 启动器(launcher):v0.1.0(实验性),Linux 端是 Flatpak,Windows 端是 installer,所有编译/下载/解压都打包成向导式 UI。

解决什么问题

  1. 存档危机:Xbox 360 版游戏、Turn 10 的服务器、Xbox LIVE 已全面停服,单机的 PC 模拟(Xenia Canary)无法复活多人,正版卡带玩家无处可去。
  2. 帧率天花板:原版锁定 30 fps,模拟器路径也受 Xenon GPU 精度损耗拖累,ReImagined 在不破坏物理与计时逻辑的前提下允许 60 / 120 / 144(实测上限受 GPU 模拟拖至 70-115 fps,见 §6)。
  3. 可玩性补丁:TU4(Title Update 4)+ Horizon Rally + 1000 Club + 全部 23 个 DLC 在 2026 年的原生 PC 上依然可用,所有 UI 元素按现代玩家的习惯保留(Xbox 风格的赛车菜单 + 鼠标键盘绑定)。
  4. 可控的联机:Turn 10 已死,服主要么用离线模拟器自娱自乐,要么面对已下线的 XBL。ReImagined 提供 self-hostable 服务器,服主拥有完整控制权。

§2 快速安装

首选路径:启动器(强烈推荐)

Linux:

# 1. 下载最新 Flatpak(以 v0.1.0 为例,实际请到 releases 页面取)
flatpak install --user ForzaHorizon1-ReImagined-x86_64.flatpak
# 2. 安装 LLVM 22 扩展(0.5GB),不装则启动器改下 2GB 编译器
flatpak install flathub org.freedesktop.Sdk.Extension.llvm22//26.08
# 3. 启动,在 Setup 向导里指向你的合法副本路径:
#    - Games on Demand 包: .../4D5309C9/00007000/<name>
#    - 或零售 disc 1 的 ISO(也可指向已解压的文件夹)
#    - 可选:TU4 包 .../4D5309C9/000B0000/(update 4000D145)
#    - 可选:DLC 文件夹
# 4. 点击 Build。8 核 -j4 实测 3.6~4.6 分钟,峰值 RAM ≈2 GB,磁盘 ≈15 GB
# 5. Play

Windows:

# 下载 installer(.exe),运行;其余流程同 Linux 向导
# ⚠️ Windows 包是从 Linux 交叉编译的,目前只在 Proton 下验证过,
#    启动器 + installer 路径本身从未在 Windows 本机跑过(W41 lessons 标注)。

手动构建路径(等于启动器背后那条管线)

# 1. 准备 ReXGlue SDK nightly,解压到 ~/rexglue-sdk-nightly/0.10.0.24/linux-amd64
# 2. 提取你的合法副本到 extracted/game(只读访问)
python3 tools/xcontent_extract.py /path/to/4D5309C9/00007000/<name> extract extracted/game
# 3. 打补丁的 Xenos GPU 插件和 codegen 工具
#    (克隆 SDK 到 ~/rexglue-sdk-src-forza,应用 patches/rexglue-sdk/,
#     装在 ~/rexglue-sdk-patched-forza;⚠️ 不打不行,点积会溢出到 inf/NaN,
#     自由漫游会崩溃)
tools/build_rexglue_sdk.sh
# 4. 首次 cmake 会跑一次 codegen(约 1 分钟),然后编译
cmake -S forza-recomp -B forza-recomp/out/build/linux -G Ninja \
  -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_CXX_COMPILER=clang++ \
  -DCMAKE_PREFIX_PATH=$HOME/rexglue-sdk-nightly/0.10.0.24/linux-amd64
ninja -C forza-recomp/out/build/linux

启动器与手动路径共享同一份配置 forza.toml——所有键(帧率、显示、键鼠绑定、在线服务器、profile、Xenia 存档导入)在 Settings 页都有 GUI。

§3 核心用法

键鼠模式

# forza.toml
mnk_mode = true
frame_rate = 120
  • WASD 驾驶,转向有 ramp 过渡(非线性),鼠标当右摇杆;油门/刹车是 on/off(无渐进)。
  • 菜单里没有指针,鼠标在菜单中无效;Any 手柄即插即用接管 player 1。
  • 油门刹车改线性的后续工作未合并(W41 README 明文承认)。

多人联机

# 1. 注册 Forza Live 账号(Gold 会员),在游戏内 Find Game
# 2. 默认连官方公开实例;要自建:
docker run -d -p 9000:9000 --name forza-live \
  ghcr.io/dyotson/forza-live:latest
# 3. 在 forza.toml 指向你的服,或 hosts 文件里写自己的域名

Horizon World playlist 玩法:8 人一世界,JUMP IN 机制,房主退出时下一位玩家顶上,空位用 AI 填。Playground Games(Infected / Cat & Mouse / King)、Rivals(时间 + ghost + bounties)、车友会 + 车库、消息中心(被超越通知 / 礼物 / 俱乐部邀请 / 新闻)都已接通。Auction House 只存在于服务端,客户端 UI 已撤掉。

TU4 / DLC

# 应用 TU4(约 2 秒)
tools/apply_title_update.py /path/to/4D5309C9/000B0000/
# 安装全部 23 个 DLC
tools/install_dlc.py /path/to/dlc_folder
# 1000 Club:登录 Forza Live 后,俱乐部任务会发放奖章,服务端的排行榜追踪进度

⚠️ TU4 与 base-game 玩家不可互玩:会分房,服务端维护两个独立匹配池。TU4 进度存档拿到 base 版上会被拒。

存档导入

  • 来自 Xenia Canary 的存档可用 tools/play.sh --xenia 直接续玩。

§4 典型适用场景

  • 情怀玩家:有原版盘 / GoD 包,想继续玩 TU4 + Horizon Rally + 1000 Club 的完整体验,不愿再被模拟器卡顿劝退。
  • 重编译技术研究:ReXGlue SDK 是公开 SDK,这份项目展示了如何针对 Xbox 360 / PowerPC + Xenon GPU 做静态重编译与 GPU 插件补丁,与 RecompiledHaloReach 同源,可作同类研究(RecompiledHaloReach → ForzaHorizon1-ReImagined)的范式参考。
  • 私有服务器服主:愿意花时间自托管 Python 服的小团队,可以为封闭社群提供 Turn 10 风格的现代 Horizon 体验。
  • Xenia 模拟器用户:想从 30 fps、缺多人、Xbox LIVE 404 跳出来,体验原生帧率 + 现代联网的同一份游戏体验。

§5 坑与注意(诚实负面,§八 双轨)

⚠️ 现象 / 影响 / 修复(W41 攻略规范工程三段式)

  1. 键盘油门刹车是 on/off(README 明文) - 现象:WASD 时代替手柄线性扳机,过弯一脚踩死/完全松开会很颠。 - 影响:键盘玩家在弯道控制比手柄粗很多,Pro 难度会吃亏。 - 修复:暂无 GUI 选项,只能靠 ramp + 短点按做"伪线性";后续版本可能修。

  2. 菜单没有鼠标指针(README 明文) - 现象:进入 DLC / 车库等菜单后鼠标失效,只能手柄或键盘 tab。 - 影响:键盘用户体验断裂。 - 修复:暂无;走完菜单后可回到自由漫游(键鼠有效)。

  3. 144 fps 目标下 7 车 AI 比赛仅 70.1 fps(实测数,见 README 表格) - 现象:GPU 模拟在 >60 时成瓶颈,游戏主循环按目标速率跑但渲染拖后腿。 - 影响:144 模式相对 120 提升极小(115.2 → 111.5 自由漫游;75.7 → 70.1 比赛)。 - 修复:1080p + Vulkan 1.3 中端卡(README 测的是 RX 9060 XT)就够;不必追求 144。

  4. Windows 路径从未在 Windows 本机验证过(README 诚实标注) - 现象:Windows 包是 Linux 交叉编译 + Proton 跑通的。 - 影响:启动器 Windows installer / 真机原生运行尚是实验性。 - 修复:Windows 用户目前请走"手动路径 + Proton"或等启动器稳定。

  5. launcher v0.1.0 实验性(README) - 现象:Flatpak 端到端跑过,Windows installer 端没跑过。 - 影响:Windows 用户遇到 bug 概率高于 Linux。 - 修复:遇到问题先用手动路径对照,再到 discussion 21 提单。

  6. TU4 与 base 玩家互不可见(README 明文) - 现象:匹配池分房,即使加同一服也碰不到。 - 影响:小服时找不到对手。 - 修复:服主统一要求全员 TU4(或全员 base),不要混搭。

  7. 1000 Club 的 Rally Expansion 中,co-driver 语音未实装(README 明文) - 现象:Rally Heats 与整个锦标赛可通关可存档,但副驾语音静默。 - 影响:Rally 沉浸感打折。 - 修复:无;等待后续补丁。

  8. 不下载游戏任何字节,必须有合法副本(README 法律) - 现象:不提供 ISO / 不提供 ROM。 - 影响:无盘的玩家玩不到。 - 修复:自行获取 GoD 包 / disc 1 ISO,Title ID 4D5309C9。

  9. ReXGlue 0.10.0.24 nightly 编译期风险 - 现象:nightly-20261002-bd833a2a 是 SDK 的滚动版本号。 - 影响:不锁版本可能日后构建失败。 - 修复:第一次构建成功后将 SDK 目录归档,后续复用,不强升。

§6 与同类对比

方案 帧率 在线多人 平台 维护状态 自托管
Dyotson/ForzaHorizon1-ReImagined 60/120/144(原生) Forza Live 自托管 Linux x86-64, Win 10/11(experimental) 活跃(2026-10-16 最近提交) 是(Python)
Xenia Canary(模拟器) 原生 30,模拟器受 Xenon GPU 精度拖累 无(XBL 已死) Win/Linux 活跃 否
RecompiledHaloReach(同作者静态重编译) 60(原生) 无 Linux x86-64 活跃(模板项目) 否
Turn 10 官方 FH1 Steam 重发版 不存在 不存在 不存在 不存在 不存在

定位差异:ReImagined 不只是"模拟器跑起来",而是把 Xbox 360 时代的 Horizon 补成现代 Horizon 的样子(高帧率 + 联机 + 排行 + DLC 全包 + 私有服)。Xenia 是保底方案,但停在 2012 年的体验;ReImagined 是社区用 SDK + 自托管把它推进到 2026。

§7 一句话推荐结论

有合法《Forza Horizon》副本(GoD 包或 disc 1 ISO,Title ID 4D5309C9)、想以 60~144 fps 跑原生 Linux/Windows 并且愿意自托管 Python 服的话,ReImagined 是目前唯一能复活现代 Horizon 在线体验的方案;无盘、只想要单机、或只想研究重编译而不想碰在线层的用户,Xenia Canary 仍是更省心的入门。


Spark · 2026-10-16 · 数据来源:GitHub README(2026-10-16 05:45 UTC fetch)+ repo_cards/4385;不确定项已用 ⚠️ 标注。