Files
magges 641608ad26
build-elsword-ge / build (push) Has been cancelled
fix: use Steam Runtime Sniper for Proton 10
2026-07-19 22:03:53 +02:00

3.8 KiB

Elsword-GE Build Project

This repository builds two custom Proton-GE 11 compatibility tools for Elsword on Linux/Steam:

  • Elsword-GE-10-34
  • Elsword-GE-10-34+dxvk-git

It is designed for NixOS and for hosting on a private or public Gitea server with Gitea Actions.

What this project does

  • Builds a Proton-GE 10-34 / Wine 10 based compatibility tool for Elsword.
  • Uses Steam Linux Runtime Sniper (appid 1628350), matching GE-Proton 10.
  • Builds DXVK for both x86 and x64.
  • Produces release archives that other users can install into Steam.
  • Disables optional extras that are known to be risky for game stability by default:
    • PROTON_DISCORD_BRIDGE=0
    • PROTON_USE_OPTISCALER=0
    • PROTON_USE_D7VK=0
    • MANGOHUD=0
    • ENABLE_VKBASALT=0

What this project does not do

  • No GameGuard bypass.
  • No anti-cheat bypass.
  • No patching or hooking of GameGuard.
  • No hard override of LOW_LATENCY_LAYER.
  • No global hard override of LD_PRELOAD.

Variant difference

  • Elsword-GE-10-34

    • Proton-GE 11 base
    • DXVK newest stable release at build time
  • Elsword-GE-10-34+dxvk-git

    • Proton-GE 11 base
    • DXVK from current upstream Git

Repository layout

.
├── flake.nix
├── README.md
├── LICENSE
├── .gitignore
├── .gitea/
│   └── workflows/
│       └── build.yml
├── scripts/
│   ├── common.sh
│   ├── build.sh
│   ├── package.sh
│   ├── install-to-steam.sh
│   ├── validate-build.sh
│   └── create-release-archive.sh
├── patches/
│   └── proton-defaults-elsword.patch
├── profiles/
│   └── elsword-launch-options.md
└── dist/

NixOS prerequisites

Use the provided flake:

nix develop

The shell includes build dependencies such as:

  • git
  • bash
  • coreutils
  • findutils
  • gnused
  • gnugrep
  • gawk
  • jq
  • curl
  • wget
  • tar
  • zstd
  • meson
  • ninja
  • python3
  • pkg-config
  • cmake
  • perl
  • patchelf
  • binutils
  • mingw-w64 toolchains for i686 and x86_64
  • Wine / wow64 support

Local build

Build the stable DXVK variant:

nix develop -c ./scripts/build.sh stable

Build the DXVK Git variant:

nix develop -c ./scripts/build.sh dxvk-git

Build both:

nix develop -c ./scripts/build.sh all

Package both into release archives:

nix develop -c ./scripts/create-release-archive.sh

Output files

After packaging, the main release files are:

dist/Elsword-GE-10-34.tar.zst
dist/Elsword-GE-10-34+dxvk-git.tar.zst
dist/Elsword-GE-10-34-dxvk-git.tar.zst
dist/SHA256SUMS.txt
dist/release-notes.md

If + causes issues in a filesystem or upload target, the safe alias is:

Elsword-GE-10-34-dxvk-git.tar.zst

The Steam compatibility tool name still remains exactly:

Elsword-GE-10-34+dxvk-git

Install into Steam

Install a built archive:

./scripts/install-to-steam.sh dist/Elsword-GE-10-34.tar.zst
./scripts/install-to-steam.sh dist/Elsword-GE-10-34+dxvk-git.tar.zst

Generic installer for release archives, including Flatpak Steam users:

./scripts/install-compat-tool.sh /path/to/Tool.tar.zst
./scripts/install-compat-tool.sh --flatpak /path/to/Tool.tar.zst
./scripts/install-compat-tool.sh --all /path/to/Tool.tar.zst

Target path:

~/.local/share/Steam/compatibilitytools.d/

After install:

  1. Fully restart Steam.
  2. Open Elsword properties in Steam.
  3. Select the matching compatibility tool.

Debugging

For Proton logs:

PROTON_LOG=1 %command%

Security and anti-cheat note

This project intentionally avoids:

  • GameGuard bypasses
  • anti-cheat bypasses
  • GameGuard patches
  • GameGuard hooks

The goal is only a clean Proton-GE build with complete DXVK payloads and conservative defaults for optional extras.