Installing Battle.net

Hi. I have been trying to install Battle.net on Bottles and even Lutris. Nothing works. The installation never completes. It crashes when trying to install the Agent. I checked for the dependencies on the Bottles website and installed them. I changed some parameters (what Bottles website says to change) but I’m not sure where the “discrete_gpu: true” parameter is.

I don’t know what to do. I’m a beginner in Linux. Thank you.

I got it to install using Steam (vast majority of my games are on Steam anyway). You can add non-steam games to the Steam launcher, so you just add the BattleNet installer, and run it from there. In some cases I had to tell Steam what version of Proton to use, but between the latest numbered version and the experimental version, it worked.

Once installed, you do the same thing for the actual Battle.net launcher, and then again for the games.

2 Likes

Have you tried to install Battle.net using installer, provided by Bottles? If you create an empty bottle, then open its settings and select Install programs, there is a list of automated installers here, including Battle.net.
Also, if nothing helps, you can try different Wine distributions too. Usually, Proton-GE is the most feature-rich.

3 Likes

You mean the native version of Steam? I’ll try that.

I tried downloading the .exe and letting Bottles download it.

Edit: I installed the native Steam and it refuses to work.

I added GE-Proton-31 and still no go.

Also I doubt my Bottles program is working properly because I can’t see any of the bottles I created beside the one I manually added to the library (“Bibliothèque” in this case). When I click on “Bouteilles” (Bottles) it doesn’t do anything. I tried removing the software by deleting the name in configuration.nix but all the files and folders from Bottles are still there.

Ok. It seems my problem was coming from the lack of installed features for my GPU (like Vulkan and OpenCL). Now Battle.net was able to install itself in Bottles. I’m installing Diablo 4 right now so I’ll see if it works or not (maybe I need other stuff).

Steam is also working natively now.

Now my problem is why is everything in those two software are so small (writting, links, etc)?

So after changing the code services.xserver.videoDrivers = [“amdgpu”]; to services.xserver.videoDrivers = [“modesetting”]; vulkan-tools doesn’t give anymore error messages but I get some for OpenGL (EGL) and I think it’s only about a permission issue when run in the information center (not sure if it’s the correct english name) from the info I found on the net.

But now, Battle.net doesn’t start in Bottles anymore. It crashes when updating the Agent. So I’m back to square one.

Hi !
If you want more help from the community, you should provide more info aside from generic “It crashes somewhere”. If you start bottles from the terminal, you should get logs from it as well as processes running inside wine.
From my experience, running games/programs in Wine on Linux always requires some fiddling with settings/recreation of prefixes/tryout of different wine distributions/etc . You have to be prepared for that :slight_smile: Another suggestion I can give you is to look into protondb for reviews from other users, they might contain useful tips.

Also I vaguely remember this happening to me too, and it was related to some missing Gnome/dconf/dbus settings. Bottles logs should contain more info on that matter and what exactly is missing.

Just to share my recent experience, I installed battlenet and diablo4 using lutris.

  environment.systemPackages = with pkgs; [
    mangohud
    lutris (
      lutris.override {
        extraPkgs = pkgs: [
          pkgs.libnghttp2
          pkgs.winetricks
        ];
      }
    )
  ];

I had to add libnghttp2 so that lutris could download the battlenet installer. Winetricks can also be helpful for some games to work correctly.

When you launch the battlenet installer in lutris the first time, let it go through then quit battlenet when it prompts you to login. Now launch battlenet again and you can proceed as usual and install games through it. As a side note, the performance on the battlenet login prompt is awful on my config, but everything is fine inside battlenet after that.

IIRC, I did not make any change from the lutris default except for selecting the right GPU. Otherwise I had crashes when launching D4.

You can also use the Steam way of adding the installer as an external “game” but its less user friendly, and if you want to use protonGE you need to add it to steam manually.

Hardware side, I used GitHub - NixOS/nixos-hardware: A collection of NixOS modules covering hardware quirks. to find the relevant configs for my machine.

1 Like

I would like to but I don’t know how.

For now I can show this photo of what happends in Lutris. I added your code @kaelnor but the end result is the same.

Hi. I checked my version of Wine using the command wine --version and I have version 8.0.
I have a AMD Radeon RX 6800 (from Sapphire) and a Ryzen 7 7700 cpu. I’m on NixOS version 23.05.

When running Lutris with the command lutris -d I find these messages in the log.
get_stub_manager_from_ipid not found for ipid {00000003-0000-0130-9418-60e776554dda}

Also:
NdrClearOutParameters (000000000274E8C0,00000000009F5DEC,000000000274F100): stub

and
uia_element_GetCurrentPropertyValueEx Default property values currently unimplemented

Hope that helps.

this is very useful to me.thx

Can anyone help with this problem?

The images and messages you shared are red herrings. There are lots of unimplemented things in wine that are just that, not implemented, and don’t actually cause any problems for most software.

I believe the second image isn’t scrolled all the way down, and therefore doesn’t contain any of the messages that might indicate what’s going on. It’d be best if you just shared the full text output instead of screenshots, I’m sure there’s a button somewhere in lutris that lets you copy it.

How exactly you installed lutris may also be relevant.

If you’re going to keep trying, I’d abandon that particular prefix personally, it’s likely not going to manage to install anything functional at this point, the lutris installers are very finicky.

Yes, files created by the applications at runtime aren’t removed when they are removed from configuration.nix. Only the contents of the package are removed (and also only after a nix-collect-garbage). You’ll have to delete the directories manually, but NixOS at least guarantees that it is safe to do so, only way to get into a non-bootable state without extreme measures is to delete /boot.

NixOS has no way of tracking what gets created by which application. There’s sadly just no support for doing things like that on Linux.

Well, take the "no support" with a grain of salt

I guess something like that could be done with SELinux or apparmor, and some tedious work on getting applications to actually work within those constraints, as well as some patches to nixpkgs so it can learn to clean up data folders of deleted applications.

Flatpak is of course also in theory capable of it, since it has full control over the entire environment of the application, but chooses not to at the moment.

Deleting user data is always a tricky thing to do correctly, so people tend to not do it at all. Even Android and iOS, which are probably the most advanced end-user oriented operating systems out there, avoid it.

1 Like

I checked in Lutris and there are no buttons to show the log. I used Konsole to show some error messages but most of it is just repeating the same error message.

I’m trying to remove Lutris completely and reinstalling it. So far I removed the name in the package list from the config file, used the command sudo rm -rf /nix/store/lutris and then I ran nix-collect-garbage. I also did a rebuild. Now while it removed some files and folders, there are still some left but with weird names like 0byjad1bdamd5nd1g2z3s734rfby10dd-lutris-usr-target (I do not know if I should remove them or not).

Ok good news. I also did a sudo nix-store --verify --check-contents --repair command, it did it’s thing without giving any error messages. I went back into the config and uncommented the Lutris package and rebuilt NixOS. I was able to install Battle.net and the game. It’s now working.

I found this info.

I sincerely doubt it was the store repair, since everything Lutris actually does happens outside of the nix store. If the store repair didn’t tell you it did anything, it also didn’t actually do anything.

Ultimately Lutris installers are just finnicky, they are far from reproducible. I don’t really like it, but if you try a few times with fresh prefixes (that’s within Lutris, reinstalling Lutris isn’t necessary to get a fresh prefix, especially on NixOS reinstallation is effectively pointless) it tends to work.

But nice that you eventually did get there :slight_smile:

1 Like

Yup, I absolutely do not know how it was fixed. I just wrote what I did. You know better than me (not trying to insult you here) because I’m new to Linux. I don’t understand what you mean by fresh prefixes. Thank you for all your help.