new file: .gitignore
modified: README.md
This commit is contained in:
+13
@@ -0,0 +1,13 @@
|
||||
# Editor temp files
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
.idea/
|
||||
.vscode/
|
||||
|
||||
# OS files
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# Downloaded installer (no need to track)
|
||||
*.exe
|
||||
@@ -14,7 +14,6 @@ A guide for installing the Battle.net launcher on Arch Linux (2026).
|
||||
| **Steam + Proton-GE (non-Steam shortcut)** | People who already run Steam. | Low |
|
||||
| **Lutris (official installer script)** | People who want a GUI game manager. | Low–Medium |
|
||||
| **Bottles (Flatpak, Gaming environment)** | Flatpak-first setups. | Low |
|
||||
| **Manual `wine-staging` prefix** | Pure-Wine purists, non-Proton setups. | High |
|
||||
|
||||
If you just want it to work: use **Method 1 (umu)**. It gives you Proton-grade compatibility without Steam, and the upstream protonfix for Battle.net automatically applies the workarounds you'd otherwise have to remember.
|
||||
|
||||
@@ -74,7 +73,7 @@ sudo pacman -Syu
|
||||
|
||||
> You do **not** need `[testing]`, `[core-testing]`, or `[multilib-testing]` enabled. The old guide told you to enable those — don't. Testing repos are for people actively helping test Arch itself and will periodically break your system.
|
||||
|
||||
**For umu-launcher (Methods 1–4):** Proton-GE runs inside the Steam Runtime container, which bundles most libraries. Only the things the container cannot provide need to be on the host — Vulkan ICDs, audio, and TLS:
|
||||
Proton-GE runs inside the Steam Runtime container, which bundles most libraries. Only the things the container cannot provide need to be on the host — Vulkan ICDs, audio, and TLS:
|
||||
|
||||
```bash
|
||||
sudo pacman -S --needed \
|
||||
@@ -87,28 +86,6 @@ sudo pacman -S --needed \
|
||||
vulkan-icd-loader lib32-vulkan-icd-loader
|
||||
```
|
||||
|
||||
**For plain wine-staging (Method 5 only):** Wine runs directly on the host, so it needs the full set of libraries:
|
||||
|
||||
```bash
|
||||
sudo pacman -S --needed \
|
||||
wine-staging winetricks \
|
||||
gnutls lib32-gnutls \
|
||||
mpg123 lib32-mpg123 \
|
||||
openal lib32-openal \
|
||||
libpulse lib32-libpulse \
|
||||
alsa-plugins lib32-alsa-plugins \
|
||||
alsa-lib lib32-alsa-lib \
|
||||
giflib lib32-giflib \
|
||||
libpng lib32-libpng \
|
||||
libldap lib32-libldap \
|
||||
libjpeg-turbo lib32-libjpeg-turbo \
|
||||
libxcomposite lib32-libxcomposite \
|
||||
libxinerama lib32-libxinerama \
|
||||
gtk3 lib32-gtk3 \
|
||||
gst-plugins-base-libs \
|
||||
vulkan-icd-loader lib32-vulkan-icd-loader
|
||||
```
|
||||
|
||||
### GPU-specific packages
|
||||
|
||||
Install the right set for your GPU — getting this wrong is the most common reason a successful install fails to render:
|
||||
@@ -121,11 +98,13 @@ Install the right set for your GPU — getting this wrong is the most common rea
|
||||
|
||||
The `battlenet-umu-setup.sh` script auto-detects your GPU and installs the correct set. Override with `--gpu=nvidia|amd|intel` if detection is wrong.
|
||||
|
||||
> If you specifically want pure Wine without Proton, that is outside the scope of this guide.
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Before you start — things the old guide got wrong
|
||||
|
||||
- **Do not run Wine, winecfg, winetricks, or game launchers with `sudo`.** Wine prefixes are designed to live in your user's home directory. Running Wine as root corrupts ownership, creates a `/root` prefix, and is a real security risk since you're executing untrusted Windows binaries as root. Every command in this guide runs as your regular user.
|
||||
- **Do not run umu-run or game launchers with `sudo`.** Wine prefixes live in your user's home directory. Running as root corrupts ownership and is a real security risk since you're executing untrusted Windows binaries as root. Every command in this guide runs as your regular user.
|
||||
- **You do not need `dotnet48`, `vcrun2003/2005/2008/2012/2013`, or `directplay`.** Modern Battle.net ships its own CEF runtime.
|
||||
- **You do not need to manually install DXVK into `system32`.** Proton-GE bundles a current DXVK and VKD3D.
|
||||
- **You do not need the 2010 DirectX End-User Runtime redist.** Battle.net doesn't need it, and games that do will install their own D3DX DLLs.
|
||||
@@ -313,67 +292,6 @@ The launcher shows up in the bottle's **Programs** list.
|
||||
|
||||
---
|
||||
|
||||
## Method 5 — Manual wine-staging prefix (advanced, no Proton)
|
||||
|
||||
Use this only if you specifically want pure Wine without Proton.
|
||||
|
||||
### 1. Create a 64-bit prefix
|
||||
|
||||
```bash
|
||||
# As your normal user — NOT root
|
||||
export WINEPREFIX="$HOME/Games/battlenet-wine-prefix"
|
||||
export WINEARCH=win64
|
||||
|
||||
mkdir -p "$WINEPREFIX"
|
||||
winecfg
|
||||
```
|
||||
|
||||
In `winecfg`, set the Windows version to **Windows 10** and close.
|
||||
|
||||
### 2. Install DXVK
|
||||
|
||||
```bash
|
||||
WINEPREFIX="$HOME/Games/battlenet-wine-prefix" winetricks dxvk
|
||||
```
|
||||
|
||||
That single command replaces what the old guide did by hand with `cp -r` into `system32`/`syswow64`. **Do not copy DLLs manually.**
|
||||
|
||||
### 3. Download and run the installer
|
||||
|
||||
```bash
|
||||
curl -L -o ~/Downloads/Battle.net-Setup.exe \
|
||||
"https://downloader.battle.net/download/getInstaller?os=win&installer=Battle.net-Setup.exe"
|
||||
|
||||
WINEPREFIX="$HOME/Games/battlenet-wine-prefix" \
|
||||
WINE_SIMULATE_WRITECOPY=1 \
|
||||
wine ~/Downloads/Battle.net-Setup.exe
|
||||
```
|
||||
|
||||
### 4. Launch scripts
|
||||
|
||||
`~/.local/bin/battlenet`:
|
||||
|
||||
```bash
|
||||
#!/bin/sh
|
||||
export WINEPREFIX="$HOME/Games/battlenet-wine-prefix"
|
||||
export WINE_SIMULATE_WRITECOPY=1
|
||||
exec wine "$WINEPREFIX/drive_c/Program Files (x86)/Battle.net/Battle.net Launcher.exe" "$@"
|
||||
```
|
||||
|
||||
`~/.local/bin/battlenetkill`:
|
||||
|
||||
```bash
|
||||
#!/bin/sh
|
||||
export WINEPREFIX="$HOME/Games/battlenet-wine-prefix"
|
||||
wineserver -k
|
||||
```
|
||||
|
||||
```bash
|
||||
chmod +x ~/.local/bin/battlenet ~/.local/bin/battlenetkill
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Adding ~/.local/bin to PATH
|
||||
|
||||
Most Arch shell setups include `~/.local/bin` automatically, but if yours doesn't:
|
||||
@@ -423,8 +341,44 @@ Historically the most problematic title on Wine. With umu + protonfixes it works
|
||||
|
||||
---
|
||||
|
||||
## Updating GE-Proton
|
||||
|
||||
Use `battlenet-update-proton.sh` to download a new GE-Proton release and switch to it without touching your prefix:
|
||||
|
||||
```bash
|
||||
# Interactive picker — shows the 10 most recent releases, marks which are installed
|
||||
./battlenet-update-proton.sh
|
||||
|
||||
# Auto-install the latest release non-interactively
|
||||
./battlenet-update-proton.sh --latest
|
||||
|
||||
# List available releases and exit
|
||||
./battlenet-update-proton.sh --list
|
||||
|
||||
# Install a specific version
|
||||
./battlenet-update-proton.sh --version=GE-Proton9-20
|
||||
```
|
||||
|
||||
The script downloads the selected version into `~/.local/share/Steam/compatibilitytools.d/` and updates `~/.local/bin/battlenet` to point at it. Restart Battle.net after switching.
|
||||
|
||||
**Rolling back:** if a new release breaks something, just pin the previous known-good version:
|
||||
|
||||
```bash
|
||||
./battlenet-update-proton.sh --version=GE-Proton9-20
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
If you are not sure where to start, run the diagnose script first — it checks your entire setup and reports exactly what is wrong:
|
||||
|
||||
```bash
|
||||
./battlenet-diagnose.sh
|
||||
```
|
||||
|
||||
It covers: GPU/Vulkan drivers, umu-launcher, GE-Proton installation, prefix health, launch script env vars, stale agent locks, XWayland availability, and running processes.
|
||||
|
||||
### "Battle.net Update Agent went to sleep. Attempting to wake it up… BLZBNTBNA00000005"
|
||||
|
||||
The most common 2025–2026 failure mode. In order:
|
||||
@@ -480,7 +434,13 @@ sudo rm -rf /home/<user>/Games/battlenet-wine-prefix
|
||||
|
||||
### Something else is broken
|
||||
|
||||
Delete the prefix and start over — this really does fix most weird states.
|
||||
Run the diagnose script first — it will usually point at the specific problem:
|
||||
|
||||
```bash
|
||||
./battlenet-diagnose.sh
|
||||
```
|
||||
|
||||
If nothing obvious comes up, delete the prefix and start over — this really does fix most weird states:
|
||||
|
||||
```bash
|
||||
rm -rf "$HOME/Games/battlenet-umu" # or battlenet-wine-prefix
|
||||
@@ -547,7 +507,7 @@ Blizzard does not ban for running via Wine/Proton/Linux. Their Warden anti-cheat
|
||||
- Removed manual DirectX June 2010 redist install step.
|
||||
- Removed advice to enable Arch `[testing]` repos.
|
||||
- Added **umu-launcher** as the recommended method — protonfixes handle the Battle.net workarounds automatically.
|
||||
- Added Steam + Proton-GE, Lutris, and Bottles methods.
|
||||
- Added Steam + Proton-GE, Lutris, and Bottles methods. Removed wine-staging method.
|
||||
- Added `WINE_SIMULATE_WRITECOPY=1` workaround for the modern CEF login/agent issues.
|
||||
- Replaced `/usr/bin/` install of user launch scripts with `~/.local/bin/`.
|
||||
- Set default Wine Windows version to Windows 10 rather than Windows 7.
|
||||
|
||||
Reference in New Issue
Block a user