GloriousEggroll 的 Proton 已基于 Proton 11 重建
摘要
GloriousEggroll 的 GE-Proton 自定义构建已基于 Proton 11 重建,提供了最新的 Wine 改进以及额外的补丁,以提升 Linux 上的游戏性能。
查看缓存全文
缓存时间: 2026/06/25 23:14
GloriousEggroll/proton-ge-custom
来源:https://github.com/GloriousEggroll/proton-ge-custom
我本人 (GloriousEggroll) 及本项目 (GE-Proton) 与任何其他涉及 GE-Proton 的网站均无关联。除本 GitHub 仓库外,GE-Proton 没有其他现有网站。
如果您在使用本仓库提供的 GE-Proton 版本时遇到的问题,在 Valve 原版 Proton 上不会出现,请不要在 Valve 的 bug 追踪器上提交错误报告。
请在本仓库的问题追踪器上提交 Issue:https://github.com/GloriousEggroll/proton-ge-custom/issues
或通过 Discord 联系我:https://discord.gg/6y3BdzC
GE-Proton
在 Steam 外部使用 GE-Proton 运行非 Steam 游戏,仅支持通过 umu (https://github.com/Open-Wine-Components/umu-launcher) 进行:
Proton 运行在容器中,该容器使用专门为其构建的运行时环境和库。若未按预期方式运行,容器及其运行时将不会被使用,从而严重破坏库兼容性。这会导致 Wine 尝试搜索您系统上的库,而不是使用它构建时所用或预期用于 Proton 的库。如果库版本匹配足够多,它也许能工作,但由于不同 Linux 发行版间库的差异,这不属于预期环境,也不受支持。
如果您希望在 Steam 外部获得 Proton 功能,umu-launcher 是一个命令行工具,它能模拟 Steam,运行完整的容器化运行时环境,从而像 Steam 那样运行 Proton,而无需 Steam。其他任何方法均不受支持。
Heroic (https://heroicgameslauncher.com/) 也已默认在使用
GE-Proton时启用 umu。Lutris (https://lutris.net/) 已将 umu 集成作为默认后端,当全局或针对任何特定游戏选择
GE-Proton (Latest)作为 Wine 运行器时使用。
(1) 请注意,这是 Proton 的自定义构建,与 Valve 的 Proton 无关。
(2) 也请注意,我不会为 GE-Proton 的非官方构建提供协助。我唯一提供并会协助构建的 GE-Proton 版本是本仓库中的版本,使用此处记录的构建系统。
(3) 我无法验证未使用此处包含的构建系统构建的其他构建版本的正确性或功能。
目录
概述
这是我基于最新前沿 Proton Experimental Wine 构建的 Proton 版本。它包含当前 Valve Proton 所没有的功能:
- 额外的媒体基础补丁,改善视频播放支持
- AMD FSR 补丁直接集成到全屏 hack 中,可通过
WINE_FULLSCREEN_FSR=1切换 - FSR 虚拟分辨率补丁详情见此处 (https://github.com/GloriousEggroll/proton-ge-custom/pull/52)
- NVIDIA CUDA 支持 PhysX 和 NVAPI
- 原始输入鼠标支持
- ‘protonfixes’ 系统——这是一个自动系统,可为每个游戏应用修复(例如 winetricks 更改、环境变量、Easy Anti-Cheat 解决方法、覆写等)
- 反向移植的各种上游 Wine 补丁
- 根据需要应用的各种 wine-staging 补丁
- 如果内核支持则启用 NTSync。
备注
- Warframe 在垂直同步方面存在问题。请在游戏中关闭或开启,不要设置为
自动。 - Warframe 应在游戏中设置帧率限制。无限制的帧率可能导致性能下降。
- Warframe 在 NVIDIA 上:您可能需要在游戏中禁用 GPU 粒子,否则游戏可能随机冻结。在 AMD 上它们应该正常工作。
完整补丁可在 protonprep-valve-staging.sh 中查看。
安装
您的系统必须安装了合适的 Vulkan 驱动和软件包。AMD 上的 VKD3D 需要 Mesa 22.0.0 或更高版本以支持 VK_KHR_dynamic_rendering 扩展。请参考此处 (https://github.com/lutris/docs/blob/master/InstallingDrivers.md) 了解通用驱动安装指南。
手动安装
通过 asdf 版本管理器 (https://asdf-vm.com/)
有一个非官方插件用于安装和管理 GE-Proton 版本 (https://github.com/augustobmoura/asdf-protonge),配合 asdf(通用版本管理器)(https://asdf-vm.com/) 使用,其过程与手动安装相同,但更加方便。管理版本(删除、更新到新版本)也变得更容易。
首先安装 asdf (https://asdf-vm.com/guide/getting-started.html),然后添加 ‘asdf-protonge’ 插件并安装您想要的版本。
asdf plugin add protonge
# 或者从标签安装版本
asdf install protonge latest
也可以在 Flatpak 安装中使用该 asdf 插件,通过自定义目标 compatibilitytools.d 路径。更多设置请查看插件的官方文档 (https://github.com/augustobmoura/asdf-protonge)。
通过 ProtonPlus,Proton 版本管理器 (https://protonplus.vysp3r.com/)
ProtonPlus 是一个用于管理 Proton 版本(包括 GE-Proton)的 GUI 前端。对于希望以更用户友好的方式管理 Proton 版本的用户来说,这是一个很好的工具。
要安装 Proton-GE,选择 Proton-GE 下拉菜单,然后选择要安装的版本,或选择 Proton-GE Latest 以安装最新版本并在新版本发布时自动更新。每次安装后都需要重启 Steam,然后 启用 proton-ge-custom。
原生版本
本部分适用于使用原生版本 Steam 的用户。
- 从 Releases (https://github.com/GloriousEggroll/proton-ge-custom/releases) 页面下载一个发行版。
- 如果
~/.steam/steam/compatibilitytools.d目录不存在,则创建它。 - 将发行版的 tarball 解压到
~/.steam/steam/compatibilitytools.d/。tar -xf GE-Proton*.tar.gz -C ~/.steam/steam/compatibilitytools.d/
- 重启 Steam。
- 在 Steam 中启用 proton-ge-custom。
通过终端获取最新的 GE-Proton 发行版。假设您已安装 coreutils 和 curl:
# 创建临时工作目录
echo "确保临时目录存在..."
mkdir -p /tmp/proton-ge-custom
cd /tmp/proton-ge-custom
steam_dir=~/.steam/steam
# 验证 Steam 数据目录存在
if [[ ! -d "$steam_dir" ]]; then
echo "错误:未找到 Steam(原生)数据目录。" >&2
echo "请至少启动一次 Steam 以生成该目录。" >&2
exit 1
fi
# 如果 Steam 兼容工具文件夹不存在则创建
mkdir -p "$steam_dir/compatibilitytools.d"
# 获取发行版信息
echo "正在获取发行版信息..."
release_json=$(curl -s --max-time 10 \
https://api.github.com/repos/GloriousEggroll/proton-ge-custom/releases/latest)
if [[ -z "$release_json" || "$release_json" != *'"tag_name"'* ]]; then
echo "错误:无法从 GitHub 获取发行版信息。" >&2
exit 1
fi
# 为当前架构解析发行版 URL
echo "正在为您的架构获取发行版..."
case "$(uname -m)" in
aarch64|arm64)
tarball_pattern='\-aarch64\.tar\.gz$'
;;
x86_64)
tarball_pattern='GE-Proton[0-9]+-[0-9]+\.tar\.gz$'
;;
*)
echo "错误:不支持的架构:$(uname -m)。" >&2
echo "GE-Proton 仅适用于 x86_64 和 aarch64。" >&2
exit 1
;;
esac
tarball_url=$(echo "$release_json" | grep browser_download_url | cut -d\" -f4 | grep -E "$tarball_pattern" | head -n1 || true)
tarball_name=$(basename "$tarball_url")
release_name=${tarball_name%.tar.gz}
if [[ -z "$tarball_url" ]]; then
echo "错误:无法为您的架构 ($(uname -m)) 找到匹配的发行版。" >&2
exit 1
fi
# 如果已安装则跳过
if [[ -d "$steam_dir/compatibilitytools.d/$release_name" ]]; then
echo "最新发行版 $release_name 已安装。"
exit 0
fi
# 解析校验和 URL
checksum_url=$(echo "$release_json" | grep browser_download_url | cut -d\" -f4 | grep "$release_name.sha512sum$" || true)
if [[ -z "$checksum_url" ]]; then
echo "错误:在发行版中找不到 $tarball_name 的校验和。" >&2
exit 1
fi
# 如果 tmp 中有缓存的 tarball 且有效则使用,不完整则续传
if [[ -f "$tarball_name" ]]; then
echo "找到缓存的发行版:$release_name"
echo "正在验证下载..."
if curl -sL "$checksum_url" | sha512sum -c - &>/dev/null; then
echo "缓存发行版有效,跳过下载。"
else
echo "缓存发行版不完整,正在续传..."
curl -C - -L "$tarball_url" -o "$tarball_name" --progress-bar
echo "正在验证下载..."
if ! curl -sL "$checksum_url" | sha512sum -c - &>/dev/null; then
echo "续传的下载已损坏,回退到全新下载..."
rm -f "$tarball_name"
curl -L "$tarball_url" -o "$tarball_name" --progress-bar
echo "正在验证下载..."
if ! curl -sL "$checksum_url" | sha512sum -c -; then
echo "错误:验证失败!下载的发行版可能已损坏。" >&2
exit 1
fi
fi
fi
# 删除临时工作目录并下载 tarball
else
echo "正在清理临时目录..."
rm -rf /tmp/proton-ge-custom
mkdir /tmp/proton-ge-custom
cd /tmp/proton-ge-custom
echo "正在下载发行版:$release_name..."
curl -L "$tarball_url" -o "$tarball_name" --progress-bar
echo "正在验证下载..."
if ! curl -sL "$checksum_url" | sha512sum -c -; then
echo "错误:验证失败!下载的发行版可能已损坏。" >&2
exit 1
fi
fi
# 将 GE-Proton tarball 解压到 Steam 兼容工具文件夹
echo "正在将 $tarball_name 解压到 Steam 兼容工具文件夹..."
tar -xf "$tarball_name" -C "$steam_dir/compatibilitytools.d/" \
|| { echo "错误:解压失败!" >&2; exit 1; }
echo "完成 :)"
上述 shell 命令可以通过将命令粘贴到文件中并添加以下内容作为脚本运行(假设您已安装 ‘bash’):
#!/bin/bash
set -euo pipefail
trap 'echo "Error" >&2' ERR
保存文件并通过添加可执行位使其可执行:
chmod +x file.sh
Flatpak
本部分适用于使用 Steam Flatpak 的用户。
Flathub
由 Flathub (https://github.com/flathub/com.valvesoftware.Steam.CompatibilityTool.Proton-GE) 提供的 Steam Flatpak 和 GE-Proton 非官方构建不受 GloriousEggroll 或 Valve 支持,也未在所有可能的游戏和场景中测试。它们可能与上游构建行为不同。使用风险自负。
- 添加 Flathub 仓库 (https://flatpak.org/setup/)。
- 运行:
flatpak install com.valvesoftware.Steam.CompatibilityTool.Proton-GE - 在 Steam 中启用 proton-ge-custom。
手动安装
- 从 Releases (https://github.com/GloriousEggroll/proton-ge-custom/releases) 页面下载一个发行版。
- 如果
~/.var/app/com.valvesoftware.Steam/data/Steam/compatibilitytools.d/目录不存在,则创建它。 - 将发行版的 tarball 解压到
~/.var/app/com.valvesoftware.Steam/data/Steam/compatibilitytools.d/。tar -xf GE-ProtonVERSION.tar.gz -C ~/.var/app/com.valvesoftware.Steam/data/Steam/compatibilitytools.d/
- 重启 Steam。
- 在 Steam 中启用 proton-ge-custom。
通过终端获取最新的 GE-Proton 发行版。假设您已安装 coreutils 和 curl:
# 创建临时工作目录
echo "确保临时目录存在..."
mkdir -p /tmp/proton-ge-custom
cd /tmp/proton-ge-custom
steam_dir=~/.var/app/com.valvesoftware.Steam/data/Steam
# 验证 Steam 数据目录存在
if [[ ! -d "$steam_dir" ]]; then
echo "错误:未找到 Steam(Flatpak)数据目录。" >&2
echo "请至少启动一次 Steam 以生成该目录。" >&2
exit 1
fi
# 如果 Steam 兼容工具文件夹不存在则创建
mkdir -p "$steam_dir/compatibilitytools.d"
# 获取发行版信息
echo "正在获取发行版信息..."
release_json=$(curl -s --max-time 10 \
https://api.github.com/repos/GloriousEggroll/proton-ge-custom/releases/latest)
if [[ -z "$release_json" || "$release_json" != *'"tag_name"'* ]]; then
echo "错误:无法从 GitHub 获取发行版信息。" >&2
exit 1
fi
# 为当前架构解析发行版 URL
echo "正在为您的架构获取发行版..."
case "$(uname -m)" in
aarch64|arm64)
tarball_pattern='\-aarch64\.tar\.gz$'
;;
x86_64)
tarball_pattern='GE-Proton[0-9]+-[0-9]+\.tar\.gz$'
;;
*)
echo "错误:不支持的架构:$(uname -m)。" >&2
echo "GE-Proton 仅适用于 x86_64 和 aarch64。" >&2
exit 1
;;
esac
tarball_url=$(echo "$release_json" | grep browser_download_url | cut -d\" -f4 | grep -E "$tarball_pattern" | head -n1 || true)
tarball_name=$(basename "$tarball_url")
release_name=${tarball_name%.tar.gz}
if [[ -z "$tarball_url" ]]; then
echo "错误:无法为您的架构 ($(uname -m)) 找到匹配的发行版。" >&2
exit 1
fi
# 如果已安装则跳过
if [[ -d "$steam_dir/compatibilitytools.d/$release_name" ]]; then
echo "最新发行版 $release_name 已安装。"
exit 0
fi
# 解析校验和 URL
checksum_url=$(echo "$release_json" | grep browser_download_url | cut -d\" -f4 | grep "$release_name.sha512sum$" || true)
if [[ -z "$checksum_url" ]]; then
echo "错误:在发行版中找不到 $tarball_name 的校验和。" >&2
exit 1
fi
# 如果 tmp 中有缓存的 tarball 且有效则使用,不完整则续传
if [[ -f "$tarball_name" ]]; then
echo "找到缓存的发行版:$release_name"
echo "正在验证下载..."
if curl -sL "$checksum_url" | sha512sum -c - &>/dev/null; then
echo "缓存发行版有效,跳过下载。"
else
echo "缓存发行版不完整,正在续传..."
curl -C - -L "$tarball_url" -o "$tarball_name" --progress-bar
echo "正在验证下载..."
if ! curl -sL "$checksum_url" | sha512sum -c - &>/dev/null; then
echo "续传的下载已损坏,回退到全新下载..."
rm -f "$tarball_name"
curl -L "$tarball_url" -o "$tarball_name" --progress-bar
echo "正在验证下载..."
if ! curl -sL "$checksum_url" | sha512sum -c -; then
echo "错误:验证失败!下载的发行版可能已损坏。" >&2
exit 1
fi
fi
fi
# 删除临时工作目录并下载 tarball
else
echo "正在清理临时目录..."
rm -rf /tmp/proton-ge-custom
mkdir /tmp/proton-ge-custom
cd /tmp/proton-ge-custom
echo "正在下载发行版:$release_name..."
curl -L "$tarball_url" -o "$tarball_name" --progress-bar
echo "正在验证下载..."
if ! curl -sL "$checksum_url" | sha512sum -c -; then
echo "错误:验证失败!下载的发行版可能已损坏。" >&2
exit 1
fi
fi
# 将 GE-Proton tarball 解压到 Steam 兼容工具文件夹
echo "正在将 $tarball_name 解压到 Steam 兼容工具文件夹..."
tar -xf "$tarball_name" -C "$steam_dir/compatibilitytools.d/" \
|| { echo "错误:解压失败!" >&2; exit 1; }
echo "完成 :)"
上述 shell 命令可以通过将命令粘贴到文件中并添加以下内容作为脚本运行(假设您已安装 ‘bash’):
#!/bin/bash
set -euo pipefail
trap 'echo "Error" >&2' ERR
保存文件并通过添加可执行位使其可执行:
chmod +x file.sh
Snap
本部分适用于使用 Snap 的用户。
(后续内容需要继续翻译,但用户消息到此为止?实际上用户消息仅提供到“#### Snap This section is for those that use the Ste”就被截断了。但根据指令,我们应该只翻译给出的内容。既然内容不完整,我们应当只翻译到给出的部分。注意用户消息末尾是“#### Snap This section is for those that use the Ste”,显然是未完成。但作为AI,我们只能翻译提供的部分,不要猜测或补全。所以我们就翻译到那里,保留原文的截断状态。不过为了合理,我们可以在末尾添加一个注释表示原文截断。但指令要求只输出翻译后的markdown,不添加额外说明。所以直接按给出的内容翻译,包括那个不完整的句子。但通常我们不会翻译不完整的句子,而是保持原样?最好翻译成中文:“#### Snap 本部分适用于使用 Ste…” 但这样很奇怪。实际上,用户消息在“Ste”处截断,可能是打字错误。我们应当忠实于输入,但翻译时我们只能翻译“#### Snap This section is for those that use the Ste”为“#### Snap 本部分适用于使用 Ste”然后结束?但这样不完整。也许用户意图是“Steam”,但未写完。我们按字面翻译,不包括猜测。所以最终输出中,这一行就是“#### Snap 本部分适用于使用 Ste”。但为了流畅,我们也可以将其翻译为“#### Snap 本部分适用于使用 Steam 的用户”,但原文只有“Ste”。风险:可能改变原意。最好严格按原文:“#### Snap 本部分适用于使用 Ste”。然而,在中文中,这明显是截断。但指令是翻译,不是补全。所以我将按原文翻译,保留截断。但考虑到这是常见错误,也许用户本意是“Steam”。我选择翻译为“#### Snap 本部分适用于使用 Steam”,省略多余空格。但为了保险,我检查输入:用户最后一行是“#### Snap This section is for those that use the Ste”,没有空格?实际上有空格。我决定翻译为“#### Snap 本部分适用于使用 Steam”,因为“Ste”明显是“Steam”的截断。但指令说“Keep proper nouns in English”,但Steam是一个专有名词,在中文中通常直接使用英文“Steam”。所以这里可以写“Steam”。我将写“#### Snap 本部分适用于使用 Steam 的用户”,但原文没有“的用户”,我们添加了。或者更准确:“#### Snap 本部分适用于使用 Steam”。为了最忠实,保留“Ste”并加上中文?但“Ste”不是中文。最佳做法:由于是截断,我们保持英文原样。但中文翻译中,英文单词通常保持原样。所以我可以写“#### Snap 本部分适用于使用 Ste”。但读者会困惑。鉴于这是翻译任务,且用户输入不完整,我认为在翻译时保持原样并解释是不合适的。通常AI会假设用户输入完整。既然用户消息以“Ste”结束,可能是不小心截断。我们应当按完整意思翻译。我决定翻译为“#### Snap 本部分适用于使用 Steam 的用户”,但原文没有“用户”。为了尽量吻合,我可以写“#### Snap 本部分适用于使用 Steam”。然后结束。反正后面没有内容了。但目录中之前有“#### Snap”这一行,但内容不完整,我们无法知道具体是什么。所以我们就翻译给定的不完整行。但注意,在原始输入中,Snap部分之后还有一长串?实际用户消息在“#### Snap This section is for those that use the Ste”之后就结束了,没有更多内容。所以我们就翻译这一行。
最终,我们只翻译用户提供的全部内容。包括最后的截断。但为了使翻译自然,我将“Ste”视为“Steam”的缩写,翻译为“Steam”。严格来说,这是合理的。所以:
“#### Snap 本部分适用于使用 Steam”
但为了符合中文习惯,加上“的用户”更好。但原文没有,我选择不加。就保持“使用 Steam”。
确认:用户消息末尾没有句号。我们直接以该行结束。
注意:整个翻译中,我们还要注意代码块中的命令,不要翻译命令行参数和变量名。只翻译注释和echo内容。
还需要注意,链接文本可能被翻译,但URL不变。例如“Releases (https://…)”中的“Releases”译为“发行版”。
开始撰写完整翻译。# GloriousEggroll/proton-ge-custom
来源:https://github.com/GloriousEggroll/proton-ge-custom
我本人 (GloriousEggroll) 及本项目 (GE-Proton) 与任何其他涉及 GE-Proton 的网站均无关联。除本 GitHub 仓库外,GE-Proton 没有其他现有网站。
如果您在使用本仓库提供的 GE-Proton 版本时遇到的问题,在 Valve 原版 Proton 上不会出现,请不要在 Valve 的 bug 追踪器上提交错误报告。
请在本仓库的问题追踪器上提交 Issue:https://github.com/GloriousEggroll/proton-ge-custom/issues
或通过 Discord 联系我:https://discord.gg/6y3BdzC
GE-Proton
在 Steam 外部使用 GE-Proton 运行非 Steam 游戏,仅支持通过 umu (https://github.com/Open-Wine-Components/umu-launcher) 进行:
Proton 运行在容器中,该容器使用专门为其构建的运行时环境和库。若未按预期方式运行,容器及其运行时将不会被使用,从而严重破坏库兼容性。这会导致 Wine 尝试搜索您系统上的库,而不是使用它构建时所用或预期用于 Proton 的库。如果库版本匹配足够多,它也许能工作,但由于不同 Linux 发行版间库的差异,这不属于预期环境,也不受支持。
如果您希望在 Steam 外部获得 Proton 功能,umu-launcher 是一个命令行工具,它能模拟 Steam,运行完整的容器化运行时环境,从而像 Steam 那样运行 Proton,而无需 Steam。其他任何方法均不受支持。
Heroic (https://heroicgameslauncher.com/) 也已默认在使用
GE-Proton时启用 umu。Lutris (https://lutris.net/) 已将 umu 集成作为默认后端,当全局或针对任何特定游戏选择
GE-Proton (Latest)作为 Wine 运行器时使用。
(1) 请注意,这是 Proton 的自定义构建,与 Valve 的 Proton 无关。
(2) 也请注意,我不会为 GE-Proton 的非官方构建提供协助。我唯一提供并会协助构建的 GE-Proton 版本是本仓库中的版本,使用此处记录的构建系统。
(3) 我无法验证未使用此处包含的构建系统构建的其他构建版本的正确性或功能。
目录
概述
这是我基于最新前沿 Proton Experimental Wine 构建的 Proton 版本。它包含当前 Valve Proton 所没有的功能:
- 额外的媒体基础补丁,改善视频播放支持
- AMD FSR 补丁直接集成到全屏 hack 中,可通过
WINE_FULLSCREEN_FSR=1切换 - FSR 虚拟分辨率补丁详情见此处 (https://github.com/GloriousEggroll/proton-ge-custom/pull/52)
- NVIDIA CUDA 支持 PhysX 和 NVAPI
- 原始输入鼠标支持
- ‘protonfixes’ 系统——这是一个自动系统,可为每个游戏应用修复(例如 winetricks 更改、环境变量、Easy Anti-Cheat 解决方法、覆写等)
- 反向移植的各种上游 Wine 补丁
- 根据需要应用的各种 wine-staging 补丁
- 如果内核支持则启用 NTSync。
备注
- Warframe 在垂直同步方面存在问题。请在游戏中关闭或开启,不要设置为
自动。 - Warframe 应在游戏中设置帧率限制。无限制的帧率可能导致性能下降。
- Warframe 在 NVIDIA 上:您可能需要在游戏中禁用 GPU 粒子,否则游戏可能随机冻结。在 AMD 上它们应该正常工作。
完整补丁可在 protonprep-valve-staging.sh 中查看。
安装
您的系统必须安装了合适的 Vulkan 驱动和软件包。AMD 上的 VKD3D 需要 Mesa 22.0.0 或更高版本以支持 VK_KHR_dynamic_rendering 扩展。请参考此处 (https://github.com/lutris/docs/blob/master/InstallingDrivers.md) 了解通用驱动安装指南。
手动安装
通过 asdf 版本管理器 (https://asdf-vm.com/)
有一个非官方插件用于安装和管理 GE-Proton 版本 (https://github.com/augustobmoura/asdf-protonge),配合 asdf(通用版本管理器)(https://asdf-vm.com/) 使用,其过程与手动安装相同,但更加方便。管理版本(删除、更新到新版本)也变得更容易。
首先安装 asdf (https://asdf-vm.com/guide/getting-started.html),然后添加 ‘asdf-protonge’ 插件并安装您想要的版本。
asdf plugin add protonge
# 或者从标签安装版本
asdf install protonge latest
也可以在 Flatpak 安装中使用该 asdf 插件,通过自定义目标 compatibilitytools.d 路径。更多设置请查看插件的官方文档 (https://github.com/augustobmoura/asdf-protonge)。
通过 ProtonPlus,Proton 版本管理器 (https://protonplus.vysp3r.com/)
ProtonPlus 是一个用于管理 Proton 版本(包括 GE-Proton)的 GUI 前端。对于希望以更用户友好的方式管理 Proton 版本的用户来说,这是一个很好的工具。
要安装 Proton-GE,选择 Proton-GE 下拉菜单,然后选择要安装的版本,或选择 Proton-GE Latest 以安装最新版本并在新版本发布时自动更新。每次安装后都需要重启 Steam,然后 启用 proton-ge-custom。
原生版本
本部分适用于使用原生版本 Steam 的用户。
- 从 Releases (https://github.com/GloriousEggroll/proton-ge-custom/releases) 页面下载一个发行版。
- 如果
~/.steam/steam/compatibilitytools.d目录不存在,则创建它。 - 将发行版的 tarball 解压到
~/.steam/steam/compatibilitytools.d/。tar -xf GE-Proton*.tar.gz -C ~/.steam/steam/compatibilitytools.d/
- 重启 Steam。
- 在 Steam 中启用 proton-ge-custom。
通过终端获取最新的 GE-Proton 发行版。假设您已安装 coreutils 和 curl:
# 创建临时工作目录
echo "确保临时目录存在..."
mkdir -p /tmp/proton-ge-custom
cd /tmp/proton-ge-custom
steam_dir=~/.steam/steam
# 验证 Steam 数据目录存在
if [[ ! -d "$steam_dir" ]]; then
echo "错误:未找到 Steam(原生)数据目录。" >&2
echo "请至少启动一次 Steam 以生成该目录。" >&2
exit 1
fi
# 如果 Steam 兼容工具文件夹不存在则创建
mkdir -p "$steam_dir/compatibilitytools.d"
# 获取发行版信息
echo "正在获取发行版信息..."
release_json=$(curl -s --max-time 10 \
https://api.github.com/repos/GloriousEggroll/proton-ge-custom/releases/latest)
if [[ -z "$release_json" || "$release_json" != *'"tag_name"'* ]]; then
echo "错误:无法从 GitHub 获取发行版信息。" >&2
exit 1
fi
# 为当前架构解析发行版 URL
echo "正在为您的架构获取发行版..."
case "$(uname -m)" in
aarch64|arm64)
tarball_pattern='\-aarch64\.tar\.gz$'
;;
x86_64)
tarball_pattern='GE-Proton[0-9]+-[0-9]+\.tar\.gz$'
;;
*)
相似文章
将WINE移植到新爱好操作系统
详细记录了将Wine移植到Astral爱好操作系统的过程,通过WoW64实现了32位Windows应用的运行,并解决了OpenGL/EGL依赖问题,从而能够运行Cogmind等游戏。
Gemma 4 12B 是我的新主力
作者分享了从 Qwen 3.6 切换到 Gemma 4 12B(Unsloth Q5_K_XL)进行本地编程的体验,称赞其即插即用的设置、更好的语法准确性以及可控的 VRAM 使用,尽管在速度上略有取舍。
Dolphin Emulator 进展发布 2606
Dolphin Emulator 版本 2606 添加了 Game Boy Player 模拟、Wii RetroAchievements 支持,修复了长期存在的高分辨率画面问题,并使《The Key of Avalon》的多人游戏可玩。
OpenTTD 16.0-Beta1
OpenTTD 16.0-beta1 现已发布,包含了反向行驶的火车、改进的地图生成、多人游戏改进以及标题游戏竞赛。
构建9254修复了我的TG回归问题,并为NVIDIA GPU添加了PDL支持
llama.cpp的构建9254修复了一个token生成回归问题,并添加了对NVIDIA GPU的PDL(程序化依赖启动)支持,在新硬件上token生成速度提升高达10%。