All games

Extreme Tux Racer

Gold · 80 0.2 h played, 0 crashes

A 3D downhill racing game in which Tux the penguin slides down snowy courses collecting herrings.

Genre
racing sports
Theme
family
Players
single player
Input
supports gamepad
View
3D
Keywords
penguin downhill courses

Played sessions

Testing is done with Walnut's rating tool (walnut-rate, planned): how ratings are made and submitted.

Builds: Walnut 0.1, extremetuxracer 0.8.4-2+ps3.803

The platform builds under it (3)
Linux kernel6.12.111+ps3.747 Walnut's build
Mesa26.2.4-1+ps3.721 Walnut's build
ps3rsx0.735+k6.12.111+ps3.747 Walnut's build
DateLauncherRulesPlayEndedPicture
2026-10-24 Extreme Tux Racer 1.012 minquit ok Details

Download all sessions as CSV (one row per session, the aspects as columns)

Rating history

The rating on each version it was tested on, newest first: each row is rated from that version's sessions alone, under the newest rules those sessions have the data for.

VersionTestedMedalRules Frame rateSmoothnessSoundPictureStabilityDisplayLoad Play
Walnut 0.1
extremetuxracer 0.8.4-2
2026-10-24 Gold · 80 1.0 70687710091-96 0.2 h
1 test

Scripted benchmarks

Not rated: tests of driver and game changes. A script plays the same scene on the PS3 again and again (the desktop stopped, vsync off) to compare two builds of the game or of the graphics driver. The numbers say which build is faster; they never feed the medal.

How the script plays it: Extreme Tux Racer 0.8.4: no demo mode, so a race played once by a person is recorded as keyboard events and replayed into a virtual keyboard.

The recipe's full description

Extreme Tux Racer 0.8.4: no demo mode, so a race played once by a person is recorded as keyboard events (evemu-record) and replayed into a virtual keyboard (evemu-device + evemu-play). The same events at the same times from when ETR's window appears: ETR's physics follow the frame time, so at another frame rate Tux's line can drift a little (the game's technical.md). A marker event written into the keyboard when the window appears makes the recording start there. variant record: you play (menus too, then quit from the menu); the events land in the run directory as etr-race.evemu, to copy to assets/etr-race.evemu, cut after the last input that matters (assets/etr-race.evemu: Practice, one course, 69 s) base: the recorded race, replayed; fps from the Gallium HUD Steady state: the HUD window (60 s from the first frame, then 120 s; WINDOW_STOP=1 ends the run). The recording is ~69 s (menus to 24.7 s, the race after), so the race is raced again: after the replay, Enter on the game-over screen (back to the race selection, the course still chosen), then the recording from ETR_LOOP_FROM (24.7 s: the Enter that starts the race) once more, up to ETR_LOOPS times; during.log stamps each. Caveats: ETR's physics take the frame time as their step, and the inputs replay at wall-clock times, so at another frame rate (or a faster second load) Tux's line can drift from the recorded one, more in the later races; the window also holds the game-over and selection screens and the reload between races. A fixed time step in our etr (states.cpp: g_game.time_step from an environment variable) would make the steering repeatable per frame, but then the wall-clock inputs drift whenever the frame rate does.

13 variants of the recipe
base stands for the gamethe recipe as it is, without a variant
record-
gloffOur extremetuxracer (gamedb/games/etr/packages/etr/): fewer, larger GL submissions, each with an environment variable (src/glfast.h in the package). base has them all on, gloff is ETR_GL=0 (the game as Debian draws it), a no* variant is base with one change off.
noterrain-
notux-
noshadow-
notracks-
notrees-
treesorder-
noparticles-
nosnow-
nohud-
nobind-

Conditions: what a variant adds to the recipe (its environment switches) and what ran alongside (the stall recorder, a profiler). Rows marked invalid or not comparable say why. The other numbers, the build and the run length are under "All numbers" in each batch.

What the run length means

"warm-up + 120 s" is a steady-state run, which leaves out a 60 s warm-up and measures 120 s or more; "whole run" counted everything from the start, the way runs before 2026-10-17 did.

Suite summary

2026-10-20 · batch suite-summary-2026-10

Purpose: The 13 benchmarked games (15 rows) with their known numbers, the rules-1 calibration of the rating formula (docs/GAMEDB.md "Calibration", tools/gamedb/score.py). Each value names its source: a batch's cell, or the suite table of docs/games/README.md where the number is a reading or a range (no single cell holds it). Stutter is the stall seconds over the 2-minute window; load unmeasured, stability assumed clean, picture and display right.

Row ram_free
MiB
vram
MiB
fps_steady
frames a second
stall_play_s
seconds
low1_play
frames a second
longest_play_ms
ms
sound_faults_per_min
faults a minute
Picture, sound
Extreme Tux Racer base 295859.02.927.34830 right, right

Real-time audio as shipped: ps3-desktop 0.1013 (limits.d rtprio 10 + ps3-rt-audio, RTAUDIO=1) against none (RTPRIO=0) on dsda-doom software (owncfg), Extreme Tux Racer, X-Moto and Neverball (kernel .874)

2026-10-28 · batch 2026-10-28-rt-audio-shipped · 23 runs in the batch (all games)

VariantConditions Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
base rtaudio 5929.21
base real-time priority 0 5619.80
All numbers and setup of this batch
VariantNumbersSetup
base fps whole run 59 cpu 128.5 seconds underruns 0 underruns ram_free 53.8 MiB vram 58.0 MiB longest_ms 339.6 ms stall_play_s 0.4 seconds longest_play_ms 339.6 ms no build recorded
the game's resolution, warm-up + 120 s
base fps whole run 59 cpu 148.9 seconds underruns 0 underruns ram_free 53.3 MiB vram 58.1 MiB longest_ms 96.2 ms stall_play_s 0.0 seconds longest_play_ms 96.2 ms no build recorded
the game's resolution, warm-up + 120 s

Observations: same boot (2026-10-28 15:38-17:18Z), 25 runs in three rounds, games interleaved, arm order alternating per game and round; 2 Neverball RTAUDIO runs interfered by the agent's own SSH status checks (left out: Neverball RTAUDIO has 2 runs). Every run fullscreen at 1920x1080 (geom=) and in gameplay at its 40 s screenshot. ps3-rt-audio set SCHED_RR 1 on SDLAudioP19 (dsda-doom, X-Moto, Neverball) and on ETR's unnamed miniaudio thread in every RTAUDIO run, from the harness's watch as game mode runs it. Audible dropouts a run (about 200 s), median: dsda-doom 29 to 2 (audible time 0.8-1.2 s to 50-113 ms), ETR 26 to 2 (0.65-0.92 s to 58-124 ms), Neverball 3 to 0, X-Moto 0 to 0 (logged underruns 78 to 11). Steady fps unchanged within 0.4% (dsda-doom 39.75/39.8, X-Moto 161.7/161.0, Neverball 82.73/82.72); 1% lows a little lower with it in the light games (X-Moto 113.4 to 109.4, Neverball 57.9 to 56.6, dsda-doom 20.6 to 19.0, ranges touching) and higher in ETR (HUD 1% low 19.8 to 29.2, steady 56 to 59; the previous batch had no such gap, 29.9 against 28.6). docs/SPU-AUDIO.md "Real-time mixer"

RT audio thread: SCHED_RR 1 from outside (RTPRIO=10+RTTHREAD) and nice -20 (NICELIM=40) against none on dsda-doom software (owncfg), Extreme Tux Racer and OpenTTD (kernel .874)

2026-10-28 · batch 2026-10-28-rt-audio-thread · 24 runs in the batch (all games)

VariantConditions Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
base real-time priority 0 5929.91
base real-time priority 10
switch rtthread
59.028.61.5
All numbers and setup of this batch
VariantNumbersSetup
base fps whole run 59 cpu 127.6 seconds underruns 0 underruns ram_free 47.1 MiB vram 58.1 MiB longest_ms 114.2 ms stall_play_s 0.1 seconds longest_play_ms 114.2 ms no build recorded
the game's resolution, warm-up + 120 s
base fps whole run 59.0 cpu 126.8 seconds underruns 0.0 underruns ram_free 45.8 MiB vram 58.0 MiB longest_ms 172.4 ms stall_play_s 0.2 seconds longest_play_ms 172.4 ms no build recorded
the game's resolution, warm-up + 120 s

Observations: same boot (2026-10-28 10:40-13:04Z), 38 runs in four rounds, order rotated, 14 interfered (another agent's SSH logins; left out). Every counted run fullscreen at 1920x1080 (geom=) and in gameplay at its 40 s screenshot. Audible dropouts a run (about 200 s), median: dsda-doom software 19 none, 10.5 nice -20, 2 SCHED_RR; Extreme Tux Racer 24 none, 3.5 SCHED_RR; OpenTTD 2 none (2 clean runs), 1 nice -20 (logged underruns 2019 to 1095). No fps cost from SCHED_RR beyond the noise (dsda-doom steady 40.1 against 40.3, ETR 59 against 59); nice -20 cost dsda-doom 2% steady and two points of 1% low. SDL's realtime hint does nothing without RTKit (thread stayed SCHED_OTHER). docs/SPU-AUDIO.md "Real-time mixer": per-game opt-in recommended, not shipped

batch 17: ETR uncapped, start-up profiles x5, shader cache cold/warm, OpenArena gl2 memory variants, Mesa sysmem switches, Sauerbraten shortnormals

2026-10-18 · batch 2026-10-18-batch17 · 29 runs in the batch (all games)

VariantConditions Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
base the recipe as it is 5927.311
All numbers and setup of this batch
VariantNumbersSetup
base fps whole run 59 cpu 132.8 seconds underruns 0 underruns ram_free 29.1 MiB vram 58.0 MiB longest_ms 483.3 ms stall_play_s 2.9 seconds longest_play_ms 483.3 ms no build recorded
the game's resolution, warm-up + 120 s

Observations: same boot as batch 16 (kernel 433), ioquake3 462, Mesa 442~dev, cube2 442~dev, ps3-gpu-tools 0.469; 1 run excluded (sauerbraten shortnormals round 3: a key press). OpenArena gl2min on ioquake3 462 (snorm colours default): steady 57-60, stalls 0.7-2.6 s (batch 16 on 396: 51-53, 9-11 s); gl2min_color16 (old colour path) 52-53, stalls 12.9 s, swap 20 s; md3pack -20 MB VRAM, same stalls; mippowf lowest stalls (0.7-0.9 s). Mesa NV30_SYSMEM_COPY=2+NV30_INVALIDATE_BUFFER=1 on color16: stalls 9.9/12.3 -> 1.5/1.4 s, swap 20-26 -> 0.6-1.1 s, steady 53-54 -> 59. Sauerbraten shortnormals 38.7 -> 45.4 (+17%), stalls equal, VRAM +4 MB. Shader cache cold vs warm: no load gain (OA 10.3 cold vs 10.6 warm, Sauerbraten 17.4 vs 18.4). ETR uncapped still 59: not a vsync cap

xmoto ps3.323 + etr ps3.324 (game-side batching) + Mesa ps3.299

2026-10-17 · batch 2026-10-17-xmoto-etr-batching · 8 runs in the batch (all games)

VariantConditions Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
base the recipe as it is ---
gloff ETR_GL=0 ---
All numbers and setup of this batch
VariantNumbersSetup
base fps whole run 59.0 cpu 53.0 seconds underruns 0.0 underruns ram_free 53.5 MiB vram 58.0 MiB Mesa ps3.299
the game's resolution, whole run
gloff fps whole run 52.0 cpu 83.6 seconds underruns 0.0 underruns ram_free 48.0 MiB vram 52.5 MiB Mesa ps3.299
the game's resolution, whole run

Observations: Our X-Moto: 18,500 -> 165 GL calls and 1,960 -> 40 draws per frame (host count); credits replay 44.5 -> 166.5 fps HUD median (nobatch = old drawing, same boot), picture identical on the webcam. Our Extreme Tux Racer: 19,400 -> 850 calls, 697 -> 72 draws; race replay 52 -> 59 (gloff = old drawing).

Mesa ps3.262 + ps3rsx 0.249

2026-10-17 · batch 2026-10-17-mesa-262 · 12 runs in the batch (all games)

VariantConditions Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
base the recipe as it is ---
All numbers and setup of this batch
VariantNumbersSetup
base fps whole run 53 cpu 84.7 seconds underruns 0 underruns ram_free 52.6 MiB vram 52.5 MiB Mesa ps3.262, ps3rsx 0.249
the game's resolution, whole run

Observations: 2026-10-17 10:42-11:04Z, suite round after Mesa 0019-0025 (fewer words per draw: no relocations, texture cache invalidate only after texture changes, no duplicate VTXFMT writes, batched VP constants; bcd99d7, 5fe2290), one run per game. Against ps3.246: OpenArena tc1 44.2 to 54.4 (+23%), Yamagi 51.4 to 63.9 (+24%), X-Moto 39 to 47 (+21%), Extreme Tux Racer 46 to 53 (+15%), dsda-doom software 33 to 38 and now finishes (+15%), ClassiCube 47.6 to 50.1 (+5%), Neverball 78.2 to 71.5 (noise), QuakeSpasm 70.5 to 66.3 (repeated in the next row), Luanti 53 to 53. Armagetron drops from 60 to 51 (HUD). Sauerbraten reads 28 to 8 (HUD): it is memory-stalled (MemAvailable 13 MB, killed at the cap), so that is not a driver number and the cause is uncertain. No validator rejects. Single runs.

Mesa ps3.246 + ps3rsx 0.249

2026-10-17 · batch 2026-10-17-mesa-246-ps3rsx-249 · 12 runs in the batch (all games)

VariantConditions Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
base the recipe as it is ---
All numbers and setup of this batch
VariantNumbersSetup
base fps whole run 46 cpu 84.0 seconds underruns 0 underruns ram_free 63.7 MiB vram 52.5 MiB Mesa ps3.246, ps3rsx 0.249
the game's resolution, whole run

Observations: 2026-10-17 08:32-08:54Z, first suite round after the reboot, one run per game. fps: Armagetron 60 (HUD), ClassiCube 47.6, dsda-doom software 33 (HUD, demo unfinished), Extreme Tux Racer 46 (HUD), Luanti 53 (HUD), Neverball 78.2, OpenArena tc1 44.2 (longest frame 2.1 s), QuakeSpasm 70.5, Sauerbraten CPU skinning 28 (HUD), X-Moto 39 (HUD), Yamagi Quake II 51.4. Pictures right and sound right for these games except dsda-doom (1161 underruns, MIDI music), Sauerbraten (176) and OpenTTD (1429, choppy). OpenTTD base ran 55.5 s of CPU with no frame rate (plain X11 path). Single runs, so differences of a few fps are within the run-to-run spread.

Extreme Tux Racer replay cut at 69 s (Mesa ps3.225)

2026-10-16 · batch 2026-10-16-etr-replay-cut · 1 run in the batch (all games)

VariantConditions Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
base the recipe as it is ---
All numbers and setup of this batch
VariantNumbersSetup
base fps whole run 45 cpu 85.3 seconds ram_free 61.5 MiB vram 52.5 MiB Mesa ps3.225
the game's resolution, whole run

Observations: 22:56Z, the recording cut after the last steering input (69 s, db4c0eb) and ETR closed 5 s later: Gallium HUD median 45 (p10 22), run ended after 83 s. Single run; the replay is repeatable in input, but ETR's physics follow the frame time, so Tux's line can drift at another frame rate.

Extreme Tux Racer race recorded and replayed uncut (Mesa ps3.225)

2026-10-16 · batch 2026-10-16-etr-replay-uncut · 2 runs in the batch (all games)

VariantConditions Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
base the recipe as it is ---
record the recipe as it is ---
All numbers and setup of this batch
VariantNumbersSetup
base fps whole run 22 cpu 140.8 seconds ram_free 62.7 MiB vram 52.6 MiB Mesa ps3.225
the game's resolution, whole run
record fps whole run 21 cpu 139.2 seconds ram_free 68.9 MiB vram 52.6 MiB Mesa ps3.225
the game's resolution, whole run

Observations: 22:49-22:55Z. The user played a race while evemu-record captured the keyboard (run 'record', 134 s, HUD median 21); the uncut recording was then replayed into a virtual keyboard (HUD median 22, 134 s). The HUD series shows ~20 fps stretches at the end of both runs, where the recording runs on past the race (the results and menu screens); that tail is what the next row cuts. The picture and sound were right per GAME-PLAN; these cells are not comparable with the cut replay.

Mesa ps3.223 + ps3rsx 0.219

2026-10-16 · batch 2026-10-16-mesa-223 · 5 runs in the batch (all games)

Not comparable: every game was profiled with perf during the run, which slows it.

VariantConditions Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
base
not comparable
the recipe as it is ---
All numbers and setup of this batch
VariantNumbersSetup
base fps whole run 40 cpu 44.6 seconds ram_free 19.1 MiB vram 52.7 MiB Mesa ps3.223, ps3rsx 0.219
the game's resolution, whole run

Observations: 22:08-22:17Z, the five games profiled with perf for GAME-PLAN's 'where the CPU goes' table (15 s per game; the perf recording is stated there, the run directories do not show it), so fps are lower than plain runs. X-Moto 34.6 fps (own counter), OpenArena tc1 37.2 (longest frame 3.1 s), ClassiCube 54 (HUD), Extreme Tux Racer 40 (menu, HUD), Armagetron 102 (HUD, live first-run game). 208 X-Moto underruns. Result: the driver stack, not the games, takes most of the CPU (Mesa 28-56%, ps3rsx 6-16%), which started the per-draw work in Mesa ps3.246/ps3.262 and ps3rsx 0.249. One run per game.

Group 1 smokes ETR and Armagetron on Mesa ps3.223

2026-10-16 · batch 2026-10-16-etr-armagetron-smokes · 3 runs in the batch (all games)

VariantConditions Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
base the recipe as it is ---
All numbers and setup of this batch
VariantNumbersSetup
base fps whole run 42 cpu 46.0 seconds ram_free 67.4 MiB vram 52.5 MiB Mesa ps3.223
the game's resolution, whole run

Observations: 22:03-22:06Z. Extreme Tux Racer ran to the 45 s cap (rc 143, Gallium HUD median 42) with the picture right per GAME-PLAN and no kernel errors. Armagetron: the first launch exited in 5 s (rc 1, 'Unknown command line option --fullscreen', a recipe error); the second ran to the 45 s cap with a HUD median of 89 fps on the first-run screen (not a benchmark). Single runs; the cells are HUD medians.