+- **Both pads control both screens / keyboard controls both:** the games read input
+ globally. Controllers are isolated by `bwrap` device-masking (default). Keyboard &
+ mouse are *not* isolated — use a controller per player; kb/mouse is only for menus.
+- **A pad drives the wrong screen or none:** ensure `ISOLATION=bwrap` (default). If
+ **Steam is running**, its Steam Input virtual pads can interfere — quit Steam.
+- **Stuck on "Creating online session":** should be quick with `offline=1` (set by
+ setup). If a co-op *join* ever breaks, remove the offline setting:
+ `rm p{1,2}/game/Binaries/Win32/steam_settings/configs.main.ini`
+- **They don't see each other on LAN:** Player 1 hosts first (the script staggers
+ launches). Discovery uses `custom_broadcasts.txt` (localhost).
+- **The 2nd instance is visible but stuck on the loading screen — and only advances
+ when you jiggle the mouse.** Root cause: BL2's `bPauseOnLossOfFocus=TRUE` — the
+ game **pauses itself whenever its window isn't focused**. In split-screen only one
+ window is focused at a time, so the unfocused instance freezes until an input event
+ wakes it. `setup`/`run` patch each prefix's `WillowEngine.ini` to
+ `bPauseOnLossOfFocus=FALSE` so every instance keeps running unfocused. (This was
+ *not* CPU scaling, entropy, or window occlusion — those were dead ends.) The
+ instances also share a DXVK shader cache so the 2nd reuses the 1st's compiled
+ shaders; `STAGGER=45` further separates their loads if a cold first run is slow.
+- **Two soundtracks at once:** each instance sets `bMuteAudioWhenNotInFocus=TRUE`, so
+ only the focused window plays audio — the sound follows whichever instance you're
+ focused on, instead of both playing together.
+- **In-game "Quit Borderlands 2 → Yes" does nothing / hangs:** the game's shutdown
+ path stalls under Goldberg (Steam-networking cleanup, worse with offline mode).
+ Don't use in-game Quit — close with **`./bl2-splitscreen.sh kill`** or **Ctrl-C**
+ in the run terminal (safe: you're at the menu, nothing is saving).
+- **Ctrl-C / kill left something running:** `./bl2-splitscreen.sh kill` tears down
+ the whole game + Proton/Wine tree.
+- **A window won't sit on its monitor:** re-run `./bl2-splitscreen.sh tile`; raise
+ `SPLASH_WAIT` if it fires before the game settles.
+- **Reset everything:** `./bl2-splitscreen.sh clean` (removes copies + saves; the
+ real Steam install is untouched).
+
+## Native (Aspyr Linux) fallback
+
+If Steam has the native Linux build installed, the script auto-detects `native` mode:
+it uses the **classic Mr_Goldberg** `.so` (gbe_fork crashes that old binary), runs
+inside the Steam scout runtime, and isolates controllers the same way. It works, but
+the second instance is prone to crashing — prefer the Proton path.