Cannot run IDA Free with steam-run (Could not load the Qt platform plugin "xcb" in ")

I’ve installed IDA Free, using steam-run to get the installer to work. I also need to use steam-run to run ida64, as otherwise it simply segfaults.

~/ida> steam-run ./ida64
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.

Other results discussing this error were unhelpful. There’s this github issue discussing the same error but with appimage-run: appimage-run: Could not load the Qt platform plugin "xcb" in "" even though it was found. · Issue #238820 · NixOS/nixpkgs · GitHub

Their solution was QT_PLUGIN_PATH= appimage-run ./Tahoma2D.AppImage. This solution does not work for me, I’ve tried QT_PLUGIN_PATH= steam-run ./ida64 to no avail.

Here’s the output with QT_DEBUG_PLUGINS=1

~/ida> QT_DEBUG_PLUGINS=1 steam-run ./ida64
QFactoryLoader::QFactoryLoader() checking directory path "/home/ezra/ida/plugins/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/home/ezra/ida/plugins/platforms/libqeglfs.so"
Found metadata in lib /home/ezra/ida/plugins/platforms/libqeglfs.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "eglfs"
        ]
    },
    "archreq": 0,
    "className": "QEglFSIntegrationPlugin",
    "debug": false,
    "version": 331520
}


Got keys from plugin meta data ("eglfs")
QFactoryLoader::QFactoryLoader() looking at "/home/ezra/ida/plugins/platforms/libqlinuxfb.so"
Found metadata in lib /home/ezra/ida/plugins/platforms/libqlinuxfb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "linuxfb"
        ]
    },
    "archreq": 0,
    "className": "QLinuxFbIntegrationPlugin",
    "debug": false,
    "version": 331520
}


Got keys from plugin meta data ("linuxfb")
QFactoryLoader::QFactoryLoader() looking at "/home/ezra/ida/plugins/platforms/libqminimal.so"
Found metadata in lib /home/ezra/ida/plugins/platforms/libqminimal.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "minimal"
        ]
    },
    "archreq": 0,
    "className": "QMinimalIntegrationPlugin",
    "debug": false,
    "version": 331520
}


Got keys from plugin meta data ("minimal")
QFactoryLoader::QFactoryLoader() looking at "/home/ezra/ida/plugins/platforms/libqminimalegl.so"
Found metadata in lib /home/ezra/ida/plugins/platforms/libqminimalegl.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "minimalegl"
        ]
    },
    "archreq": 0,
    "className": "QMinimalEglIntegrationPlugin",
    "debug": false,
    "version": 331520
}


Got keys from plugin meta data ("minimalegl")
QFactoryLoader::QFactoryLoader() looking at "/home/ezra/ida/plugins/platforms/libqoffscreen.so"
Found metadata in lib /home/ezra/ida/plugins/platforms/libqoffscreen.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "offscreen"
        ]
    },
    "archreq": 0,
    "className": "QOffscreenIntegrationPlugin",
    "debug": false,
    "version": 331520
}


Got keys from plugin meta data ("offscreen")
QFactoryLoader::QFactoryLoader() looking at "/home/ezra/ida/plugins/platforms/libqvnc.so"
Found metadata in lib /home/ezra/ida/plugins/platforms/libqvnc.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "vnc"
        ]
    },
    "archreq": 0,
    "className": "QVncIntegrationPlugin",
    "debug": false,
    "version": 331520
}


Got keys from plugin meta data ("vnc")
QFactoryLoader::QFactoryLoader() looking at "/home/ezra/ida/plugins/platforms/libqxcb.so"
Found metadata in lib /home/ezra/ida/plugins/platforms/libqxcb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "xcb"
        ]
    },
    "archreq": 0,
    "className": "QXcbIntegrationPlugin",
    "debug": false,
    "version": 331520
}


Got keys from plugin meta data ("xcb")
QFactoryLoader::QFactoryLoader() checking directory path "/home/ezra/ida/platforms" ...
Cannot load library /home/ezra/ida/plugins/platforms/libqxcb.so: (libxcb-icccm.so.4: cannot open shared object file: No such file or directory)
QLibraryPrivate::loadPlugin failed on "/home/ezra/ida/plugins/platforms/libqxcb.so" : "Cannot load library /home/ezra/ida/plugins/platforms/libqxcb.so: (libxcb-icccm.so.4: cannot open shared object file: No such file or directory)"
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.

Here’s my system information:

nix-info -m
 - system: `"x86_64-linux"`
 - host os: `Linux 6.3.6, NixOS, 23.11 (Tapir), 23.11pre493468.dc6e512861a`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.15.1`
 - channels(ego): `""`
 - channels(root): `"nixos, nixpkgs, old-22.05"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Any ideas? I would really like to be able to use IDA on NixOS.

There’s a PR for a proper derivation, which doesn’t rely on steam-run: ida-free: init at 8.2.230124

Needs a minor version bump, but otherwise it looks like it wouldn’t be too hard to have that merged if you help to draw the attention of someone with commit permission.