The latest Battle.net update is broken in Wine (and Proton), creating a blank gray window where the launcher UI should be.
If you had it installed before yesterday, your WINEPREFIX probably still contains the previous version in drive_c/Battle.net/Battle.net.14494 . In that case, deleting the (newer) Battle.net.14542 sibling folder and restarting should work around the problem for now.
Note that the new version will be downloaded again at each launch, so you’ll have to perform this workaround every time, until it (hopefully) gets fixed. Alternatively, you can remove write permission to the drive_c/Battle.net folder to prevent downloading new versions, and remember to restore it later.
UPDATE:
Proton-like Wine builds are patched to work around the problem if you set the WINE_SIMULATE_WRITECOPY=1
environment variable. I verified this with a Wine-GE build.
I don’t know if that patch will make it into mainline Wine, but CodeWeavers seem to be supporting the same environment variable.
Better yet, set…
WINE_SIMULATE_WRITECOPY=1
…environment variable in Lutris. Found in the Codeweavers forums for MacOS but many in Lutris Discord confirms it works without having to mess with the directories.
https://www.codeweavers.com/support/forums/general/?t=27;mhl=293530;msg=293516#c7
See https://www.gamingonlinux.com/2023/12/battlenet-broke-in-wine-proton-heres-how-to-fix-for-steam-deck-linux/ for details. I went this route as I play in Steam, I had to do a little bit of googling to find out that he means go to the properties of Proton (like you would a game) and change it to Beta there. My beloved SC2 is now running fine again :)
For folks using Lutris and confused by where to type this in here are some instructions:
System Options → Environment variables → Add the following:
Key: WINE_SIMULATE_WRITECOPY Value: 1
Good luck!
Revert