new file: .gitignore

modified:   README.md
This commit is contained in:
funman300
2026-04-16 13:17:51 -07:00
parent a92e8ca530
commit e96e864417
2 changed files with 61 additions and 88 deletions
+48 -88
View File
@@ -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. | LowMedium |
| **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 14):** 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 20252026 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.