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,
quakespasm 0.96.3+dfsg-2
The platform builds under it (3)
| Linux kernel | 6.12.111+ps3.786 Walnut's build |
|---|---|
| Mesa | 26.2.4-1+ps3.827 Walnut's build |
| ps3rsx | 0.788+k6.12.111+ps3.786 Walnut's build |
| Date | Launcher | Rules | Play | Ended | Picture | |
|---|---|---|---|---|---|---|
| 2026-10-26 | QuakeSpasm (GLSL) | 2.3 | 8 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 | Controls | Display | Features | Load | Play |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Walnut 0.1 quakespasm 0.96.3+dfsg-2 |
2026-10-26 | Platinum · 93 | 2.3 | 95 | 78 | 100 | 100 | 90 | 100 | 85 | 100 | 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: QuakeSpasm 0.96.3 with the Quake shareware data: timedemo of the shareware's demo1, fullscreen 1920x1080. -nopackedpixels: 0.96.3's packed-pixels lightmaps have wrong colours on big-endian.
The recipe's full description
QuakeSpasm 0.96.3 (Debian) with the Quake shareware data (quake-shareware from make game-data: /usr/share/games/quake/id1/pak0.pak): timedemo of the shareware's demo1, fullscreen 1920x1080. -nopackedpixels: 0.96.3's packed-pixels lightmaps have wrong colours on big-endian (quakespasm issue #114; nv30 has no 10-bit format anyway). It doesn't quit after a timedemo: stopped at the result line. Base keeps GLSL on (alias models; gamma stays 1.0, so the full-screen gamma pass doesn't run); noglsl is GL 1.x only, glslgamma turns the gamma pass on (it runs off 1.0 only). +timedemo on the command line doesn't work: the shareware's quake.rc runs "startdemos demo1 demo2 demo3" after the command line's commands and the attract loop replaces the timedemo. So a quake.rc of ours in the user's id1 (~/.quakespasm/id1, searched before the system's pak0.pak) runs the timedemo instead. (A -game directory would do it too, but the shareware refuses those.) Steady state: the timedemo repeated in one session (PASSES=1; client.sh counts the passes that start 54 s or more after the first, and stops the game once they cover ~120 s: ~5 warm-up passes of ~13 s, then ~9 measured). QuakeSpasm has no hook at a demo's end (Host_EndGame skips the attract loop in a timedemo and CL_FinishTimeDemo clears cls.timedemo), so quake.rc loops by frame count: `bench` starts the timedemo, waits 1100 host frames (a wait is one frame; demo1's timedemo is 969 frames, about 2 s idle at the console after it) and starts the next. A timedemo started before the last one ended would print a "-1 frames" line: FPS_RE wants a line starting with a count. fps= stays the first pass's (the run as before); steady is the median of the measured passes.
3 variants of the recipe
base stands for the game | the recipe as it is, without a variant |
|---|---|
noglsl | - |
glslgamma | - |
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. | ||||||||||||||||
| QuakeSpasm | the recipe as it is | 91.0 | 48.6 | - | - | - | warm-up + 120 s | 44 | 49 | 2.5 | 393 | 0 | - | - | - | right, right |
Mesa ps3.407 switches (QuakeSpasm LUT, ClassiCube fence pool), profiler checks (ps3-gpu-tools 0.412), all with WAKER kick
2026-10-18 · 2026-10-18-mesa-407-switches
Tested: Two more Mesa ps3.407 switches (the vertex lookup table on QuakeSpasm, a fence pool on ClassiCube), plus profile checks of dsda-doom, OpenTTD and Armagetron with ps3-gpu-tools 0.412. Result: Both switches are neutral: QuakeSpasm keeps 91 fps with about 3% less CPU, ClassiCube is identical. The Armagetron run is invalid (it sat in the language menu). What we saw
| ||||||||||||||||
base |
waker kick at 10 ms | 91.0 | 48.6 | 10.0 | 89.7 | Mesa ps3.407 | warm-up + 120 s | 44.2 | 48.7 | 2.5 | 392.6 | - | 107.0 | 5.0 | 392.6 | |
base |
waker kick at 10 ms switch translate_lut1 |
90.9 | 47.0 | 10.5 | 89.6 | Mesa ps3.407 | warm-up + 120 s | 36.5 | 47.6 | 2.8 | 519.6 | - | 102.5 | 17.0 | 519.6 | |
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 | - | - | - | 78.5 | Mesa ps3.262 | whole run | 51.4 | 47.6 | - | - | - | 11.8 | 1.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 | - | - | - | 66.3 | Mesa ps3.262, ps3rsx 0.249 | whole run | 46.7 | 47.4 | - | - | - | 12.2 | 1 | - | |
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 | - | - | - | 70.5 | Mesa ps3.246, ps3rsx 0.249 | whole run | 40.7 | 47.6 | - | - | - | 13.0 | 1 | - | |
Group 2 QuakeSpasm timedemo through our quake.rc (Mesa ps3.225)
2026-10-16 · 2026-10-16-quakespasm-timedemo
Tested: QuakeSpasm's timedemo at 1920x1080 through our startup script, with three rendering paths: no shaders, shaders, and shaders with the gamma pass. Result: The benchmark works with the right colours: 59.2 fps without shaders, 64.8 with them, 70.3 with the gamma pass. Single runs; the later suite measured 66 to 84 fps. What we saw
| ||||||||||||||||
base |
the recipe as it is | - | - | - | 64.8 | Mesa ps3.225 | whole run | 53.1 | 47.7 | - | - | - | 12.5 | - | - | |
glslgamma |
the recipe as it is | - | - | - | 70.3 | Mesa ps3.225 | whole run | 54.6 | 47.6 | - | - | - | 12.4 | 4 | - | |
noglsl |
the recipe as it is | - | - | - | 59.2 | Mesa ps3.225 | whole run | 61.0 | 44.1 | - | - | - | 17.7 | 36 | - | |
Group 2 QuakeSpasm first smokes (Mesa ps3.225)
2026-10-16 · 2026-10-16-quakespasm-smokes
Tested: QuakeSpasm's first runs with the shareware data, trying to run its timedemo. Result: Neither run gave a result: the shareware startup script's attract loop kept the timedemo from printing, and a custom game folder is refused in the shareware version. The fix was our own startup script in the user's game folder. What we saw
| ||||||||||||||||
noglsl |
the recipe as it is | - | - | - | 66 | Mesa ps3.225 | whole run | 68.2 | 46.0 | - | - | - | 4.5 | 79 | - | |