What happened

Simple RCON Tool is the Windows desktop tool for running game servers over RCON. Its built exe shows a splash image while it loads. On the machine it was built on the splash looked clean; on some other machines a thin magenta outline showed around the edges of the artwork. Same exe, same image, different result depending on the display.

The artifact

There is no error message; the failure is the outline itself. The test written to prevent it recurring states the mechanism exactly:

PyInstaller’s –splash is a Tk layered window that fakes transparency by filling the background with magenta and asking Windows to key that color out. A soft or partial-alpha edge blends toward magenta without landing on it exactly, and whether a near-miss gets keyed is up to DWM and the display driver. That renders clean on one machine and as a magenta outline on another, so the asset itself has to be fully opaque and magenta-free.

Root cause

PyInstaller does not draw a truly transparent splash. It fills the background with magenta and tells Windows to treat exactly that magenta as see-through, a technique called color keying. This works cleanly only if every pixel is either the exact key color or fully opaque. A splash with soft, anti-aliased edges has pixels part-way between the artwork and the background: they land near magenta without hitting it. Whether Windows keys out a near-miss is decided by the desktop compositor and display driver, which differ from machine to machine, so the same edge pixels vanish on the build machine and survive as an outline elsewhere.

The fix

Take the guesswork away from the color key: make the splash fully opaque, every pixel at full alpha, with no magenta or near-magenta anywhere. With no soft edges to blend and no stray magenta to key, there is nothing for the compositor to get wrong. Two tests lock it in, one asserting every pixel is fully opaque and one asserting no pixel is magenta or near-magenta, their messages naming the color-key reason so a future edit that reintroduces a soft edge fails the build instead of shipping the outline. Simple SFTP Client, which shipped the same PyInstaller splash, removed its splash screen entirely instead.

The splash asset rules live in the shared theme reference the tools are built from, so this is a fleet convention, not a one-tool patch: any tool using a PyInstaller splash keeps a fully opaque, magenta-free image.

Evidence boundary

This is specific to PyInstaller’s --splash, which relies on magenta color keying, and to how Windows compositing handles a near-key color. It is not a claim about splash screens drawn another way, or about transparency that uses a real alpha channel. The fix removes the condition that triggers the artifact; it does not make PyInstaller’s color key itself behave the same across every driver, which is why the answer is to avoid soft edges and stray magenta rather than tune the key.

Source ledger

Source owner Primary URL Review class Last reviewed Exact claim or evidence mapped
JDE-Projects Simple RCON Tool https://github.com/JDE-Projects/Simple-RCON-Tool/commit/3d00256734e677469888b63c3a69c84de519e984 Production evidence August 19, 2026 The commit naming the magenta splash outline under the strict color key.
JDE-Projects Simple RCON Tool https://github.com/JDE-Projects/Simple-RCON-Tool/commit/f5f270a3bae6bbd2eea7c18898b34b6ce7d2a1f3 Production evidence August 19, 2026 The commit that made the splash fully opaque and added the guarding tests.
JDE-Projects Simple RCON Tool https://github.com/JDE-Projects/Simple-RCON-Tool/blob/63b5996325edbb43fbf4fdd41369a24611416284/tests/test_splash_asset.py Production evidence August 19, 2026 The color-key mechanism in the docstring, and the opaque and no-magenta tests with their messages.
JDE-Projects Simple SFTP Client https://github.com/JDE-Projects/Simple-SFTP-Client/commit/63c1758447254ecf34b490636afcb7d3cdb17e57 Production evidence August 19, 2026 A second tool with the same PyInstaller splash that resolved it by removing the splash.
PyInstaller https://pyinstaller.org/en/stable/usage.html#cmdoption-splash Framework-critical August 19, 2026 The –splash option and its color-key based transparency.