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.

made for keyboard and mouse keyboard and mouse simulation, strategy transport management tycoon multiplayer

Played sessions

Testing is done with Walnut's rating tool (walnut-rate, planned): how ratings are made and submitted.

DateVersionLauncherKindRulesPlayEndedPictureBuilds
2026-10-25Walnut 0.1
openttd 15.1-1
OpenTTD (software) session1.03 minquit ok openttd 15.1-1+ps3.721
Linux kernel 6.12.111+ps3.747
Mesa 26.2.4-1+ps3.819
ps3rsx 0.735+k6.12.111+ps3.747
Details
2026-10-25Walnut 0.1
openttd 15.1-1
OpenTTD (OpenGL) session1.06 minquit ok openttd 15.1-1+ps3.721
Linux kernel 6.12.111+ps3.747
Mesa 26.2.4-1+ps3.819
ps3rsx 0.735+k6.12.111+ps3.747
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 (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). Length: "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. Rows marked invalid or not comparable say why.

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)

VariantConditionsBuildResolutionLength fps
whole run
Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
cpu
seconds
underruns
underruns
ram_free
MiB
vram
MiB
longest_ms
ms
stall_disk_s
seconds
stall_swap_s
seconds
stall_reclaim_s
seconds
stall_gpu_s
seconds
stall_cpu_s
seconds
stall_play_s
seconds
longest_play_ms
ms
base stall recorder at 10 ms Kernel ps3.472, Mesa ps3.544 the game's warm-up + 120 s 343513.28 259.9380843.717.9133.1000.00.00.80.9133.1
base stall recorder at 10 ms
switch fxoff
Kernel ps3.472, Mesa ps3.544 the game's warm-up + 120 s 384014.33 251.4273038.117.9118.300.0000.30.3118.3
base stall recorder at 10 ms
switch ldstock-fluid
Kernel ps3.472, Mesa ps3.544 the game's warm-up + 120 s 323413.37 263.6392537.117.9145.00000.00.70.8145.0

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)

VariantConditionsBuildResolutionLength fps
whole run
Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
cpu
seconds
underruns
underruns
ram_free
MiB
vram
MiB
longest_ms
ms
stall_disk_s
seconds
stall_swap_s
seconds
stall_reclaim_s
seconds
stall_gpu_s
seconds
stall_cpu_s
seconds
stall_play_s
seconds
longest_play_ms
ms
base stall recorder at 10 ms
switch staging_pool_mb24
Kernel ps3.472, Mesa ps3.544 the game's warm-up + 120 s 50.552.018.61.0 230.53135.041.717.9110.30.00.00.00.00.10.1110.3
scroll stall recorder at 10 ms
switch staging_pool_mb24
Kernel ps3.472, Mesa ps3.544 the game's warm-up + 120 s 33.031.014.35.0 252.33506.038.817.9280.40.00.00.10.00.50.8280.4
zoomout stall recorder at 10 ms
switch staging_pool_mb24
Kernel ps3.472, Mesa ps3.544 the game's warm-up + 120 s 22.523.011.112.5 253.23454.034.217.9161.10.00.00.10.01.21.5161.1

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)

VariantConditionsBuildResolutionLength fps
whole run
Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
cpu
seconds
underruns
underruns
ram_free
MiB
vram
MiB
longest_ms
ms
stall_disk_s
seconds
stall_swap_s
seconds
stall_reclaim_s
seconds
stall_gpu_s
seconds
stall_cpu_s
seconds
stall_play_s
seconds
longest_play_ms
ms
base perf recording
switch staging_pool_mb24
Kernel ps3.472, Mesa ps3.544 the game's warm-up + 120 s 20209.630 263.1390513.925.8532.2-----4.7532.2
base stall recorder at 10 ms Kernel ps3.472, Mesa ps3.544 the game's warm-up + 120 s 10115.8350 271.5354821.217.9323.900.10.11.540.343.7323.9
base stall recorder at 10 ms
switch staging_pool_mb24
Kernel ps3.472, Mesa ps3.544 the game's warm-up + 120 s 20209.439 256.4394316.617.9521.700.00.70.23.75.1521.7
blit8 stall recorder at 10 ms Kernel ps3.472, Mesa ps3.544 the game's warm-up + 120 s 333413.05 264.4402738.817.9128.100000.50.6128.1
blit8 stall recorder at 10 ms
switch staging_pool_mb24
Kernel ps3.472, Mesa ps3.544 the game's warm-up + 120 s 515218.41 229.9316638.717.9108.50.000.000.10.1108.5

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)

VariantConditionsBuildResolutionLength fps
whole run
Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
cpu
seconds
underruns
underruns
ram_free
MiB
vram
MiB
longest_ms
ms
stall_disk_s
seconds
stall_swap_s
seconds
stall_reclaim_s
seconds
stall_gpu_s
seconds
stall_cpu_s
seconds
stall_play_s
seconds
longest_play_ms
ms
base stall recorder at 10 ms - the game's warm-up + 120 s 10115.5410 280.4458716.617.9472.300.10.11.848.052.8472.3
blit32 stall recorder at 10 ms - the game's warm-up + 120 s 12136.5264 273.3430124.215.9447.600.00.11.729.032.7447.6
blit8 stall recorder at 10 ms - the game's warm-up + 120 s 323513.43 264.3399740.317.9191.900000.30.4191.9
scroll stall recorder at 10 ms - the game's warm-up + 120 s 774.1804 280.2448418.417.9611.40.10.30.23.7106.1115.1611.4
zoomout stall recorder at 10 ms - the game's warm-up + 120 s 674.0833 274.9441513.117.9491.00.00.30.04.1110.3119.1491.0

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)

VariantConditionsBuildResolutionLength fps
whole run
Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
cpu
seconds
underruns
underruns
ram_free
MiB
vram
MiB
longest_ms
ms
stall_disk_s
seconds
stall_swap_s
seconds
stall_reclaim_s
seconds
stall_gpu_s
seconds
stall_cpu_s
seconds
stall_play_s
seconds
longest_play_ms
ms
base stall recorder at 10 ms - the game's warm-up + 120 s 10115.7414 280.1452819.317.9312.20.00.10.11.848.252.7312.2
buf2048 stall recorder at 10 ms - the game's warm-up + 120 s 10115.9360 274.6350521.817.9296.100.10.11.740.745.1296.1
buf4096 stall recorder at 10 ms - the game's warm-up + 120 s 11116.2360 265.4179518.217.9548.800.10.01.737.643.9548.8
hz22 stall recorder at 10 ms - the game's warm-up + 120 s 11126.1330 267.9287813.217.9315.300.00.01.337.641.1315.3

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)

VariantConditionsBuildResolutionLength fps
whole run
Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
cpu
seconds
underruns
underruns
ram_free
MiB
vram
MiB
longest_ms
ms
stall_disk_s
seconds
stall_swap_s
seconds
stall_reclaim_s
seconds
stall_gpu_s
seconds
stall_cpu_s
seconds
stall_play_s
seconds
longest_play_ms
ms
base stall recorder at 10 ms - the game's warm-up + 120 s 10115.5396 280.6463214.617.9220.300.10.01.846.350.7220.3
nomusic stall recorder at 10 ms - the game's warm-up + 120 s 13137.3235 246.48816.917.9374.500.00.11.125.327.5374.5
nosound stall recorder at 10 ms - the game's warm-up + 120 s 13147.7175 234.2020.517.9310.000.00.10.818.520.1310.0
quiet stall recorder at 10 ms - the game's warm-up + 120 s 13148.0173 233.4021.017.9241.800.000.818.119.4241.8

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)

VariantConditionsBuildResolutionLength fps
whole run
Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
cpu
seconds
underruns
underruns
ram_free
MiB
simplay the recipe as it is - the game's whole run ---- 82.9-49.7
sw SDL_FRAMEBUFFER_ACCELERATION=0 - the game's whole run ---- 225.7399115.6

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.

VariantConditionsBuildResolutionLength fps
whole run
Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
cpu
seconds
underruns
underruns
ram_free
MiB
vram
MiB
longest_ms
ms
stall_play_s
seconds
longest_play_ms
ms
gl
not comparable
perf recording - the game's warm-up + 120 s 18186.5101 241.4417226.325.8661.714.7661.7

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)

VariantConditionsBuildResolutionLength fps
whole run
Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
cpu
seconds
underruns
underruns
ram_free
MiB
vram
MiB
longest_ms
ms
stall_play_s
seconds
longest_play_ms
ms
gl waker kick at 10 ms Mesa ps3.408 the game's warm-up + 120 s 20219.240 236.3389317.025.8642.46.3642.4

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)

VariantConditionsBuildResolutionLength fps
whole run
Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
cpu
seconds
underruns
underruns
ram_free
MiB
base waker kick at 10 ms
perf recording
Mesa ps3.407 the game's whole run ---- 171.3375918.3

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)

VariantConditionsBuildResolutionLength fps
whole run
Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
cpu
seconds
underruns
underruns
ram_free
MiB
base the recipe as it is Mesa ps3.262, ps3rsx 0.249 the game's whole run ---- 40.886825.9

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)

VariantConditionsBuildResolutionLength fps
whole run
Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
cpu
seconds
underruns
underruns
ram_free
MiB
base the recipe as it is Mesa ps3.246, ps3rsx 0.249 the game's whole run ---- 55.5142932.5

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)

VariantConditionsBuildResolutionLength fps
whole run
Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
cpu
seconds
underruns
underruns
ram_free
MiB
vram
MiB
base the recipe as it is Mesa ps3.246, ps3rsx 0.249 the game's whole run ---- 48.2116933.9-
accel the recipe as it is Mesa ps3.246, ps3rsx 0.249 the game's whole run 9.5--- 50.21037.029.131.7
accel8 the recipe as it is Mesa ps3.246, ps3rsx 0.249 the game's whole run 12--- 55.0109842.431.7

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)

VariantConditionsBuildResolutionLength fps
whole run
Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
cpu
seconds
underruns
underruns
ram_free
MiB
vram
MiB
accel the recipe as it is Mesa ps3.246, ps3rsx 0.219 the game's whole run 2--- 46.893730.431.7

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)

VariantConditionsBuildResolutionLength fps
whole run
Steady fps
in the window
1% low
fps
Stalls
frames over 100 ms
cpu
seconds
underruns
underruns
ram_free
MiB
vram
MiB
base the recipe as it is Mesa ps3.225 the game's whole run 5--- 59.7109132.323.8
gl the recipe as it is Mesa ps3.225 the game's whole run ---- 3.9-87.20.0
sim the recipe as it is Mesa ps3.225 the game's whole run ---- 5.6-81.8-
x11fb the recipe as it is Mesa ps3.225 the game's whole run ---- 49.9126029.9-

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