Qt plugin issue when using steam-run

I am new to NixOS and I have an issue getting a specific program on steam to run. When I use steam-run I get the following issue:

This application failed to start because it could not find or load the Qt platform plugin "xcb".

Available platform plugins are: linuxfb, minimal, offscreen, xcb.

Reinstalling the application may fix this problem.

I tried adding Qt to the extraPkgs, but that did not help either.

Some information about my system:

  • system: "x86_64-linux"
  • host os: Linux 4.19.80, NixOS, 19.09.891.80b42e630b2 (Loris)
  • multi-user?: yes
  • sandbox: yes
  • version: nix-env (Nix) 2.3
  • nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

I am using stumpwm as my window manager.

I can provide more information if needed.

@worldofpeace I know we have the libsForQt5.mkDerivation for wrapping most packages, but what about buildFHSUser?

I’d think that maybe in an FHS environment there would be no issues, but perhaps it’s because the plugins are in an alternate directory.

Someone could add wrapQtAppsHook to nativeBuildInputs so they can make use of the setupHook.
Either it can wrap things automatically, or done manually in preFixup like

wrapQtApp $out/bin/$binary

I already tried creating an FHS environment and run the program from there, but it will fail with the exact same error.

Regarding the things you proposed that could be added. Is there a way I can do that myself using an overlay or something? Haven’t really done anything like that yet, since everything else just worked so far.

As this issue sounds more like it’s not on my end, should I open an issue on github for this?

Yeah, if you can open an issue on GitHub with what program on steam that can’t run with steam-run we can figure out how to accommodate it. Interesting that’s a Qt program.

@worldofpeace
Okay, will do that. The program in question is not freely available though.

Got it working, by changing up the RPG Maker MV.sh file.

It just had LD_LIBRARY_PATH=$dirname instead of LD_LIBRARY_PATH=$dirname:$LD_LIBRARY_PATH.