Opening Controller Settings for Left 4 Dead 2 (AppID 550) shows a completely blank page, in both the desktop client and Big Picture.
Expected: the normal Steam Input controller layout/binding screen, which works correctly for other games (tested working with PEAK).
The UI is still responsive despite being blank — moving the stick triggers the "failed to navigate" sound, and pressing buttons appears to select an invisible element, so input is reaching the UI but nothing renders. Console log shows a repeated assertion failure and L4D2 falling back to an empty controller config:
src/steamUI/controllerconfig.h (126) : Assertion Failed: CPrepareConfigWorker failed for AppID 550
Loaded Config for Local Override Path for App ID 550, Controller 0: /controller_base/empty.vdf
Not a controller/driver issue — same controller (generic pad identifying as Xbox Wireless Controller, Bluetooth, xpadneo driver) works fine in every other game tested
Not a Bluetooth binding/udev conflict — clean single device bind, no driver contention (confirmed via dmesg/udev rules)
Clearing htmlcache — no change
Changing UseSteamControllerConfig in localconfig.vdf (2 → 1) — no change
Not the "empty workshop config folder" bug reported in other threads — controller.txt shows HID: Add to Config Cache - full cache hit 0 550 immediately before each failure, so the config cache lookup itself succeeds. The failure happens during preparation, after a successful cache hit, not during lookup/fetch.
Also found and fixed a separate, related bug: the global Desktop Layout (Settings → Controller → Non-Game Controller Layout) had Steam Input disabled with a blank default button map. Fixed that, then retested L4D2 — no change. This looks like a second, independent instance of the same underlying CPrepareConfigWorker bug rather than one causing the other.
Only working fix found: disabling Steam Input for L4D2 entirely (Properties → Controller → Disable Steam Input) and using Source engine's native "Enable Gamepad" option instead. Works, but loses Steam Input features (rebinding, gyro, etc).
The same CPrepareConfigWorker failed assertion appears in several other unrelated reports across different games/engines/distros (Elden Ring, PAC-MAN WORLD, others — see steamcommunity.com/app/1245620/discussions/0/601906267549648398 and github.com/ValveSoftware/steam-for-linux/issues/8949), suggesting this is a client-side bug in the controller config subsystem rather than something specific to L4D2. Fixes that worked in those threads (replacing a missing workshop config file, resetting the global Desktop Layout) did not resolve this case, so there may be more than one distinct bug sharing this assertion/symptom.
Steps for reproducing this issue:
Connect a Bluetooth controller identifying as an Xbox controller (tested with a generic pad via the xpadneo driver)
Launch Left 4 Dead 2
Open Controller Settings (in-game via the Steam Input menu, or via Big Picture / desktop client Properties → Controller → View/Edit Layout) — page loads blank instead of showing the layout editor
I believe this to be a Steam issue rather than a Source Engine issue hence the post here
Your system information
Please describe your issue in as much detail as possible:
System Info Log
Opening Controller Settings for Left 4 Dead 2 (AppID 550) shows a completely blank page, in both the desktop client and Big Picture.
Expected: the normal Steam Input controller layout/binding screen, which works correctly for other games (tested working with PEAK).
The UI is still responsive despite being blank — moving the stick triggers the "failed to navigate" sound, and pressing buttons appears to select an invisible element, so input is reaching the UI but nothing renders. Console log shows a repeated assertion failure and L4D2 falling back to an empty controller config:
console_log
Things ruled out during troubleshooting:
Not a controller/driver issue — same controller (generic pad identifying as Xbox Wireless Controller, Bluetooth, xpadneo driver) works fine in every other game tested
Not a Bluetooth binding/udev conflict — clean single device bind, no driver contention (confirmed via dmesg/udev rules)
Clearing htmlcache — no change
Changing UseSteamControllerConfig in localconfig.vdf (2 → 1) — no change
Not the "empty workshop config folder" bug reported in other threads — controller.txt shows HID: Add to Config Cache - full cache hit 0 550 immediately before each failure, so the config cache lookup itself succeeds. The failure happens during preparation, after a successful cache hit, not during lookup/fetch.
Also found and fixed a separate, related bug: the global Desktop Layout (Settings → Controller → Non-Game Controller Layout) had Steam Input disabled with a blank default button map. Fixed that, then retested L4D2 — no change. This looks like a second, independent instance of the same underlying CPrepareConfigWorker bug rather than one causing the other.
Only working fix found: disabling Steam Input for L4D2 entirely (Properties → Controller → Disable Steam Input) and using Source engine's native "Enable Gamepad" option instead. Works, but loses Steam Input features (rebinding, gyro, etc).
The same CPrepareConfigWorker failed assertion appears in several other unrelated reports across different games/engines/distros (Elden Ring, PAC-MAN WORLD, others — see steamcommunity.com/app/1245620/discussions/0/601906267549648398 and github.com/ValveSoftware/steam-for-linux/issues/8949), suggesting this is a client-side bug in the controller config subsystem rather than something specific to L4D2. Fixes that worked in those threads (replacing a missing workshop config file, resetting the global Desktop Layout) did not resolve this case, so there may be more than one distinct bug sharing this assertion/symptom.
Steps for reproducing this issue:
Connect a Bluetooth controller identifying as an Xbox controller (tested with a generic pad via the xpadneo driver)
Launch Left 4 Dead 2
Open Controller Settings (in-game via the Steam Input menu, or via Big Picture / desktop client Properties → Controller → View/Edit Layout) — page loads blank instead of showing the layout editor
I believe this to be a Steam issue rather than a Source Engine issue hence the post here