Arch Linux + Wine + i3wm:搭建《重武器老鼠》复古游戏环境
概述《重武器老鼠》Mighty Rodent也有民间称为重装老鼠是一款 2006 年发布的街机风格 2D 射击游戏原为 Windows 平台 RAR 自解压包。本文记录在Arch Linux i3wm AMD 双显卡笔记本上通过 Wine 完整运行该游戏的实战流程涵盖文件传输、RAR 解压、Wine 配置、i3wm 窗口规则、AMD 独显加速、音频与鼠标调优等环节。一、环境准备1.1 系统与硬件项目规格发行版Arch Linux内核 latest窗口管理器i3wmX11默认 ShellNushellCPUIntel i5-8265U集成显卡Intel UHD Graphics 620独立显卡AMD Radeon 540Lexa PRO声卡PipeWire WirePlumber1.2 安装必要软件包# 工具链 sudo pacman -S wine wine-mono wine-gecko winetricks \ unrar xorg-xinit xorg-server i3-wm i3status dmenu xterm \ xorg-xinput pipewire-pulse wireplumber 可选DXVKDirectX → Vulkan 转译大幅提升游戏性能 sudo pacman -S dxvk注意游戏为 2006 年发布的 32 位程序推荐使用 32 位 Wine Prefix兼容性最佳。二、游戏文件传输与解压2.1 传输文件到目标机器# 从本机传输到 Arch Linux 机器 scp zhongwuqilaoshu_1.0.0.0.exe thinkpad:/home/user/2.2 识别与解压# 确认文件类型RAR 自解压包 file /home/user/zhongwuqilaoshu_1.0.0.0.exe # 输出: PE32 executable, RAR self-extracting archive 创建游戏目录并解压 mkdir /home/user/zhongwuqilaoshu cd /home/user/zhongwuqilaoshu unrar x /home/user/zhongwuqilaoshu_1.0.0.0.exe2.3 处理中文文件名解压后主程序为重武器老鼠.exe中文名需在中文 locale 下操作# 生成中文 locale sudo bash -c echo zh_CN.UTF-8 UTF-8 /etc/locale.gen locale-gen 用中文 locale 提取主程序 LANGzh_CN.UTF-8 LC_ALLzh_CN.UTF-8 unrar e /home/user/zhongwuqilaoshu_1.0.0.0.exe /home/user/zhongwuqilaoshu/ *.exe -o -y解压后目录结构如下zhongwuqilaoshu/ ├── 重武器老鼠.exe ← 主程序 ├── reg.exe / reg.ini ├── profiles.dat / res.dat / scores.dat ├── gfx/ ← 图片资源 │ ├── fonts/ ← 字体文件font01.png, font02.png │ ├── background/ │ ├── bosses/ │ └── ... ├── music/ ← OGG 背景音乐 ├── sound/ ← OGG 音效 └── hintGameVer/ ← 游戏版本信息三、Wine 配置3.1 创建 32 位 Wine Prefix游戏为 32 位程序用 64 位 Prefix 可能遇到兼容问题export WINEARCHwin32 export WINEPREFIX~/.wine32 初始化 Wine Prefix首次运行会自动创建 winecfg在弹出的winecfg中Applications标签 → Windows Version 选择Windows 10Graphics标签 → 勾选 Allow the window manager to control the windows让 i3wm 管理窗口3.2 安装 DirectX 运行库# 安装 DirectX 9 运行时库游戏所需 winetricks directx9 可选安装常用 VC 运行库 winetricks vcrun20193.3 配置 DXVK性能优化如果游戏使用 DirectX 9多数 2006 年游戏DXVK 可将 DirectX 调用转译为 Vulkan显著提升性能# 安装 DXVK 到当前 Wine Prefix winetricks dxvk3.4 首次运行测试cd /home/user/zhongwuqilaoshu WINEPREFIX~/.wine32 \ DRI_PRIME1 \ DISPLAY:0 \ LANGzh_CN.UTF-8 LC_ALLzh_CN.UTF-8 \ wine 重武器老鼠.exe四、i3wm 窗口管理器配置4.1 启动 i3# 创建 .xinitrc echo exec i3 ~/.xinitrc 从 tty1 启动 startx4.2 i3 配置配置文件~/.config/i3/config# i3 config for 重武器老鼠 game font pango:monospace 10 set $mod Mod4 自动启动游戏使用 Nushell 脚本管理环境变量 exec nu /home/user/zhongwuqilaoshu/launch_game.nu 快捷键 bindsym $modShifte exec i3-msg exit bindsym $modShiftq kill bindsym $modd exec dmenu_run bindsym $modReturn exec xterm bindsym $modShiftr restart bindsym $modf fullscreen toggle 窗口规则游戏窗口自动浮动 全屏 for_window [title重武器老鼠] floating enable for_window [title重武器老鼠] fullscreen enable bar { status_command i3status position top }关键修正for_window的匹配条件必须使用具体窗口标题如[title重武器老鼠]而非[all]——i3wm 不支持[all]语法。滥用[title.*]会导致所有窗口包括终端被全屏故仅对游戏窗口生效。4.3 Nushell 启动脚本由于 Arch Linux 默认 Shell 为 Nushell为避免、21等 bash 语法与 Nushell 冲突建议编写独立的.nu启动脚本cat /home/user/zhongwuqilaoshu/launch_game.nu EOF # 启动 重武器老鼠 游戏AMD 独立显卡 32位 Wine Prefix $env.DISPLAY :0 $env.XAUTHORITY /run/user/1000/lyxauth $env.DRI_PRIME 1 $env.WINEARCH win32 $env.WINEPREFIX /home/user/.wine32 $env.LANG zh_CN.UTF-8 $env.LC_ALL zh_CN.UTF-8 cd /home/user/zhongwuqilaoshu /usr/bin/wine 重武器老鼠.exe EOF五、双显卡优化AMD 独显加速ThinkPad E490 配备 Intel UHD 620集成 AMD Radeon 540独立双显卡。Wine 默认使用 Intel 集显需通过DRI_PRIME1强制使用 AMD 独显。5.1 验证 GPU 使用# 安装 radeontop 监控 AMD 显卡 sudo pacman -S radeontop 运行游戏后检查 GPU 占用 sudo radeontop -d -优化前Intel 集显GPU: 0% ← AMD 完全空闲 VRAM: 0.27% ← 仅用于桌面 Core: 0.326 GHz优化后DRI_PRIME1GPU: 31% ← 活跃 VRAM: 5% (84 MB) ← 显存被使用 Core: 1.176 GHz (100%) ← 满频运行5.2 性能对比指标Intel UHD 620优化前AMD Radeon 540优化后GPU 占用0~20%间歇性20~35%稳定游戏帧率卡顿频繁流畅运行CPU 占用163%Wine 转译开销大正常约 30~50%温度70~78°C70~75°C六、文件系统兼容字体大小写问题6.1 问题现象游戏启动后弹出错误error file gfx/fonts/font01.png not found6.2 原因Windows 文件系统不区分大小写font01.png与Font01.png视为同一文件。Linux 文件系统区分大小写游戏代码中引用的文件名大小写可能与实际文件不一致。6.3 解决方案创建常见大小写变体的符号链接cd /home/user/zhongwuqilaoshu/gfx/fonts ln -sf font01.png Font01.png ln -sf font02.png Font02.png ln -sf font01.png FONT01.png ln -sf font02.png FONT02.png七、音频设置PipeWire7.1 解除静音并设置音量# 查看当前音量 wpctl get-volume DEFAULT_AUDIO_SINK 设置音量为 67% 并解除静音 wpctl set-volume DEFAULT_AUDIO_SINK 67% wpctl set-mute DEFAULT_AUDIO_SINK 0wpctl是 WirePlumber 的命令行工具比pactl更现代。八、禁用鼠标加速度射击游戏需要精确的鼠标定位建议禁用鼠标加速度。8.1 持久化配置推荐sudo tee /etc/X11/xorg.conf.d/99-mouse-accel.conf EOF Section InputClass Identifier Disable Mouse Acceleration MatchIsPointer yes Driver libinput Option AccelProfile flat Option AccelSpeed 0 EndSection EOF8.2 即时生效不重启 X# 查看设备列表 xinput list 禁用加速度以实际设备名为准 xinput set-prop pointer:设备名 libinput Accel Profile Enabled 0, 1AccelProfile flat即等比模式光标移动距离与物理移动距离成 1:1 关系无加速度算法介入适合射击类游戏。九、排错速查现象原因与对策unrar: command not foundsudo pacman -S unrar解压后中文文件名乱码生成zh_CN.UTF-8locale 后用LANGzh_CN.UTF-8 unrar x或改用unar游戏启动后资源找不到 / 黑屏未cd到游戏目录Wine 必须在游戏目录下启动游戏内中文显示为方框安装wqy-zenhei并做字体链接见 3.3Wine 全屏黑屏从 Sway/Wayland 切到 i3wm/X11见第四节无声音wpctl检查默认音频输出解除静音鼠标移动有飘的感觉按第八节禁用鼠标加速度十、总结经过以上配置《重武器老鼠》在 Arch Linux i3wm AMD 独显环境下可流畅运行。核心要点汇总环节关键操作注意事项文件传输scp传输 .exe 到目标机器确认 mDNS 域名解析RAR 解压unrar 中文 locale中文文件名需LANGzh_CN.UTF-8Wine PrefixWINEARCHwin32创建 32 位兼容 2006 年老游戏运行环境cd到游戏目录 DRI_PRIME1资源路径 独立显卡加速窗口管理i3wm for_window [title]规则避免[all]和[title.*]滥用字体兼容创建大小写符号链接Linux 文件系统大小写敏感音频wpctl set-volumePipeWire WirePlumber鼠标Xorgflatprofile禁用加速度适合射击游戏提示如果游戏在 AMD 独显下仍有卡顿可尝试安装 DXVKwinetricks dxvk将 DirectX 调用转译为 Vulkan性能可再提升 30~50%。 整套方案的本质是用现代 Linux 的兼容层与技术栈为 Windows 游戏提供一个等效的运行环境——Wine 负责 API 翻译X11 负责图形输出PipeWire 负责音频i3wm 负责窗口管理。理解每一层的作用遇到问题时就能精准定位。 环境声明本文验证环境为 Arch Linux2025 年 6 月后的纯 WoW64 Wine 构建 i3wm Wine 9.x/10.x PipeWire Xorg。其他发行版或更新版本的 Wine 可能略有差异请以实际表现为准。相关标签#ArchLinux #Wine #i3wm #重武器老鼠 #MightyRodent #复古游戏 #Linux游戏 #PipeWire在 Linux 桌面环境下运行老 Windows 游戏的通用参考模板。Enjoy your retro gaming!p

相关新闻

深入解析TI AM1705 ARM9 SoC:架构、外设与嵌入式开发实战

深入解析TI AM1705 ARM9 SoC:架构、外设与嵌入式开发实战

1. 项目概述与核心价值在嵌入式开发领域,选对一颗主控芯片往往意味着项目成功了一半。今天想和大家深入聊聊德州仪器(TI)的AM1705这颗ARM微处理器。它不是市场上最新、性能最强的芯片,但在工业控制、便携式数据终端、智能家居网关…

2026/9/19 8:00:03 阅读更多 →
校园帮系统开题答辩全流程与实战技巧

校园帮系统开题答辩全流程与实战技巧

1. 项目概述:校园帮系统开题答辩全流程解析校园帮系统作为面向高校师生的综合性服务平台,其开题答辩是项目正式启动前的关键环节。我在参与多个校园信息化项目评审过程中发现,80%的团队在开题阶段都存在需求分析不清晰、技术路线论证不足等共…

2026/9/23 8:48:10 阅读更多 →
AM1705嵌入式硬件实战:USB电气规范、PSC功耗管理与PRU内存映射解析

AM1705嵌入式硬件实战:USB电气规范、PSC功耗管理与PRU内存映射解析

1. 项目概述:从芯片手册到实战设计拿到一份动辄几百页的芯片技术手册,比如德州仪器(TI)的AM1705数据手册,很多工程师的第一反应可能是头疼。手册里充斥着电气参数表、寄存器地址和状态机描述,看起来冰冷而抽…

2026/9/22 10:24:52 阅读更多 →

最新新闻

OpenSpec 实战:用 Git 工作流驱动 API 规范管理与变更治理

OpenSpec 实战:用 Git 工作流驱动 API 规范管理与变更治理

1. 从 API 文档混乱到 Spec 驱动开发:我为什么盯上了 OpenSpec做后端开发这些年,各个团队在 API 管理上踩过的坑,我基本都踩过一遍。最典型的状态是:项目跑着跑着,接口文档就成了摆设。谁改了字段没同步、谁加了参数没…

2026/9/23 8:50:06 阅读更多 →
基于Spring Cloud和Vue3的智慧云停车场系统设计与实践

基于Spring Cloud和Vue3的智慧云停车场系统设计与实践

1. 项目背景与核心价值停车难问题已经成为现代城市管理的痛点。传统停车场管理系统存在信息孤岛、资源利用率低、用户体验差等问题。我们团队基于Spring Cloud微服务架构和Vue3前端技术栈,开发了一套智慧云停车场服务管理系统,实现了停车场资源的智能化管…

2026/9/23 8:50:05 阅读更多 →
搞懂秒表的读法:这高频面试题坑了多少人

搞懂秒表的读法:这高频面试题坑了多少人

搞懂秒表的读法:这高频面试题坑了多少人 看了一堆教程还是不会写项目?别急着骂自己笨,很多时候是基础概念没吃透。最近整理后端高频面试题,发现“秒表的读法”这个看似简单的点,居然能把一堆自诩熟练的开发者问懵。不是让你去体育场上看表,而是在编程里…

2026/9/23 8:50:05 阅读更多 →
阳光宽屏网源码拆解:3步吃透完整示例,面试不再卡壳

阳光宽屏网源码拆解:3步吃透完整示例,面试不再卡壳

阳光宽屏网源码拆解:3步吃透完整示例,面试不再卡壳 面试被问原理答不上来,那种大脑空白的感觉谁懂?别慌,很多转行或深耕多年的开发者都栽在这里。光看文档不啃源码,遇到变种问题就抓瞎。今天咱们不整虚的,直接拿【阳光宽屏网】这类典型的高并发宽屏渲…

2026/9/23 8:50:05 阅读更多 →
SVN代码迁移到Gitlab(保留SVN的提交记录)

SVN代码迁移到Gitlab(保留SVN的提交记录)

概述 项目开发前期是用自有 SVN 进行项目管理的,开发完成后,因客户要求,需要将源码提交到客户提供的 Gitlab,故进行项目迁移。主要步骤 1. 账号对应 2. 拉取 SVN 代码记及日志 3. 提交项目到 Gitlab 第一步:账号对应 S…

2026/9/23 8:50:05 阅读更多 →
3个坑教你搞定测智商的权威题目,新手避坑指南

3个坑教你搞定测智商的权威题目,新手避坑指南

3个坑教你搞定测智商的权威题目,新手避坑指南 复制来的代码跑不通,报错红屏一片,盯着屏幕发呆?别慌,这不仅是你的问题,更是无数刚入门开发者的噩梦。在掘金技术社区搜“报错解决”,你会发现成千上万的新手都在问同一个问题:为什么逻辑看着对,跑起来…

2026/9/23 8:49:05 阅读更多 →

日新闻

3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A…

2026/9/23 0:00:23 阅读更多 →
2k显示屏性能优化踩坑:版本升级后API全变了,这份源码解析救了我

2k显示屏性能优化踩坑:版本升级后API全变了,这份源码解析救了我

2k显示屏性能优化踩坑:版本升级后API全变了,这份源码解析救了我 刚把开发环境的显示器从1080P换到2K,跑老项目直接报错,版本升级后 API…

2026/9/23 0:01:25 阅读更多 →
3步搞定美眉图实战项目,告别官方文档抓不住重点

3步搞定美眉图实战项目,告别官方文档抓不住重点

3步搞定美眉图实战项目,告别官方文档抓不住重点 官方文档翻了三遍还是云里雾里?别急,美眉图在实战项目中常被用来做数据可视化,但它的原理比你想的简单。今天咱们直接上手,用一个完整的小项目把美眉图跑通,不再死磕那些冗长的理论说明。…

2026/9/23 0:01:25 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/23 4:55:02 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/23 4:49:06 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/22 8:51:04 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/21 15:36:51 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/21 15:36:51 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/22 2:43:42 阅读更多 →