Blizzard's Battle.net tool was updated recently, probably in preparation for the upcoming WoW expansion called Warlords of Draenor, resulting in either a black screen or distorted / scrambled graphics on Linux (with Wine) with Intel graphics.

It looks like this is not a Wine or Battle.net bug but an Intel graphic drivers bug, at least that's what the Wine developers suggest.

1. There is a partial workaround that you can use to get Battle.net to work under Linux (Wine) with Intel graphics - launching Battle.net with "LIBGL_ALWAYS_SOFTWARE=1".

Unfortunately, using this workaround isn't a solution if you use Battle.net to launch Blizzard's games because they will use software rendering and the performance will be awful. That's why the title says "partial workaround".

This tweak should only be used if you want to install or update Blizzard's games via Battle.net. Of course, if you only want to update games and you've enabled automatic updates, you won't need this, because Battle.net may look broken, but it actually works and it will install the updates (but you won't be able to see the update progress, obviously).

After you've successfully installed a game, you can launch it manually, by double clicking the game executable or via command line - see our World of Warcraft article for how to run WoW using a script (with some performance tweaks).

Here's how Battle.net looks like on my laptop (with Intel graphics) before using this tweak:

And after:

To launch Battle.net with "LIBGL_ALWAYS_SOFTWARE=1", use the following command:

Note that the command above assumes you've installed Battle.net in the default location (~/.wine/drive_c/...) but if you've used a different location, you need to change the path for the command above.

2 (Update): there is another workaround (thanks to synn89 @ Reddit) that shouldn't affect game performance: appending "-opengl" to the Battle.net launch command, like this:

Just like with the fist workaround, the command above assumes you've installed Battle.net in the default location (~/.wine/drive_c/...) but if you've used a different location, you need to change the path for the command above.