Quick answer: Pygame text looking different on Windows vs Linux after upgrading SDL_ttf? Font hinting defaults differ - set hinter explicitly via Font.set_hinting.

UI text crisp on Windows. Same code on Linux looks blurry. Both running pygame 2.5 but different SDL_ttf versions.

Set hinter explicitly

font.set_hinting(pygame.font.HINT_NORMAL)

Default depends on the SDL_ttf build. Explicit value gives consistent rendering across OSes.

Or use FreeType directly

For perfect consistency, pygame.freetype exposes the FreeType rasterizer directly. Same output regardless of platform.

Embed your font

Don't rely on system fonts. A bundled TTF eliminates one source of OS-dependent variation.

“Cross-platform text rendering is full of platform-specific decisions. Override the ones that matter.”

Take screenshots of your text on every supported OS. Visual diffs catch font drift faster than reading specs.