From e96e864417ce69899b72079aad1f7053df82ee2b Mon Sep 17 00:00:00 2001 From: funman300 Date: Thu, 16 Apr 2026 13:17:51 -0700 Subject: [PATCH] new file: .gitignore modified: README.md --- .gitignore | 13 +++++ README.md | 136 +++++++++++++++++++---------------------------------- 2 files changed, 61 insertions(+), 88 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..845e681 --- /dev/null +++ b/.gitignore @@ -0,0 +1,13 @@ +# Editor temp files +*.swp +*.swo +*~ +.idea/ +.vscode/ + +# OS files +.DS_Store +Thumbs.db + +# Downloaded installer (no need to track) +*.exe diff --git a/README.md b/README.md index 491f7ad..04bc4b0 100644 --- a/README.md +++ b/README.md @@ -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//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.