RTX Spark Laptop Runs GPT-OSS-120B at 13.9 Tokens/sec on Linux vs 65.4 on Windows, and Plugging In Makes It Worse
The RTX Spark laptops are sold to AI developers on the strength of 128GB of unified memory, but most of that audience builds on Linux, and a hands-on test of the MSI Prestige N16 Flip AI Plus shows Linux leaves most of the chip idle.
On GPT-OSS-120B, Windows produced 65.4 tokens per second. WSL produced 65.1. Nvidia’s own DGX Spark desktop, which uses the same GPU design, managed 61. Native Linux on the laptop managed 13.9, roughly one fifth of Windows.
Plugged in is slower
The slowdown depends on the power source. Unplugged, Linux reached 61 to 67 tokens per second in LM Studio, comparable to Windows. On wall power the same test fell to about 15. GPU clocks tell the same story: around 1,800 MHz under load on battery, about 780 MHz when plugged in, against roughly 2.2 GHz on Windows.
A longer job showed the cost in wall-clock time. Windows finished in about 8 minutes with the GPU near 2.2 GHz. Linux took 37 minutes with the GPU parked near 790 MHz throughout. Temperatures stayed between 40 and 47 degrees C, so this is not thermal throttling.
With vLLM and eight concurrent clients, WSL reached 127 tokens per second and native Linux 39.5.
Root cause: an encrypted power table
The culprit is a Windows-only component, the Nvidia Platform Controllers and Framework, which splits a shared power budget between the CPU and GPU. Disabling it in Windows reproduced the Linux behaviour: throughput dropped from about 83 to about 31 tokens per second and clocks fell from roughly 2 GHz to 786 MHz. Re-enabling it restored full speed immediately.
The firmware hands that controller a table of power settings that is encrypted. Windows holds the key. Linux does not, and no software fix tried in testing worked, including one that caused a kernel panic. Pulling the key out of the Windows driver was floated as a hack but would be fragile and single-machine. A durable fix needs Nvidia to port the controller’s power logic into its Linux driver.
Memory split is Windows-only too
The laptop’s firmware reserves 96GB of its 128GB for the GPU by default. Linux initially saw only 28GB. The split can only be changed from Windows; dropping the reservation to 4GB let Linux see about 120GB.
Install notes
Omarchy, an Arch-based distribution that bundles Nvidia’s open kernel driver, worked after Debian needed manual driver and USB Ethernet workarounds. Once configured, the machine ran a 4K, 120Hz desktop with working audio, keyboard, touchpad and CUDA. An early Omarchy attempt on the MSI hardware produced a flickering display, even though the distribution already supported the chip in Asus and Dell machines.
What to do today
WSL is the practical route. It rides the Windows driver stack and keeps full boost on or off battery. Its default 14GB memory allocation needs raising for large models.
Key numbers
- GPT-OSS-120B throughput: Windows 65.4, WSL 65.1, DGX Spark 61, native Linux 13.9 tokens/sec
- GPU clock plugged in: about 780 MHz on Linux vs about 2.2 GHz on Windows
- Long benchmark: 8 minutes on Windows vs 37 minutes on Linux
- Default GPU memory reservation: 96GB of 128GB