Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save williamblair333/c775b1a998f03278499864d727df22fa to your computer and use it in GitHub Desktop.
Save williamblair333/c775b1a998f03278499864d727df22fa to your computer and use it in GitHub Desktop.
Fix Steam Install — MX Linux 23.6 AHS
this is it?
# Fix Steam Install — MX Linux 23.6 AHS
## Eliminate **glXChooseVisual failed** / **llvmpipe** and confirm you are on NVIDIA’s proprietary driver
---
### 1  Quick Driver Check (are you on non‑free or nouveau?)
```bash
# 1. Renderer string — Gallium ⇒ nouveau / llvmpipe ; NVIDIA ⇒ proprietary
glxinfo | grep "OpenGL renderer"
# 2. Proprietary modules present? (empty = nouveau)
lsmod | grep nvidia
```
**Expected proprietary output**
```
OpenGL renderer string: NVIDIA GeForce RTX 3060/PCIe/SSE2
nvidia … nvidia_uvm … nvidia_modeset …
```
If you instead see *Gallium … NVxxx* or nothing from `lsmod`, you are on the open‑source driver.
---
### 2  Symptoms when 32‑bit stack is missing
* Steam fails with
```
CVulkanTopology: failed create vulkan instance
glXChooseVisual failed
```
* `vulkaninfo` (run **without sudo**) shows **llvmpipe** instead of your GPU.
---
### 3  Root Cause
Steam needs both 64‑ & 32‑bit NVIDIA GL **and** Vulkan ICD libraries. Without them the Vulkan loader falls back to Mesa software (`llvmpipe`).
---
### 4  Remediation
```bash
# A. One‑time: enable i386 architecture
sudo dpkg --add-architecture i386 && sudo apt update
# B. Install complete 32‑bit GL stack
sudo apt install \
nvidia-driver-libs:i386 \
libgl1-nvidia-glvnd-glx:i386 \
libnvidia-glcore:i386 \
libnvidia-eglcore:i386 \
libegl-nvidia0:i386
# C. Install Vulkan ICDs (64‑ & 32‑bit)
sudo apt install nvidia-vulkan-icd nvidia-vulkan-icd:i386
# D. Confirm ICD JSONs exist
ls /usr/share/vulkan/icd.d | grep nvidia # expect nvidia_icd.json & nvidia_icd.i686.json
# E. Reload NVIDIA modules (no full reboot needed)
sudo systemctl isolate multi-user.target # drop to TTY
sudo systemctl isolate graphical.target # back to GUI
# F. Validation — must show your GPU twice
nvidia-smi | head -n3
vulkaninfo | grep "deviceName = NVIDIA" | head -1
# G. Launch Steam
steam # Proton games will now pick NVIDIA
```
---
### 5  Important Notes
* **Never run `sudo vulkaninfo`**: it loses `DISPLAY`/`XDG_RUNTIME_DIR` and always reports llvmpipe.
* Use **Debian/MX repo Steam**, not Flatpak (sandbox blocks driver path).
* Secure Boot must be disabled or NVIDIA modules signed.
* DKMS auto‑rebuilds after kernel upgrades; no need to reinstall these libs.
* Optional cleanup:
```bash
sudo apt autoremove
```
---
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment