Linux Gaming Repair Center

Steam library fails on noexec or permissions

Separate mount flags, ownership, download failure and executable launch errors.

On this page
  1. Identify the failing layer
  2. Collect discriminating evidence
  3. Compare safely and record limitations
  4. Gather evidence
  5. A controlled test
  6. Related diagnostics
  7. Sources & limitations

Identify the failing layer

A game library is both data storage and an execution environment for game binaries and runtime helpers. A filesystem mounted noexec can allow reads while preventing execution of files placed there; EACCES can also come from directory traversal permissions or a sandbox. Record the real mount containing the selected library before changing anything. A noexec flag on one unrelated partition tells you nothing about the mount where Steam actually put the game.

Collect discriminating evidence

Compare effective mount options with ownership for the game directory and its Steam library parent. Steam may distribute files across multiple libraries, while Proton compatibility data resides elsewhere. A read-only mount, exhausted storage or filesystem I/O errors can masquerade as permission problems. Avoid chmod -R 777, changing ownership over the whole disk or making mount flags insecure without understanding their existing protection purpose.

Compare safely and record limitations

Use Steam's verify-files function only after establishing that the filesystem is stable and writable. A controlled copy of one affected game to a known good native Linux filesystem can distinguish a path problem from a shared GPU or Proton failure. Save relevant launch options and the library location first. If the error follows the game to a second disk, revisit runtime logs rather than assuming the original filesystem was responsible.

Gather evidence before changing the system

Run one command at a time in the relevant host or game environment. Read its requirements and interpretation first. The website displays commands and never runs them.

Read-only observation

findmnt -T "$HOME" -o TARGET,SOURCE,FSTYPE,OPTIONS

Requirements: Run in the relevant host/session; compare with the actual game environment and redact private paths before sharing.

Example for the home mount; rerun with the actual game library path.

Read-only observation

df -h

Requirements: Run in the relevant host/session; compare with the actual game environment and redact private paths before sharing.

Compare free space on the actual library mount, not merely on root.

A controlled test with a way back

Record the library mount and verify whether a native Linux filesystem hosts one known-working game; change one variable at a time.

Rollback: Restore the prior library location and retain the original mount policy.

What this test cannot establish: Moving a game also changes its installation state and is not proof of a specific kernel bug.

Sources and scope

This editorial review uses primary project and distribution references. It does not establish that a fix has been reproduced on your hardware. Installed versions, the game runtime and the selected graphics API can change the result.