]> vilimpoc.org git repositories - bl2-split/blobdiff - README.md
Document haveged entropy fix and in-game-quit workaround
[bl2-split] / README.md
index bf009c772380cfb79981d9897b11b1429baae718..d25a765db489d17b1f403941d08130a6e851bafc 100644 (file)
--- a/README.md
+++ b/README.md
@@ -23,6 +23,11 @@ their own controller, save, and screen. Tested on **Arch + KDE Plasma 6 (Wayland
   ```
   sudo pacman -S umu-launcher qt6-tools bubblewrap libarchive curl binutils
   ```
   ```
   sudo pacman -S umu-launcher qt6-tools bubblewrap libarchive curl binutils
   ```
+- **Recommended:** an entropy daemon so the second instance doesn't stall on
+  startup waiting for randomness (see Troubleshooting):
+  ```
+  sudo pacman -S haveged && sudo systemctl enable --now haveged
+  ```
 - Two Xbox controllers (any two distinguishable pads).
 
 ## Setup
 - Two Xbox controllers (any two distinguishable pads).
 
 ## Setup
@@ -118,10 +123,17 @@ So another person clones the repo, forces Proton on their own BL2 in Steam, runs
   `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).
   `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 takes ages to reach the menu:** the two share a DXVK shader
-  cache (`dxvk-cache/`) so the 2nd reuses the 1st's shaders; the first-ever run
-  still compiles them. If it's still slow, raise the gap between launches so the 1st
-  is fully loaded before the 2nd starts: `STAGGER=45 ./bl2-splitscreen.sh run`.
+- **The 2nd instance takes ages to reach the menu — and speeds up when you jiggle
+  the mouse:** classic **entropy starvation** — something in the Wine/Goldberg/crypto
+  path blocks on `/dev/random` waiting for randomness, and mouse movement feeds the
+  pool. Fix it with an entropy daemon (also in Requirements):
+  `sudo pacman -S haveged && sudo systemctl enable --now haveged`.
+  The two instances also share a DXVK shader cache (`dxvk-cache/`) so the 2nd reuses
+  the 1st's shaders; if still slow, raise the launch gap: `STAGGER=45 ./bl2-splitscreen.sh run`.
+- **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
 - **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