Played sessions
Testing is done with Walnut's rating tool (walnut-rate, on the console): how ratings are made and submitted.
Same in every session:
Walnut 0.1,
openttd 15.1-1+ps3.721
The platform builds under it (3)
| Linux kernel | 6.12.111+ps3.747 Walnut's build |
|---|---|
| Mesa | 26.2.4-1+ps3.819 Walnut's build |
| ps3rsx | 0.735+k6.12.111+ps3.747 Walnut's build |
| Date | Launcher | Rules | Play | Ended | Picture | |
|---|---|---|---|---|---|---|
| 2026-10-25 | OpenTTD (software) | 1.0 | 3 min | quit | ok | Details |
| 2026-10-25 | OpenTTD (OpenGL) | 1.0 | 6 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.
OpenTTD (OpenGL)
| Version | Tested | Medal | Rules | Frame rate | Smoothness | Sound | Picture | Stability | Display | Load | Play |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Walnut 0.1 openttd 15.1-1 |
2026-10-25 | Gold · 83 | 1.0 | 74 | 64 | 97 | 100 | 90 | - | 96 | 0.1 h 1 test |
OpenTTD (software)
| Version | Tested | Medal | Rules | Frame rate | Smoothness | Sound | Picture | Stability | Display | Load | Play |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Walnut 0.1 openttd 15.1-1 |
2026-10-25 | Untested | 1.0 | - | - | 79 | 100 | 90 | - | - | 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: OpenTTD 15.1 with OpenGFX/OpenSFX/OpenMSX. base: a real game. assets/openttd-bench.sav: 1962, 30 towns, 318 stations, 132 trains, 600 road vehicles, 5 ships, 83 aircraft.
The recipe's full description
OpenTTD 15.1 (Debian, our openttd package for the GL driver) with OpenGFX/OpenSFX/OpenMSX. base: a real game (2026-10-19). assets/openttd-bench.sav: 1962, 30 towns (65000 inhabitants), 318 stations, 132 trains, 600 road vehicles, 5 ships, 83 aircraft (a 256x256 map, played by six AIs for 12 years on the PC, then every company made a human one: no script runs, no AI window, no news; made with assets-src/). Loaded from the command line (-g), 1920x1080 fullscreen, the camera on Taningville (a city of 5000 with a rail station and a bus hub, ~35 vehicles within 16 tiles) at the normal zoom, the game at normal speed for the whole run (OpenTTD has no timedemo: a fixed duration; the game thread's work per frame is the same, the vehicle positions drift with the wall clock). The GL driver (-v sdl-opengl, our package) with the package's default blitter (8bpp-optimized since patch 0003; the ps3.297 package and Debian's use 32bpp-anim: the batches of 2026-10-19 ran the old default as `base`), fps from the Gallium HUD (the load ends at the HUD's first frame, 60 s warm-up, 120 s measured, then the game is stopped). Sound and music on as in play: the SDL sound driver at 44.1 kHz and the FluidSynth music driver with the first soundfont it finds (TimGM6mb on the image), OpenMSX playing. setup()'s config turns autosave off, the news popups off (no pause dialogs) and the survey off (OpenTTD 14+ asks on the first start). The AI window can't open: no AI is left in the save. The PS3 needs the image's openttd, openttd-opengfx, openttd-opensfx, openttd-openmsx and fluidsynth with a soundfont (all from Debian), no NewGRF, no AI. sw: the same game with the SDL software video driver through plain X11 (SDL3's accelerated window framebuffer shows a blue cast on big-endian until the SDL3 fix): no GL, so no HUD and no fps (CPU profiles, stalls, memory); the window starts at the savegame's load line ("Loading savegame version", -d sl=1) + 60 s, 120 s measured swaccel: sw with SDL3's accelerated window framebuffer (HUD fps: the SDL renderer is GL) zoomout: base from assets/openttd-bench-far.sav: the same city one zoom step out (4x the area, ~4x the sprites and station names on screen) scroll: base with the camera panned by the keyboard (xkeys.py through XTEST): Right for 3 s, Left for 3 s, over and over from the window's warm-up on; OpenTTD scrolls by the clock, so the pan covers the same ground at any frame rate. Left/Right only: Up/Down clamp at the map's edge from this camera and don't come back nosound: effects off (-s null); nomusic: music off (-m null); quiet: both off hz22, buf2048, buf4096: the SDL sound driver at 22.05 kHz (the mixer's rate, which the FluidSynth music renders at too: half the synthesis), and with a 2048 or 4096 frame buffer (46 or 93 ms at 44.1 kHz; the default is 1024 = 23 ms): sound candidates for underruns blit8, blit32, blit32anim: base with the 8bpp-optimized, 32bpp-optimized or 32bpp-anim blitter (32bpp-anim, the stock default and ours before patch 0003, is a 32-bit video buffer plus an 8-bit animation buffer, both mapped from a pixel buffer object that the CPU blends sprites into): blit32anim is the old default, for comparisons with the batches before 0003 title: until 2026-10-18 base: the title screen's own demo game (trains running, the camera panning by itself) with the software driver through X11, no HUD (the window starts at the title game's load + 60 s). The title game is a savegame with its random state (deterministic, no AIs), but its ticks and the camera's sign-driven pans run on the wall clock. gl, accel, accel8 are title variants too (the GL driver; SDL3's accelerated framebuffer; that with the 8bpp-optimized blitter), as they were. simplay: the bench save's simulation only (null driver, 6000 ticks, exits by itself) sim: simulation only, no video (null driver): a new game from a fixed seed, run for 20000 ticks and timed (a CPU benchmark; it exits by itself) The PS3 runs: `run.sh smoke openttd` (one run, 360 s at most), `run.sh bench openttd "base zoomout"`.
The recipe today runs it at the game's own resolution, with vblank_mode=0 (vsync off). Older batches ran the recipe as it was then: their titles and observations say what changed (a new game build, a driver change).
20 variants of the recipe
base stands for the game | the recipe as it is, without a variant |
|---|---|
sw | - |
swaccel | - |
zoomout | - |
scroll | - |
nosound | - |
nomusic | - |
quiet | - |
hz22 | - |
buf2048 | - |
buf4096 | - |
blit8 | - |
blit32 | - |
blit32anim | - |
title | the title screen's demo game, as base was until 2026-10-18 (software video, no HUD) |
simplay | the bench save's simulation without video: 6000 ticks (a quarter of a game year; 7 s on the PC, 830 ticks a second there against the 33 a second the game needs in real time): the CPU cost of 800 vehicles and 30 towns, no drawing, no sound; exits by itself |
sim | - |
gl | the title game with the sdl-opengl driver (the package's default blitter: 32bpp-anim before patch 0003, with sprites drawn on the CPU and the palette animation and the screen upload on the GPU); needs our openttd package (gamedb/games/openttd/packages/openttd/: Debian's refuses nv30, no ARB_texture_rg); compare with title and accel -d driver=2: the GL renderer, the luminance fallback and shader compiler warnings on stderr |
accel | the title game with SDL3's default accelerated framebuffer (to check the SDL3 fix) |
accel8 | the accelerated framebuffer with OpenTTD's cheapest blitter (8-bit palette; the default is 32bpp-anim, which redraws palette animation per pixel in software) |
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 |
|---|---|---|---|---|---|---|---|---|
| OpenTTD, 8bpp blit8 | 41 | 18 | 38.3 | 0.4 | 13.4 | 210 | 3500 | right, choppy (3500-4700 underruns) |
| OpenTTD, 32bpp base | 17 | 18 | 11.0 | 52.0 | 5.7 | 311 | 3500 | right, choppy (3500-4700 underruns) |
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 |
nicelim40 | 43 | 15.4 | 0 |
base |
real-time priority 0 | 42.0 | 15.3 | 1.0 |
All numbers and setup of this batch
| Variant | Numbers | Setup |
|---|---|---|
base |
fps whole run 43 cpu 257.5 seconds underruns 1095 underruns ram_free 45.3 MiB vram 17.9 MiB longest_ms 98.2 ms stall_play_s 0.0 seconds longest_play_ms 98.2 ms | no build recorded the game's resolution, warm-up + 120 s |
base |
fps whole run 42.0 cpu 261.5 seconds underruns 2018.5 underruns ram_free 44.6 MiB vram 17.9 MiB longest_ms 101.3 ms stall_play_s 0.1 seconds longest_play_ms 101.3 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 ssdroot5 FluidSynth on OpenTTD base x3: divide-free reverb (libfluidsynth3 +ps3.549), Debian's stock (LDPATH), effects off (SSD root .472 Mesa ps3.544)
2026-10-19 · batch 2026-10-19-ssdroot5-fluidsynth · 9 runs in the batch (all games)
| Variant | Conditions | Steady fps in the window |
1% low fps | Stalls frames over 100 ms |
|---|---|---|---|---|
base |
stall recorder at 10 ms | 35 | 13.2 | 8 |
base |
stall recorder at 10 ms switch fxoff |
40 | 14.3 | 3 |
base |
stall recorder at 10 ms switch ldstock-fluid |
34 | 13.3 | 7 |
All numbers and setup of this batch
| Variant | Numbers | Setup |
|---|---|---|
base |
fps whole run 34 cpu 259.9 seconds underruns 3808 underruns ram_free 43.7 MiB vram 17.9 MiB longest_ms 133.1 ms stall_disk_s 0 seconds stall_swap_s 0 seconds stall_reclaim_s 0.0 seconds stall_gpu_s 0.0 seconds stall_cpu_s 0.8 seconds stall_play_s 0.9 seconds longest_play_ms 133.1 ms | Kernel ps3.472, Mesa ps3.544 the game's resolution, warm-up + 120 s |
base |
fps whole run 38 cpu 251.4 seconds underruns 2730 underruns ram_free 38.1 MiB vram 17.9 MiB longest_ms 118.3 ms stall_disk_s 0 seconds stall_swap_s 0.0 seconds stall_reclaim_s 0 seconds stall_gpu_s 0 seconds stall_cpu_s 0.3 seconds stall_play_s 0.3 seconds longest_play_ms 118.3 ms | Kernel ps3.472, Mesa ps3.544 the game's resolution, warm-up + 120 s |
base |
fps whole run 32 cpu 263.6 seconds underruns 3925 underruns ram_free 37.1 MiB vram 17.9 MiB longest_ms 145.0 ms stall_disk_s 0 seconds stall_swap_s 0 seconds stall_reclaim_s 0 seconds stall_gpu_s 0.0 seconds stall_cpu_s 0.7 seconds stall_play_s 0.8 seconds longest_play_ms 145.0 ms | Kernel ps3.472, Mesa ps3.544 the game's resolution, warm-up + 120 s |
Observations: 9 runs rotated. - Steady fps: 35 with our library, 34 with Debian's (+3%). - With the synthesizer's effects off: 40 fps (+18%).
batch ssdroot5 OpenTTD views with Mesa 0040 on: base, zoomout, scroll x2 (SSD root .472 Mesa ps3.544, 8bpp-optimized)
2026-10-19 · batch 2026-10-19-ssdroot5-openttd-views · 6 runs in the batch (all games)
| Variant | Conditions | Steady fps in the window |
1% low fps | Stalls frames over 100 ms |
|---|---|---|---|---|
base |
stall recorder at 10 ms switch staging_pool_mb24 |
52.0 | 18.6 | 1.0 |
scroll |
stall recorder at 10 ms switch staging_pool_mb24 |
31.0 | 14.3 | 5.0 |
zoomout |
stall recorder at 10 ms switch staging_pool_mb24 |
23.0 | 11.1 | 12.5 |
All numbers and setup of this batch
| Variant | Numbers | Setup |
|---|---|---|
base |
fps whole run 50.5 cpu 230.5 seconds underruns 3135.0 underruns ram_free 41.7 MiB vram 17.9 MiB longest_ms 110.3 ms stall_disk_s 0.0 seconds stall_swap_s 0.0 seconds stall_reclaim_s 0.0 seconds stall_gpu_s 0.0 seconds stall_cpu_s 0.1 seconds stall_play_s 0.1 seconds longest_play_ms 110.3 ms | Kernel ps3.472, Mesa ps3.544 the game's resolution, warm-up + 120 s |
scroll |
fps whole run 33.0 cpu 252.3 seconds underruns 3506.0 underruns ram_free 38.8 MiB vram 17.9 MiB longest_ms 280.4 ms stall_disk_s 0.0 seconds stall_swap_s 0.0 seconds stall_reclaim_s 0.1 seconds stall_gpu_s 0.0 seconds stall_cpu_s 0.5 seconds stall_play_s 0.8 seconds longest_play_ms 280.4 ms | Kernel ps3.472, Mesa ps3.544 the game's resolution, warm-up + 120 s |
zoomout |
fps whole run 22.5 cpu 253.2 seconds underruns 3454.0 underruns ram_free 34.2 MiB vram 17.9 MiB longest_ms 161.1 ms stall_disk_s 0.0 seconds stall_swap_s 0.0 seconds stall_reclaim_s 0.1 seconds stall_gpu_s 0.0 seconds stall_cpu_s 1.2 seconds stall_play_s 1.5 seconds longest_play_ms 161.1 ms | Kernel ps3.472, Mesa ps3.544 the game's resolution, warm-up + 120 s |
Observations: The staging pool on in every arm, 8bpp-optimized blitter, 6 runs. - Normal view (base): 52 fps steady, 1% low 18.6. - Zoomed out: 23 fps, 1% low 11.1. - Scrolling: 31 fps, 1% low 14.3. - Without the pool (the earlier blitter batch, another boot) zoomed out and scrolling both ran 7 fps.
batch ssdroot4 Mesa 0040: NV30_STAGING_POOL_MB=24 against off on OpenTTD base (32bpp-anim) and blit8 (8bpp-optimized) x3, the 1962 savegame (SSD root .472 Mesa ps3.544)
2026-10-19 · batch 2026-10-19-ssdroot4-staging-pool · 13 runs in the batch (all games)
| Variant | Conditions | Steady fps in the window |
1% low fps | Stalls frames over 100 ms |
|---|---|---|---|---|
base |
perf recording switch staging_pool_mb24 |
20 | 9.6 | 30 |
base |
stall recorder at 10 ms | 11 | 5.8 | 350 |
base |
stall recorder at 10 ms switch staging_pool_mb24 |
20 | 9.4 | 39 |
blit8 |
stall recorder at 10 ms | 34 | 13.0 | 5 |
blit8 |
stall recorder at 10 ms switch staging_pool_mb24 |
52 | 18.4 | 1 |
All numbers and setup of this batch
| Variant | Numbers | Setup |
|---|---|---|
base |
fps whole run 20 cpu 263.1 seconds underruns 3905 underruns ram_free 13.9 MiB vram 25.8 MiB longest_ms 532.2 ms stall_play_s 4.7 seconds longest_play_ms 532.2 ms | Kernel ps3.472, Mesa ps3.544 the game's resolution, warm-up + 120 s |
base |
fps whole run 10 cpu 271.5 seconds underruns 3548 underruns ram_free 21.2 MiB vram 17.9 MiB longest_ms 323.9 ms stall_disk_s 0 seconds stall_swap_s 0.1 seconds stall_reclaim_s 0.1 seconds stall_gpu_s 1.5 seconds stall_cpu_s 40.3 seconds stall_play_s 43.7 seconds longest_play_ms 323.9 ms | Kernel ps3.472, Mesa ps3.544 the game's resolution, warm-up + 120 s |
base |
fps whole run 20 cpu 256.4 seconds underruns 3943 underruns ram_free 16.6 MiB vram 17.9 MiB longest_ms 521.7 ms stall_disk_s 0 seconds stall_swap_s 0.0 seconds stall_reclaim_s 0.7 seconds stall_gpu_s 0.2 seconds stall_cpu_s 3.7 seconds stall_play_s 5.1 seconds longest_play_ms 521.7 ms | Kernel ps3.472, Mesa ps3.544 the game's resolution, warm-up + 120 s |
blit8 |
fps whole run 33 cpu 264.4 seconds underruns 4027 underruns ram_free 38.8 MiB vram 17.9 MiB longest_ms 128.1 ms stall_disk_s 0 seconds stall_swap_s 0 seconds stall_reclaim_s 0 seconds stall_gpu_s 0 seconds stall_cpu_s 0.5 seconds stall_play_s 0.6 seconds longest_play_ms 128.1 ms | Kernel ps3.472, Mesa ps3.544 the game's resolution, warm-up + 120 s |
blit8 |
fps whole run 51 cpu 229.9 seconds underruns 3166 underruns ram_free 38.7 MiB vram 17.9 MiB longest_ms 108.5 ms stall_disk_s 0.0 seconds stall_swap_s 0 seconds stall_reclaim_s 0.0 seconds stall_gpu_s 0 seconds stall_cpu_s 0.1 seconds stall_play_s 0.1 seconds longest_play_ms 108.5 ms | Kernel ps3.472, Mesa ps3.544 the game's resolution, warm-up + 120 s |
Observations: 12 runs rotated, plus one profiled run of base with the pool (not for comparison). - 8bpp-optimized blitter: 34 to 52 fps steady with the pool (Gallium HUD), 1% low 13.0 to 18.4, frames over 100 ms 5 to 1 (0.4 to 0.1 s). - 32bpp-anim (base): 11 to 20 fps, 1% low 5.8 to 9.4, stalls 43 to 4.3 s. - Same picture in every arm. - The pool takes the 8 MB staging buffer each frame needed out of the memory allocator.
batch ssdroot3 OpenTTD C: blitters and view on the 1962 savegame (base against blit8, blit32, zoomout, scroll, x3 rotated)
2026-10-19 · batch 2026-10-19-ssdroot3-openttd-blitters · 15 runs in the batch (all games)
| Variant | Conditions | Steady fps in the window |
1% low fps | Stalls frames over 100 ms |
|---|---|---|---|---|
base |
stall recorder at 10 ms | 11 | 5.5 | 410 |
blit32 |
stall recorder at 10 ms | 13 | 6.5 | 264 |
blit8 |
stall recorder at 10 ms | 35 | 13.4 | 3 |
scroll |
stall recorder at 10 ms | 7 | 4.1 | 804 |
zoomout |
stall recorder at 10 ms | 7 | 4.0 | 833 |
All numbers and setup of this batch
| Variant | Numbers | Setup |
|---|---|---|
base |
fps whole run 10 cpu 280.4 seconds underruns 4587 underruns ram_free 16.6 MiB vram 17.9 MiB longest_ms 472.3 ms stall_disk_s 0 seconds stall_swap_s 0.1 seconds stall_reclaim_s 0.1 seconds stall_gpu_s 1.8 seconds stall_cpu_s 48.0 seconds stall_play_s 52.8 seconds longest_play_ms 472.3 ms | no build recorded the game's resolution, warm-up + 120 s |
blit32 |
fps whole run 12 cpu 273.3 seconds underruns 4301 underruns ram_free 24.2 MiB vram 15.9 MiB longest_ms 447.6 ms stall_disk_s 0 seconds stall_swap_s 0.0 seconds stall_reclaim_s 0.1 seconds stall_gpu_s 1.7 seconds stall_cpu_s 29.0 seconds stall_play_s 32.7 seconds longest_play_ms 447.6 ms | no build recorded the game's resolution, warm-up + 120 s |
blit8 |
fps whole run 32 cpu 264.3 seconds underruns 3997 underruns ram_free 40.3 MiB vram 17.9 MiB longest_ms 191.9 ms stall_disk_s 0 seconds stall_swap_s 0 seconds stall_reclaim_s 0 seconds stall_gpu_s 0 seconds stall_cpu_s 0.3 seconds stall_play_s 0.4 seconds longest_play_ms 191.9 ms | no build recorded the game's resolution, warm-up + 120 s |
scroll |
fps whole run 7 cpu 280.2 seconds underruns 4484 underruns ram_free 18.4 MiB vram 17.9 MiB longest_ms 611.4 ms stall_disk_s 0.1 seconds stall_swap_s 0.3 seconds stall_reclaim_s 0.2 seconds stall_gpu_s 3.7 seconds stall_cpu_s 106.1 seconds stall_play_s 115.1 seconds longest_play_ms 611.4 ms | no build recorded the game's resolution, warm-up + 120 s |
zoomout |
fps whole run 6 cpu 274.9 seconds underruns 4415 underruns ram_free 13.1 MiB vram 17.9 MiB longest_ms 491.0 ms stall_disk_s 0.0 seconds stall_swap_s 0.3 seconds stall_reclaim_s 0.0 seconds stall_gpu_s 4.1 seconds stall_cpu_s 110.3 seconds stall_play_s 119.1 seconds longest_play_ms 491.0 ms | no build recorded the game's resolution, warm-up + 120 s |
Observations: OpenGL driver, all three rounds finished, picture right on the webcam. - 32bpp-anim (base): 11 fps, 1% low 5.5-5.7, 43-54 s of stalls. - 8bpp-optimized: 34, 35 and 43 fps, 1% low 13-15, 0.3-0.5 s of stalls, free RAM 41 MB against 17-21. The picture matches base's (OpenGFX is an 8-bit set). - 32bpp-optimized: 13-14 fps, 26-35 s of stalls. - Zoomed out one step (4 times the sprites): 7 fps, 115-120 s of stalls. - Camera panned with the keyboard: 7-8 fps, 100-116 s of stalls. - Underruns stay at 2600-4500 with the 8bpp blitter: the music still runs.
batch ssdroot3 OpenTTD B: audio buffers on the 1962 savegame (base against hz22, buf2048, buf4096, x3 rotated)
2026-10-19 · batch 2026-10-19-ssdroot3-openttd-buffers · 12 runs in the batch (all games)
| Variant | Conditions | Steady fps in the window |
1% low fps | Stalls frames over 100 ms |
|---|---|---|---|---|
base |
stall recorder at 10 ms | 11 | 5.7 | 414 |
buf2048 |
stall recorder at 10 ms | 11 | 5.9 | 360 |
buf4096 |
stall recorder at 10 ms | 11 | 6.2 | 360 |
hz22 |
stall recorder at 10 ms | 12 | 6.1 | 330 |
All numbers and setup of this batch
| Variant | Numbers | Setup |
|---|---|---|
base |
fps whole run 10 cpu 280.1 seconds underruns 4528 underruns ram_free 19.3 MiB vram 17.9 MiB longest_ms 312.2 ms stall_disk_s 0.0 seconds stall_swap_s 0.1 seconds stall_reclaim_s 0.1 seconds stall_gpu_s 1.8 seconds stall_cpu_s 48.2 seconds stall_play_s 52.7 seconds longest_play_ms 312.2 ms | no build recorded the game's resolution, warm-up + 120 s |
buf2048 |
fps whole run 10 cpu 274.6 seconds underruns 3505 underruns ram_free 21.8 MiB vram 17.9 MiB longest_ms 296.1 ms stall_disk_s 0 seconds stall_swap_s 0.1 seconds stall_reclaim_s 0.1 seconds stall_gpu_s 1.7 seconds stall_cpu_s 40.7 seconds stall_play_s 45.1 seconds longest_play_ms 296.1 ms | no build recorded the game's resolution, warm-up + 120 s |
buf4096 |
fps whole run 11 cpu 265.4 seconds underruns 1795 underruns ram_free 18.2 MiB vram 17.9 MiB longest_ms 548.8 ms stall_disk_s 0 seconds stall_swap_s 0.1 seconds stall_reclaim_s 0.0 seconds stall_gpu_s 1.7 seconds stall_cpu_s 37.6 seconds stall_play_s 43.9 seconds longest_play_ms 548.8 ms | no build recorded the game's resolution, warm-up + 120 s |
hz22 |
fps whole run 11 cpu 267.9 seconds underruns 2878 underruns ram_free 13.2 MiB vram 17.9 MiB longest_ms 315.3 ms stall_disk_s 0 seconds stall_swap_s 0.0 seconds stall_reclaim_s 0.0 seconds stall_gpu_s 1.3 seconds stall_cpu_s 37.6 seconds stall_play_s 41.1 seconds longest_play_ms 315.3 ms | no build recorded the game's resolution, warm-up + 120 s |
Observations: OpenGL driver, 32bpp-anim blitter, picture right on the webcam. - No arm helps. Each run is either 10-12 fps with 1800-4700 underruns or 14 fps with 80-700, in every arm including base. - base itself: 14 fps with 702 underruns in round 1, 11 fps with 4500 after. - The spread probably follows how much the music costs in that run (the playlist is random); not confirmed. - The room was noisy from about halfway through, so the microphone clips of the last runs are void.
batch ssdroot3 OpenTTD A: sound switches on the 1962 savegame (base against nosound, nomusic, quiet, x3 rotated)
2026-10-19 · batch 2026-10-19-ssdroot3-openttd-sound · 12 runs in the batch (all games)
| Variant | Conditions | Steady fps in the window |
1% low fps | Stalls frames over 100 ms |
|---|---|---|---|---|
base |
stall recorder at 10 ms | 11 | 5.5 | 396 |
nomusic |
stall recorder at 10 ms | 13 | 7.3 | 235 |
nosound |
stall recorder at 10 ms | 14 | 7.7 | 175 |
quiet |
stall recorder at 10 ms | 14 | 8.0 | 173 |
All numbers and setup of this batch
| Variant | Numbers | Setup |
|---|---|---|
base |
fps whole run 10 cpu 280.6 seconds underruns 4632 underruns ram_free 14.6 MiB vram 17.9 MiB longest_ms 220.3 ms stall_disk_s 0 seconds stall_swap_s 0.1 seconds stall_reclaim_s 0.0 seconds stall_gpu_s 1.8 seconds stall_cpu_s 46.3 seconds stall_play_s 50.7 seconds longest_play_ms 220.3 ms | no build recorded the game's resolution, warm-up + 120 s |
nomusic |
fps whole run 13 cpu 246.4 seconds underruns 88 underruns ram_free 16.9 MiB vram 17.9 MiB longest_ms 374.5 ms stall_disk_s 0 seconds stall_swap_s 0.0 seconds stall_reclaim_s 0.1 seconds stall_gpu_s 1.1 seconds stall_cpu_s 25.3 seconds stall_play_s 27.5 seconds longest_play_ms 374.5 ms | no build recorded the game's resolution, warm-up + 120 s |
nosound |
fps whole run 13 cpu 234.2 seconds underruns 0 underruns ram_free 20.5 MiB vram 17.9 MiB longest_ms 310.0 ms stall_disk_s 0 seconds stall_swap_s 0.0 seconds stall_reclaim_s 0.1 seconds stall_gpu_s 0.8 seconds stall_cpu_s 18.5 seconds stall_play_s 20.1 seconds longest_play_ms 310.0 ms | no build recorded the game's resolution, warm-up + 120 s |
quiet |
fps whole run 13 cpu 233.4 seconds underruns 0 underruns ram_free 21.0 MiB vram 17.9 MiB longest_ms 241.8 ms stall_disk_s 0 seconds stall_swap_s 0.0 seconds stall_reclaim_s 0 seconds stall_gpu_s 0.8 seconds stall_cpu_s 18.1 seconds stall_play_s 19.4 seconds longest_play_ms 241.8 ms | no build recorded the game's resolution, warm-up + 120 s |
Observations: OpenGL driver, 32bpp-anim blitter (the package's default then), 120 s measured per run, webcam picture right in all 12 runs. Stalls are the time spent in frames over 100 ms. - base: 10-12 fps steady, 1% low 5.5-6.3, 32-53 s of stalls, 2326-4668 underruns. - Sound driver off: 14 fps, 19.5-21.4 s of stalls, 0 underruns. - Music driver off: 13 fps, 24-28 s of stalls, 63-107 underruns. - Both off: 14 fps, 19-21 s of stalls, 0 underruns. - base's first round (12 fps, 2326 underruns) was lighter than its other two.
batch ssdroot3 OpenTTD smoke: the 1962 savegame, software X11 video and simulation only (SSD root, .472)
2026-10-19 · batch 2026-10-19-ssdroot3-openttd-smoke · 2 runs in the batch (all games)
| Variant | Conditions | Steady fps in the window |
1% low fps | Stalls frames over 100 ms |
|---|---|---|---|---|
simplay |
the recipe as it is | - | - | - |
sw |
SDL_FRAMEBUFFER_ACCELERATION=0 | - | - | - |
All numbers and setup of this batch
| Variant | Numbers | Setup |
|---|---|---|
simplay |
cpu 82.9 seconds ram_free 49.7 MiB | no build recorded the game's resolution, whole run |
sw |
cpu 225.7 seconds underruns 3991 underruns ram_free 15.6 MiB | no build recorded the game's resolution, whole run |
Observations: One run each. - Software video through X11: starts with the right picture and loads in 4.75 s. This path has no frame-rate counter. 3991 sound underruns; free memory fell to 15.9 MB. - Simulation only (no video, no sound): 6000 ticks of the savegame in 82.7 s with 83 s of CPU, about 2.2 times real time. Free memory 50.9 MB.
batch ssdroot2 P1b: gameplay profiles on the SSD root (PERF=1 MEM=1 x1)
2026-10-19 · batch 2026-10-19-ssdroot2-gameplay-profiles · 7 runs in the batch (all games)
Not comparable: gameplay profiles (PERF=1 MEM=1), slower than plain runs.
| Variant | Conditions | Steady fps in the window |
1% low fps | Stalls frames over 100 ms |
|---|---|---|---|---|
glnot comparable |
perf recording | 18 | 6.5 | 101 |
All numbers and setup of this batch
| Variant | Numbers | Setup |
|---|---|---|
gl |
fps whole run 18 cpu 241.4 seconds underruns 4172 underruns ram_free 26.3 MiB vram 25.8 MiB longest_ms 661.7 ms stall_play_s 14.7 seconds longest_play_ms 661.7 ms | no build recorded the game's resolution, warm-up + 120 s |
Observations: - Same boot, one run per game, perf at 499 Hz over the window. Profiled runs are for profiles, not fps (OpenArena 56 against 60 unprofiled). - Share of the game process's samples: - BananaBread: Mesa 62.8%, the GPU kernel driver 4.8, the game 10.5. - ClassiCube: Mesa 41.2, kernel 20.1, the GPU kernel driver 7.1. - SuperTuxKart: the game 36.5, Mesa 35.5, libc 15.1. - OpenArena: the game 27.6, Mesa 23.1, other 20.4 (OpenAL 12.4, libdeflate 3.9). - Luanti: the game 47.2 (its mesh-update thread 20.7% of all samples), Mesa 14.6, libc 13.7. - dsda-doom: Mesa 22.3, the game 20.5, audio 30 (FluidSynth 15, libspeq 12). - OpenTTD: kernel 49.5 (36.7 replaying deferred interrupts, 8.3 page table invalidation, 5.1 clearing GPU memory mappings when buffers are created), audio 17. It ran at its title screen (a menu, not gameplay: 18 fps, 4172 underruns). - Mesa has no symbols in these profiles (to be resolved on the PC later). SuperTuxKart's fps is the HUD's.
batch 8: STK lean, OpenTTD gl, ClassiCube/dsda batching, malloc presets, profiles (Mesa ps3.408, kick)
2026-10-18 · batch 2026-10-18-batch8 · 26 runs in the batch (all games)
| Variant | Conditions | Steady fps in the window |
1% low fps | Stalls frames over 100 ms |
|---|---|---|---|---|
gl |
waker kick at 10 ms | 21 | 9.2 | 40 |
All numbers and setup of this batch
| Variant | Numbers | Setup |
|---|---|---|
gl |
fps whole run 20 cpu 236.3 seconds underruns 3893 underruns ram_free 17.0 MiB vram 25.8 MiB longest_ms 642.4 ms stall_play_s 6.3 seconds longest_play_ms 642.4 ms | Mesa ps3.408 the game's resolution, warm-up + 120 s |
Observations: - Same boot. - SuperTuxKart: the track draws (webcam). Lean settings 21.4 fps smooth against 13 as built, stalls 2.4 against 13.5 s. - OpenTTD with the GL driver: right picture, 21 fps (8-12 with software drawing). - ClassiCube with batching 47.3 fps against 49.4 with the old drawing (-4%), but 1% low 31 against 27.6. - dsda-doom GL renderer with batching 55.9 against 54.2 (+3%), 1% low 40.8 against 36.5. - Memory allocator presets: inconsistent between rounds (noise). - OpenArena OpenGL 2 renderer: 55 s of stalls, longest 16 s, 66 MB swapped out. Luanti: 10 s of stalls, 51 MB swapped out. - Interference (found by the later scan): the profiled Luanti run had a right click in its measured window, so distrust that cell.
Mesa ps3.407 switches (QuakeSpasm LUT, ClassiCube fence pool), profiler checks (ps3-gpu-tools 0.412), all with WAKER kick
2026-10-18 · batch 2026-10-18-mesa-407-switches · 10 runs in the batch (all games)
| Variant | Conditions | Steady fps in the window |
1% low fps | Stalls frames over 100 ms |
|---|---|---|---|---|
base |
waker kick at 10 ms perf recording |
- | - | - |
All numbers and setup of this batch
| Variant | Numbers | Setup |
|---|---|---|
base |
cpu 171.3 seconds underruns 3759 underruns ram_free 18.3 MiB | Mesa ps3.407 the game's resolution, whole run |
Observations: - Same boot, all with the 10 ms waker kick. - QuakeSpasm with the lookup table: steady 91.0 and 90.8 fps against 90.9 and 91.0 without (no change). CPU 104 and 101 s against 108 and 106 (about -3%). - ClassiCube with a pool of 16 fence buffers: identical (48.4 fps). - dsda-doom profile fine: 40.3 fps steady, no stalls. - OpenTTD reached its title game without the survey dialog (webcam OK). - Armagetron: invalid. It was stuck at the first-start language menu (webcam); its 183 fps is the menu.
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 |
cpu 40.8 seconds underruns 868 underruns ram_free 25.9 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 |
cpu 55.5 seconds underruns 1429 underruns ram_free 32.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.
ps3rsx 0.249 first boot (Mesa ps3.246; SDL3 ps3.254)
2026-10-17 · batch 2026-10-17-ps3rsx-249-first-boot · 9 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 | - | - | - |
accel |
the recipe as it is | - | - | - |
accel8 |
the recipe as it is | - | - | - |
All numbers and setup of this batch
| Variant | Numbers | Setup |
|---|---|---|
base |
cpu 48.2 seconds underruns 1169 underruns ram_free 33.9 MiB | Mesa ps3.246, ps3rsx 0.249 the game's resolution, whole run |
accel |
fps whole run 9.5 cpu 50.2 seconds underruns 1037.0 underruns ram_free 29.1 MiB vram 31.7 MiB | Mesa ps3.246, ps3rsx 0.249 the game's resolution, whole run |
accel8 |
fps whole run 12 cpu 55.0 seconds underruns 1098 underruns ram_free 42.4 MiB vram 31.7 MiB | Mesa ps3.246, ps3rsx 0.249 the game's resolution, whole run |
Observations: - The GL tests pass and switching virtual terminals works with a GL program running (those runs aren't in the records). - Neverball (our +ps3.257 with its own benchmark, about 23 s) runs without the wedge: 76.4 and 70.2 fps by its own count, longest frames 320 and 378 ms, 15 and 36 underruns. - OpenTTD with libsdl3 ps3.254 (native BGRA upload): from about 2 to 8 fps on the driver's frame counter (9.5 across the two runs), 12 fps with the 8-bit blitter. The game's own software drawing is the limit. - Luanti, first run: load 37 s, 67 fps on the counter (10th percentile 23, dropping to 0 while map chunks load), free memory down to 31 MB. - BananaBread (CPU skinning), first runs: the first was killed by the out-of-memory killer (free memory down to 10 MB); the second reached 15 fps on the counter, 236 underruns. - Smoke runs, single or paired.
Mesa ps3.246 + ps3rsx 0.219
2026-10-17 · batch 2026-10-17-mesa-246 · 7 runs in the batch (all games)
| Variant | Conditions | Steady fps in the window |
1% low fps | Stalls frames over 100 ms |
|---|---|---|---|---|
accel |
the recipe as it is | - | - | - |
All numbers and setup of this batch
| Variant | Numbers | Setup |
|---|---|---|
accel |
fps whole run 2 cpu 46.8 seconds underruns 937 underruns ram_free 30.4 MiB vram 31.7 MiB | Mesa ps3.246, ps3rsx 0.219 the game's resolution, whole run |
Observations: - Mesa ps3.246: no fence reference work when the fence is unchanged, one fence read per validate, no duplicate references. Same command stream. - Texture upload, format, mipmap and readback tests all pass. - X-Moto 37 fps on the driver's frame counter (35 on ps3.223); underruns 208 down to 126. - ClassiCube demo 44.9 fps (43.2 on ps3.225). - OpenTTD with libsdl3 +ps3.242: colours right (the user checked), but 2 fps on the counter and 937 underruns, because the framebuffer was converted on the CPU twice per frame. Killed at the 60 s cap. - Single runs.
Group 3 OpenTTD first smokes (Mesa ps3.225)
2026-10-16 · batch 2026-10-16-openttd-smokes · 4 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 | - | - | - |
gl |
the recipe as it is | - | - | - |
sim |
the recipe as it is | - | - | - |
x11fb |
the recipe as it is | - | - | - |
All numbers and setup of this batch
| Variant | Numbers | Setup |
|---|---|---|
base |
fps whole run 5 cpu 59.7 seconds underruns 1091 underruns ram_free 32.3 MiB vram 23.8 MiB | Mesa ps3.225 the game's resolution, whole run |
gl |
cpu 3.9 seconds ram_free 87.2 MiB vram 0.0 MiB | Mesa ps3.225 the game's resolution, whole run |
sim |
cpu 5.6 seconds ram_free 81.8 MiB | Mesa ps3.225 the game's resolution, whole run |
x11fb |
cpu 49.9 seconds underruns 1260 underruns ram_free 29.9 MiB | Mesa ps3.225 the game's resolution, whole run |
Observations: - Debian OpenTTD 15.1. - Simulation alone (20000 ticks, no video): 13.4 s. - Title-screen demo through SDL's accelerated framebuffer: a strong blue cast, 5 fps on the driver's frame counter, 1091 underruns. - Through plain X11: colours right, 1260 underruns, no frame counter on that path. - The GL driver refuses to start: "Single element texture formats not supported" (the GPU has no RG textures). - libsdl3 +ps3.242 fixes the blue cast but converts every frame on the CPU (about 2 fps); +ps3.254 uploads natively (about 8 fps).