More XFS performance patches coming.

I have problems regarding XFS and Steam. For some reason, HL2 RTX, Portal RTX, and Portal Prelude RTX all suffer from HUD font issues on an XFS formatted drive. Switch to an Ext4 formatted drive and I have no problems.

It's not an ownership/permissions issue, it's something specific to XFS. The weapons models used in game are actually a font, and the game can't pull the fonts needed under an XFS file system.
 
I have problems regarding XFS and Steam. For some reason, HL2 RTX, Portal RTX, and Portal Prelude RTX all suffer from HUD font issues on an XFS formatted drive. Switch to an Ext4 formatted drive and I have no problems.

It's not an ownership/permissions issue, it's something specific to XFS. The weapons models used in game are actually a font, and the game can't pull the fonts needed under an XFS file system.

Since kernel 3.7, XFS allocates inodes anywhere in the filesystem by default, so st_ino values routinely exceed 2³² [^d2265d][^27cf66]. Any 32-bit code compiled without _FILE_OFFSET_BITS=64 gets EOVERFLOW from stat()/readdir() on such files, so the font file simply "doesn't exist" as far as the app is concerned — even though ls and fc-list (64-bit) see it fine [^aeed4a][^27cf66]. ext4 numbers inodes sequentially and stays far below 2³², which is exactly why the same app works there [^a353bb].

This is a well-known Steam/Wine/old-proprietary-binary trap, and it hits fonts specifically because the app stats each .ttf before opening it.
Screenshot_20261023-084054.png


If the app is actually 64-bit​

Then inodes aren't it, and the XFS-specific suspects narrow to:

  • ftype=0 filesystem + overlayfs/containers — an XFS made with mkfs.xfs -n ftype=0 breaks overlay whiteouts, so files inside a container image silently vanish. Check xfs_info / | grep ftype.
  • Restored font tree with wrong permissions/SELinux labels — restorecon -Rv /usr/share/fonts after a tar/rsync restore onto XFS.
  • Filesystem-level errors — dmesg -T | grep -i xfs; a corruption or log-recovery issue (norecovery mount) can make an entire directory subtree inaccessible 2.

-- Kagi assistant
 
Back
Top