Files
Elsword-GE/README.md
T
magges a840db9b41
build-elsword-ge / build (push) Has been cancelled
release: target GE-Proton10-34 with latest DXVK
2026-07-19 21:34:43 +02:00

196 lines
3.8 KiB
Markdown

# 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 4 (`soldier`, appid `4183110`).
- 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
```text
.
├── 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:
```bash
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:
```bash
nix develop -c ./scripts/build.sh stable
```
Build the DXVK Git variant:
```bash
nix develop -c ./scripts/build.sh dxvk-git
```
Build both:
```bash
nix develop -c ./scripts/build.sh all
```
Package both into release archives:
```bash
nix develop -c ./scripts/create-release-archive.sh
```
## Output files
After packaging, the main release files are:
```text
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:
```text
Elsword-GE-10-34-dxvk-git.tar.zst
```
The Steam compatibility tool name still remains exactly:
```text
Elsword-GE-10-34+dxvk-git
```
## Install into Steam
Install a built archive:
```bash
./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:
```bash
./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:
```text
~/.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:
```bash
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.