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,
neverball 1.6.0+git20180603-3+ps3.721
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 | Neverball | 1.0 | 4 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 neverball 1.6.0+git20180603-3 |
2026-10-24 | Gold · 87 | 1.0 | 88 | 64 | 97 | 100 | 90 | - | 100 | 0.1 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: Neverball: its shipped replay gui/demo1.nbr, real-time paced.
The recipe's full description
Neverball (1.6 snapshot of 2018): its shipped replay gui/demo1.nbr, real-time paced. Our package (gamedb/games/neverball/packages/neverball/patches) prints one line with NEVERBALL_BENCH=1 when the replay ends, from the first replay frame (frames, seconds, fps, longest frame) and quits, so the run is exactly the replay; DURATION is a safety cap. Config ~/.neverball/ neverballrc: fullscreen 1920x1080, vsync off, the fps counter on. It generates mipmaps on the GPU (GL_GENERATE_MIPMAP) and uses GL_LUMINANCE_ALPHA textures: both broken on nv30 until the Mesa fixes (the game's technical.md); variant nomip turns mipmaps off. Steady state: passes. The replay is ~20 s; our patch 0002 (st_demo.c bench_end) with NEVERBALL_BENCH_LOOPS=N replays it N times (demo_replay_stop, progress_replay on a copy of curr_demo(), goto_state(&st_demo_play)), one line per pass, and quits after the Nth. 12 passes cover 60 s of warm-up + 120 s; the client stops the run once enough is measured. fps= is the first pass's.
The recipe today runs it at the game's own resolution, with NEVERBALL_BENCH=1 NEVERBALL_BENCH_LOOPS=20. Older batches ran the recipe as it was then: their titles and observations say what changed (a new game build, a driver change).
7 variants of the recipe
base stands for the game | the recipe as it is, without a variant |
|---|---|
nomip | - |
gloff | our neverball (gamedb/games/neverball/packages/neverball/patches/0003): fewer GL calls and draws a frame, each change behind an environment switch, base has them all on. gui/demo1.nbr on llvmpipe at GL 2.1: 2154 -> 844 calls, 137 -> 74 draws a frame (levels at their intro view: greed 6289 -> 1915, mover 8205 -> 2463 calls). gloff is NEVERBALL_GL=0 (the game as Debian draws it), a no* variant is base with one change off. |
nomesh | - |
noitems | - |
noback | - |
nostate | - |
One table, a header row per batch (what it tested and what came out). Conditions: what a variant adds to the recipe (its environment switches) and what ran alongside (the stall recorder, a profiler); a column appears only when this game has a value in it. Rows marked invalid or not comparable say why.
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.
| Variant | Conditions | Steady fps in the window |
1% low fps |
Stalls frames over 100 ms |
fps whole run |
Build | Run length | ram free MiB | vram MiB | stall play s seconds | longest play ms ms | sound faults per min faults a minute | cpu seconds | underruns underruns | longest ms ms |
Note |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Suite summary
2026-10-20 · suite-summary-2026-10
Tested: Not a test run: the suite's 13 benchmarked games (15 rows, with OpenArena's two renderers and OpenTTD's two blitters) gathered with their known numbers as of October 2026, each value naming the batch or document it came from. Result: It is the calibration of the rating formula (rules 1): the scale was tried on these numbers before any game was rated, and the GameDB calibration table is generated from it. Benchmarks never give a medal; medals come from played sessions only. | ||||||||||||||||
| Neverball | the recipe as it is | 66.5 | 41.3 | - | - | - | warm-up + 120 s | 58 | 34 | 2.0 | 3900 | 50 | - | - | - | right, 118 underruns |
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 · 2026-10-28-rt-audio-shipped
Tested: Real-time audio as shipped in ps3-desktop 0.1013 (a priority limit plus ps3-rt-audio, which game mode uses to put the game's audio thread on SCHED_RR), against none, on dsda-doom, Extreme Tux Racer, X-Moto and Neverball. Result: Shipped. Audible dropouts a run fell from 29 to 2 in dsda-doom, 26 to 2 in Extreme Tux Racer and 3 to 0 in Neverball, with steady fps unchanged within 0.4%. The 1% lows came out a little lower in the light games, with the ranges touching. What we saw25 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.
| ||||||||||||||||
base |
rtaudio | 82.7 | 57.3 | 0.0 | 82.5 | - | warm-up + 120 s | 56.8 | 34.2 | 0.0 | 28.6 | - | 99.5 | 53.0 | 193.4 | |
base |
real-time priority 0 | 82.7 | 58.4 | 0 | 82.6 | - | warm-up + 120 s | 54.2 | 34.2 | 0.0 | 28.3 | - | 94.8 | 106 | 214.4 | |
Luanti ps3.364 batching, Neverball ps3.370 batching, Sauerbraten libspeq 0.381 skinning (spawn)
2026-10-17 · 2026-10-17-luanti-neverball-batching
Tested: Draw batching in our Luanti (ps3.364) and Neverball (ps3.370) packages against the old drawing, and BananaBread's model skinning on the SPUs, on the PPE through libspeq, or off (libspeq 0.381). Result: Batching gives Luanti fewer stalls and shorter worst frames, and cuts Neverball's CPU from 80 to 65 s at the same frame rate. For BananaBread libspeq's PPE skinning is best; the SPU path adds hitches. One Luanti batching-off run was later found disturbed by input. What we saw
| ||||||||||||||||
base |
the recipe as it is | 66.5 | 41.3 | 51 | 76.5 | - | warm-up + 120 s | 58.5 | 34.2 | - | - | - | 65.5 | 118 | 3893.0 | |
gloff |
NEVERBALL_GL=0 | 62.4 | 48.1 | 39.5 | 71.9 | - | warm-up + 120 s | 56.9 | 34.3 | - | - | - | 80.3 | 115.0 | 3674.5 | |
Mesa ps3.262 repeats and Armagetron without 0020 (texinv)
2026-10-17 · 2026-10-17-mesa-262-repeats
Tested: Whether the frame rates of the Mesa ps3.262 suite round hold up when repeated, and whether Armagetron's drop on ps3.262 comes from Mesa patch 0020 (the texture cache flushed only after texture changes). Result: Single QuakeSpasm runs spread from 66 to 84 fps on the same Mesa, so one-run differences of that size are noise. Armagetron runs at 52-53 fps with or without 0020, so 0020 is not the cause of its loss. What we saw
| ||||||||||||||||
base |
the recipe as it is | - | - | - | 75.9 | Mesa ps3.262 | whole run | 62.0 | 34.3 | - | - | - | 11.5 | 19.0 | - | |
Mesa ps3.262 + ps3rsx 0.249
2026-10-17 · 2026-10-17-mesa-262
Tested: Mesa ps3.262 (patches 0019 to 0025: fewer words sent to the GPU per draw) across the suite, against ps3.246. Result: Big gains in several games: OpenArena +23%, Yamagi +24%, X-Moto +21%, Extreme Tux Racer and dsda-doom +15%. Armagetron fell from 60 to 51 fps, which the next batches traced. Single runs; BananaBread's drop is a memory stall, not a driver number. What we saw
| ||||||||||||||||
base |
the recipe as it is | - | - | - | 71.5 | Mesa ps3.262, ps3rsx 0.249 | whole run | 64.6 | 34.3 | - | - | - | 10.7 | 12 | - | |
Mesa ps3.246 + ps3rsx 0.249
2026-10-17 · 2026-10-17-mesa-246-ps3rsx-249
Tested: The first full suite round after the reboot into ps3rsx 0.249, one run per game, as a baseline. Result: Every game ran with the right picture. The sound was right except in dsda-doom (MIDI music), BananaBread and OpenTTD. Single runs, so differences of a few fps are noise. What we saw
| ||||||||||||||||
base |
the recipe as it is | - | - | - | 78.2 | Mesa ps3.246, ps3rsx 0.249 | whole run | 71.8 | 34.3 | - | - | - | 12.7 | 16 | - | |
ps3rsx 0.249 first boot (Mesa ps3.246; SDL3 ps3.254)
2026-10-17 · 2026-10-17-ps3rsx-249-first-boot
Tested: The first boot with ps3rsx 0.249 and libsdl3 ps3.254: Neverball without the wedge, OpenTTD's native upload, and the first runs of Luanti and BananaBread (the Cube 2 engine). Result: Neverball runs without wedging (76.4 and 70.2 fps), and OpenTTD rose from about 2 to 8 fps (12 with the 8-bit blitter). Luanti and BananaBread run but are memory-bound; BananaBread's first run was killed for lack of memory. What we saw
| ||||||||||||||||
base |
the recipe as it is | - | - | - | 73.3 | Mesa ps3.246, ps3rsx 0.249 | whole run | 64.3 | 34.3 | - | - | - | 12.2 | 25.5 | - | |
Mesa ps3.225 (0014 mip readback): tests and Neverball
2026-10-16 · 2026-10-16-mesa-225
Tested: Mesa ps3.225 with patch 0014, which reads the two smallest mipmap levels on the CPU, then Neverball, which had wedged the GPU on ps3.223. Result: Fixed: every texture and mipmap test passes and Neverball ran 60 s without the wedge, at 70 fps. Mesa 0014 is proven; ps3rsx 0.249's own refusal of misaligned textures was still untested. What we saw
| ||||||||||||||||
base |
the recipe as it is | - | - | - | 70 | Mesa ps3.225 | whole run | 75.6 | 35.4 | - | - | - | 31.8 | 50 | - | |
Mesa ps3.223 Neverball wedges the RSX (graph exception 0x105)
2026-10-16 · 2026-10-16-mesa-223-neverball-wedge
Tested: Neverball's first run, on Mesa ps3.223. Result: It locked up the GPU, which only a console reboot clears. The cause was a texture read from a misaligned address during software mipmap generation; fixed by Mesa 0014 (ps3.225), and ps3rsx 0.249 refuses such addresses too. What we saw
| ||||||||||||||||
base |
the recipe as it is | - | - | - | - | Mesa ps3.223 | whole run | 71.7 | 25.0 | - | - | - | 63.7 | 5 | - | |