Played sessions
Testing is done with Walnut's rating tool (walnut-rate, on the console): how ratings are made and submitted.
Builds:
Walnut 0.1,
extremetuxracer 0.8.4-2+ps3.803
The platform builds under it (3)
| Linux kernel | 6.12.111+ps3.747 Walnut's build |
|---|---|
| Mesa | 26.2.4-1+ps3.721 Walnut's build |
| ps3rsx | 0.735+k6.12.111+ps3.747 Walnut's build |
| Date | Launcher | Rules | Play | Ended | Picture | |
|---|---|---|---|---|---|---|
| 2026-10-24 | Extreme Tux Racer | 1.0 | 12 min | quit | 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.
| Version | Tested | Medal | Rules | Frame rate | Smoothness | Sound | Picture | Stability | Display | Load | Play |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Walnut 0.1 extremetuxracer 0.8.4-2 |
2026-10-24 | Gold · 80 | 1.0 | 70 | 68 | 77 | 100 | 91 | - | 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 game | the recipe as it is, without a variant |
|---|---|
record | - |
gloff | Our 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 | 29 | 58 | 59.0 | 2.9 | 27.3 | 483 | 0 | 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)
| Variant | Conditions | Steady fps in the window |
1% low fps | Stalls frames over 100 ms |
|---|---|---|---|---|
base |
rtaudio | 59 | 29.2 | 1 |
base |
real-time priority 0 | 56 | 19.8 | 0 |
All numbers and setup of this batch
| Variant | Numbers | Setup |
|---|---|---|
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: 25 runs in three rounds, games interleaved, arm order alternating. Two Neverball runs with it were interfered by the agent's own SSH checks and left out, so Neverball has 2 runs with it. Every run fullscreen at 1920x1080 and in gameplay at its 40 s screenshot. - ps3-rt-audio put the audio thread on SCHED_RR 1 in every run with it: SDL's audio thread in dsda-doom, X-Moto and Neverball, and Extreme Tux Racer's unnamed audio thread. - Audible dropouts a run (about 200 s), median, without and with it: dsda-doom 29 to 2 (audible time 0.8-1.2 s to 50-113 ms), Extreme Tux Racer 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 and 39.8, X-Moto 161.7 and 161.0, Neverball 82.73 and 82.72. - 1% lows a little lower with it in the light games, ranges touching: X-Moto 113.4 to 109.4, Neverball 57.9 to 56.6, dsda-doom 20.6 to 19.0. - Extreme Tux Racer's were higher with it: HUD 1% low 19.8 to 29.2, steady 56 to 59. The previous batch had no such gap (29.9 against 28.6).
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)
| Variant | Conditions | Steady fps in the window |
1% low fps | Stalls frames over 100 ms |
|---|---|---|---|---|
base |
real-time priority 0 | 59 | 29.9 | 1 |
base |
real-time priority 10 switch rtthread |
59.0 | 28.6 | 1.5 |
All numbers and setup of this batch
| Variant | Numbers | Setup |
|---|---|---|
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: 38 runs in four rounds, order rotated. 14 were interfered by another agent's SSH logins and left out. Every counted run was fullscreen at 1920x1080 and in gameplay at its 40 s screenshot. - Audible dropouts a run (about 200 s), median. dsda-doom: 19 with nothing, 10.5 with nice -20, 2 with SCHED_RR. - Extreme Tux Racer: 24 with nothing, 3.5 with SCHED_RR. - OpenTTD: 2 with nothing (2 clean runs), 1 with nice -20; logged underruns 2019 to 1095. - No fps cost from SCHED_RR beyond the noise: dsda-doom 40.1 against 40.3, Extreme Tux Racer 59 against 59. nice -20 cost dsda-doom 2% of its steady fps and two points of 1% low. - SDL's own real-time hint does nothing without RTKit: the thread stayed at normal priority.
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)
| Variant | Conditions | Steady fps in the window |
1% low fps | Stalls frames over 100 ms |
|---|---|---|---|---|
base |
the recipe as it is | 59 | 27.3 | 11 |
All numbers and setup of this batch
| Variant | Numbers | Setup |
|---|---|---|
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. One BananaBread run with a key press left out. - OpenArena OpenGL 2 on ioquake3 462 (compact colours by default): steady 57-60 fps, stalls 0.7-2.6 s. On the 396 build in batch 16: 51-53 fps and 9-11 s. - The old 16-bit colour path: 52-53 fps, 12.9 s of stalls, 20 s of swap stalls. - Packed animated model frames: 20 MB less VRAM, same stalls. Gamma-correct mipmaps computed per channel: the lowest stalls (0.7-0.9 s). - Mesa's system-memory copy plus buffer invalidation on the old colour path: stalls 9.9 and 12.3 s to 1.5 and 1.4 s, swap stalls 20-26 s to 0.6-1.1 s, steady 53-54 to 59 fps. - BananaBread with short normals: 38.7 to 45.4 fps (+17%), stalls equal, VRAM +4 MB. - Shader cache cold against warm: no load gain (OpenArena 10.3 s cold, 10.6 s warm; BananaBread 17.4 against 18.4 s). - Extreme Tux Racer without a frame cap: still 59 fps, so 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)
| Variant | Conditions | 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
| Variant | Numbers | Setup |
|---|---|---|
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: - X-Moto: GL calls per frame from 18,500 to 165 and draws from 1,960 to 40 (counted on the PC). Credits replay from 44.5 to 166.5 fps (HUD median), against the old drawing on the same boot. The picture was identical on the webcam. - Extreme Tux Racer: calls from 19,400 to 850 and draws from 697 to 72. Race replay from 52 to 59 fps, against the old drawing.
Mesa ps3.262 + ps3rsx 0.249
2026-10-17 · batch 2026-10-17-mesa-262 · 12 runs in the batch (all games)
| Variant | Conditions | 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
| Variant | Numbers | Setup |
|---|---|---|
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: - The patches: no relocations, the texture cache invalidated only after texture changes, no duplicate vertex-format writes, batched vertex program constants. One run per game. - Against ps3.246: OpenArena with compressed textures 44.2 to 54.4 fps (+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 with the demo now finishing (+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 batch), Luanti 53 to 53. - Armagetron dropped from 60 to 51 (driver frame counter). - BananaBread reads 28 to 8 on the counter, but it was memory-stalled (13 MB free, killed at the cap): not a driver number, and the cause is uncertain. - The kernel's command validator rejected nothing. - 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)
| Variant | Conditions | 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
| Variant | Numbers | Setup |
|---|---|---|
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: - One run per game. Frame rates by the game's own counter, or the driver's frame counter where marked: - Armagetron 60 (counter), ClassiCube 47.6, dsda-doom software 33 (counter, demo unfinished), Extreme Tux Racer 46 (counter), Luanti 53 (counter), Neverball 78.2. - OpenArena with compressed textures 44.2 (longest frame 2.1 s), QuakeSpasm 70.5, BananaBread with CPU skinning 28 (counter), X-Moto 39 (counter), Yamagi Quake II 51.4. - Pictures right. Sound right except dsda-doom (1161 underruns, MIDI music), BananaBread (176) and OpenTTD (1429, choppy). - OpenTTD used 55.5 s of CPU and has no frame rate (plain X11 path). - Single runs: 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)
| Variant | Conditions | 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
| Variant | Numbers | Setup |
|---|---|---|
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: - The recording was cut at 69 s; the game closed 5 s later and the run ended after 83 s. - 45 fps on the driver's frame counter (10th percentile 22). - Single run. The input is the same every time, but the 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)
| Variant | Conditions | 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
| Variant | Numbers | Setup |
|---|---|---|
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: - Recording run: the user raced while the keyboard was captured; 134 s, 21 fps on the driver's frame counter. - Replay of the uncut recording: 22 fps, 134 s. - Both runs end in stretches of about 20 fps, where the recording runs on past the race (the results and menu screens). - Picture and sound right. - Not comparable with the cut replay of the next batch.
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.
| Variant | Conditions | Steady fps in the window |
1% low fps | Stalls frames over 100 ms |
|---|---|---|---|---|
basenot comparable |
the recipe as it is | - | - | - |
All numbers and setup of this batch
| Variant | Numbers | Setup |
|---|---|---|
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: - Each game was profiled for 15 s, so the fps are lower than in plain runs (the run records don't show the profiling). One run per game. - X-Moto 34.6 fps (own counter), 208 underruns. - OpenArena with compressed textures 37.2 fps, longest frame 3.1 s. - ClassiCube 54, Extreme Tux Racer 40 (in its menu), Armagetron 102 (a live first-run game); all three on the driver's frame counter. - Result: Mesa took 28 to 56% of the CPU and ps3rsx 6 to 16%.
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)
| Variant | Conditions | 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
| Variant | Numbers | Setup |
|---|---|---|
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: - Extreme Tux Racer ran to the 45 s cap: 42 fps on the driver's frame counter, picture right, no kernel errors. - Armagetron's first launch quit after 5 s on "Unknown command line option --fullscreen", an error in our recipe. - The second launch ran to the 45 s cap at 89 fps on the first-run screen, which is not a benchmark. - Single runs; the numbers are driver counter medians.