All games

OpenTTD

Gold · 83 with OpenTTD (OpenGL) 0.1 h played, 0 crashes

A transport simulation: build railways, roads, ships and airports and run a profitable company.

Genre
strategy management simulation
Players
single player online multiplayer
Input
made for keyboard and mouse
View
2D
Family
remake or clone
Keywords
transport tycoon

Played sessions

Testing is done with Walnut's rating tool (walnut-rate, planned): 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 kernel6.12.111+ps3.747 Walnut's build
Mesa26.2.4-1+ps3.819 Walnut's build
ps3rsx0.735+k6.12.111+ps3.747 Walnut's build
DateLauncherRulesPlayEndedPicture
2026-10-25 OpenTTD (software) 1.03 minquit ok Details
2026-10-25 OpenTTD (OpenGL) 1.06 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.

OpenTTD (OpenGL)

VersionTestedMedalRules Frame rateSmoothnessSoundPictureStabilityDisplayLoad Play
Walnut 0.1
openttd 15.1-1
2026-10-25 Gold · 83 1.0 74649710090-96 0.1 h
1 test

OpenTTD (software)

VersionTestedMedalRules Frame rateSmoothnessSoundPictureStabilityDisplayLoad Play
Walnut 0.1
openttd 15.1-1
2026-10-25 Untested 1.0 --7910090-- 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 gamethe recipe as it is, without a variant
sw-
swaccel-
zoomout-
scroll-
nosound-
nomusic-
quiet-
hz22-
buf2048-
buf4096-
blit8-
blit32-
blit32anim-
titlethe title screen's demo game, as base was until 2026-10-18 (software video, no HUD)
simplaythe 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-
glthe 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
accelthe title game with SDL3's default accelerated framebuffer (to check the SDL3 fix)
accel8the 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 411838.30.413.42103500 right, choppy (3500-4700 underruns)
OpenTTD, 32bpp base 171811.052.05.73113500 right, choppy (3500-4700 underruns)

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)

VariantConditions Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
base stall recorder at 10 ms 3513.28
base stall recorder at 10 ms
switch fxoff
4014.33
base stall recorder at 10 ms
switch ldstock-fluid
3413.37
All numbers and setup of this batch
VariantNumbersSetup
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: same boot (2026-10-19 13:55-14:26Z), 9 runs rotated. Steady fps 35 with the new library against 34 stock (+3%) and 40 with the effects off (FLUIDFX off, +18%). docs/SPU-AUDIO.md

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)

VariantConditions Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
base stall recorder at 10 ms
switch staging_pool_mb24
52.018.61.0
scroll stall recorder at 10 ms
switch staging_pool_mb24
31.014.35.0
zoomout stall recorder at 10 ms
switch staging_pool_mb24
23.011.112.5
All numbers and setup of this batch
VariantNumbersSetup
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: same boot (2026-10-19 12:03-12:23Z), 6 runs with NV30_STAGING_POOL_MB=24 in every arm. base 52 fps steady (1% low 18.6), zoomout 23 (11.1), scroll 31 (14.3); without the pool (ssdroot3) zoomout and scroll ran 7 fps. The 8 MB staging buffers were the cost of those views

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)

VariantConditions Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
base perf recording
switch staging_pool_mb24
209.630
base stall recorder at 10 ms 115.8350
base stall recorder at 10 ms
switch staging_pool_mb24
209.439
blit8 stall recorder at 10 ms 3413.05
blit8 stall recorder at 10 ms
switch staging_pool_mb24
5218.41
All numbers and setup of this batch
VariantNumbersSetup
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: same boot (2026-10-19 09:56-10:41Z), 12 runs rotated plus one PERF profile of base with the pool (the perf column, n=1). OpenTTD 8bpp (blit8): steady 34 -> 52 fps with the pool (HUD), 1% low 13.0 -> 18.4, frames over 100 ms 5 -> 1 (0.4 -> 0.1 s). 32bpp-anim (base): 11 -> 20 fps, 1% low 5.8 -> 9.4, stalls 43 -> 4.3 s. Same picture in every arm. The pool takes the per-frame 8 MB staging buffers out of the allocator; docs/HOTPATHS.md

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)

VariantConditions Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
base stall recorder at 10 ms 115.5410
blit32 stall recorder at 10 ms 136.5264
blit8 stall recorder at 10 ms 3513.43
scroll stall recorder at 10 ms 74.1804
zoomout stall recorder at 10 ms 74.0833
All numbers and setup of this batch
VariantNumbersSetup
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: same boot (2026-10-19 06:27-07:20Z), GL driver, all three rounds finished; webcam picture right. base (32bpp-anim) 11 fps, 1% low 5.5-5.7, 43-54 s of stalls. blit8 (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, and the picture matches base's (webcam pairs compared; OpenGFX is an 8bpp set). blit32 (32bpp-optimized) 13-14, stalls 26-35 s. zoomout (one zoom step out, 4x the sprites) 7 fps with 115-120 s of stalls, scroll (camera panned by the keyboard) 7-8 with 100-116 s. Underruns stay 2600-4500 with blit8: 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)

VariantConditions Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
base stall recorder at 10 ms 115.7414
buf2048 stall recorder at 10 ms 115.9360
buf4096 stall recorder at 10 ms 116.2360
hz22 stall recorder at 10 ms 126.1330
All numbers and setup of this batch
VariantNumbersSetup
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: same boot (2026-10-19 05:42-06:25Z), GL driver, 32bpp-anim, picture right (webcam), the room was noisy from about 06:00Z so the mic clips of the last runs are void. None of hz22 (22.05 kHz), buf2048 and buf4096 helps: each run is either 10-12 fps with 1800-4700 underruns or 14 fps with 80-700, in every arm including base (base 14 fps with 702 underruns in round 1, 11 with 4500 after). The spread follows how much the music costs in that run (the playlist is random; not confirmed), not the option.

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)

VariantConditions Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
base stall recorder at 10 ms 115.5396
nomusic stall recorder at 10 ms 137.3235
nosound stall recorder at 10 ms 147.7175
quiet stall recorder at 10 ms 148.0173
All numbers and setup of this batch
VariantNumbersSetup
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: same boot (2026-10-19 04:56-05:38Z), GL driver, 32bpp-anim (the ps3.297 default), 60 s warm-up and 120 s window, webcam picture right in all 12 runs. base 10-12 fps steady (1% low 5.5-6.3, 32-53 s of stalls, 2326-4668 underruns), nosound 14 (stalls 19.5-21.4 s, 0 underruns), nomusic 13 (24-28 s, 63-107 underruns), quiet 14 (19-21 s, 0). The music costs about 3 fps (-20% frame rate) and 25-30 s of stalls, the effects almost nothing; 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)

VariantConditions 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
VariantNumbersSetup
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: same boot (2026-10-19 04:51-04:56Z), one run each, openttd 15.1 ps3.297. sw: software video through X11 starts, picture right, 4.75 s load, no HUD, 3991 underruns, 15.9 MB free. simplay: 6000 ticks of the bench save in 82.7 s with null video and no sound (about 2.2x real time: the simulation alone is not the limit, 83 s of CPU), 50.9 MB free.

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.

VariantConditions Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
gl
not comparable
perf recording 186.5101
All numbers and setup of this batch
VariantNumbersSetup
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 (2026-10-19 02:01-02:30Z), 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: Sauerbraten Mesa 62.8% (kgpu 4.8, game 10.5), ClassiCube Mesa 41.2 + kernel 20.1 + kgpu 7.1, SuperTuxKart game 36.5 + Mesa 35.5 + libc 15.1, OpenArena game 27.6 + Mesa 23.1 + other 20.4 (OpenAL 12.4, libdeflate 3.9), Luanti game 47.2 (MeshUpdate thread 20.7% of all samples) + Mesa 14.6 + libc 13.7, dsda-doom Mesa 22.3 + game 20.5 + audio 30 (FluidSynth 15, libspeq 12), OpenTTD kernel 49.5 (36.7 of them in __replay_soft_interrupts, 8.3 in HPTE invalidation, 5.1 in ps3rsx_gart_clear from buffer creation) + audio 17. OpenTTD ran at its title screen (a menu, not gameplay: 18 fps, 4172 underruns). Mesa has no symbols in these runs (perf.data not pulled: PC-side symbolisation later). SuperTuxKart fps cells are the HUD.

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)

VariantConditions Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
gl waker kick at 10 ms 219.240
All numbers and setup of this batch
VariantNumbersSetup
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 2026-10-18 ~09:30-11:50 local. SuperTuxKart: TRACK DRAWS (webcam), lean smooth 21.4 vs base 13, stalls 2.4 vs 13.5 s. OpenTTD gl: right picture, 21 fps (software 8-12). ClassiCube base (batching) 47.3 vs gloff 49.4 (-4%), low1 31 vs 27.6. dsda gl 55.9 vs gloff 54.2 (+3%), low1 40.8 vs 36.5. Malloc presets inconsistent between rounds (noise). OA gl2min 55 s stalls, longest 16 s, 66 MB swapped; Luanti 10 s stalls, 51 MB swapped INTERFERENCE (retro-scan 2026-10-18, docs/STALLS.md): luanti-base@wkkick10+perf (20261018T081125Z) had a right click in the window: distrust its 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)

VariantConditions 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
VariantNumbersSetup
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 2026-10-18 ~06:50-07:40 local. QuakeSpasm NV30_TRANSLATE_LUT=1: steady 91.0/90.8 vs 90.9/91.0 (no change), cpu 104/101 vs 108/106 s (~-3%). ClassiCube NV30_FENCE_BO_POOL=16: identical (48.4). dsda-doom profile ok, 40.3 steady, no stalls. OpenTTD title game, no survey dialog (webcam ok). Armagetron base INVALID: 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)

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 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: 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 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: 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.

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)

VariantConditions 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
VariantNumbersSetup
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: 2026-10-17 07:59-08:24Z, after the reboot into ps3rsx 0.249 (9e2a3b9, 8e99b76). Per 1c1b09a the GL tests pass and VT switches work with a GL client (those runs are not in build/bench). Neverball (our +ps3.257 with NEVERBALL_BENCH, 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) goes from ~2 to 8 fps (HUD; 9.5 across the two runs) and 12 fps with the 8bpp blitter (accel8); its own software drawing is the limit. Luanti and Sauerbraten run for the first time, both memory-bound: Luanti load 37 s, HUD median 67 (p10 23, stalls to 0 while chunks load), 31 MB MemAvailable at the lowest; Sauerbraten (CPU skinning) was OOM-killed in the first run (dmesg oom-killer, MemAvailable down to 10 MB) and reached a HUD median of 15 in the second (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)

VariantConditions 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
VariantNumbersSetup
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: 00:36-00:42Z, Mesa ps3.246 (0015-0017: no fence reference work when the fence is unchanged, one fence read per validate, no duplicate krefs; same command stream; c9eb36c) before the ps3rsx 0.249 reboot. gl-texsub, gl-texfmt, gl-genmip and gl-mipread all PASS (no cells). X-Moto 37 fps HUD (35 on ps3.223; underruns 208 to 126), ClassiCube demo 44.9 fps (43.2 on ps3.225). OpenTTD with libsdl3 +ps3.242 (accelerated framebuffer, colours right per the user) runs at 2 fps by the HUD with 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)

VariantConditions 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
VariantNumbersSetup
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: 23:30-23:36Z, Debian OpenTTD 15.1. The headless simulation (20000 ticks, no video) takes 13.4 s. The title-screen demo with SDL's accelerated window framebuffer shows a strong blue cast on big-endian and runs at 5 fps by the HUD (1091 underruns); with SDL_FRAMEBUFFER_ACCELERATION=0 (plain X11) the colours are right (x11fb, 60 s, 1260 underruns, no HUD on that path). The GL driver refuses to start ('Single element texture formats not supported': no ARB_texture_rg). libsdl3 +ps3.242 (d720d21) fixes the blue cast but converts every frame on the CPU (~2 fps); +ps3.254 (137b5a0) uploads natively (~8 fps).