{"adoption": {"forks": 953, "observed_at": "2026-08-28T04:10:42.462136+00:00", "stars": 10584}, "canonical_url": "https://ross.abutalabs.com/products/duckstation", "card": {"archived": false, "artifact_type": "application", "description": "Fast PlayStation 1 emulator for x86-64/AArch32/AArch64/RV64", "domain": ["gaming-tools", "simulation", "cross-platform"], "enriched": true, "function": ["game-engine", "graphics", "simulation", "gui"], "health_score": 100, "homepage": null, "language": "C++", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["stenzek/duckstation"], "name": "stenzek/duckstation", "platform": ["windows", "cpp"], "pushed_at": "2026-08-26T11:30:48+00:00", "repo": "stenzek/duckstation", "stars": 10584, "tags": ["ps1-emulator", "playstation", "jit-compiler", "vulkan", "opengl", "retro-gaming", "upscaling", "save-states", "linux", "macos", "desktop"], "topics": ["playstation", "psx", "emulator", "opengl", "jit-compiler", "vulkan", "hardware-renderers", "fast", "appimage", "ps1", "enhancements"], "urls": [], "use_cases": ["play playstation 1 games on pc", "emulate psx with upscaling and texture filtering", "run ps1 games on linux or mac", "use save states and rewind while playing ps1 games", "play ps1 games on low-end hardware", "replace ps1 textures with hd texture packs"], "what_it_is": "DuckStation is a fast, accurate PlayStation 1 (PSX) emulator for x86-64, AArch32/AArch64, and RISC-V platforms. It ships a Qt frontend plus a fullscreen UI, with hardware renderers (D3D11/12, OpenGL, Vulkan, Metal), upscaling, save states, and many enhancement features.", "when_to_avoid": ["you need to emulate PlayStation 2 or later consoles", "you cannot provide your own PS1 BIOS image", "you want a plug-and-play emulator with bundled ROMs or BIOS (not provided for legal reasons)"], "when_to_choose": ["you want a fast, accurate PS1 emulator on Windows, Linux, or macOS", "you need hardware rendering with upscaling, PGXP, and post-processing shaders", "you want save states, rewind, and runahead for low-latency play", "you run on ARM or RISC-V devices"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/duckstation", "repo": "stenzek/duckstation", "role": "main", "score": 98}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:42.462136+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:18:30.302646+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6472cf3017efc9e4e2826e880ca677419dc7285bb0e54cb1d41e055d904ffecc", "fetched_at": "2026-08-28T04:10:42.462136+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stenzek/duckstation"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:42.462136+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:18:30.302646+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6472cf3017efc9e4e2826e880ca677419dc7285bb0e54cb1d41e055d904ffecc", "fetched_at": "2026-08-28T04:10:42.462136+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stenzek/duckstation"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:18:30.302646+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6472cf3017efc9e4e2826e880ca677419dc7285bb0e54cb1d41e055d904ffecc", "fetched_at": "2026-08-28T04:10:42.462136+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stenzek/duckstation"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:10:42.462136+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:42.462136+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:42.462136+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:18:30.302646+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6472cf3017efc9e4e2826e880ca677419dc7285bb0e54cb1d41e055d904ffecc", "fetched_at": "2026-08-28T04:10:42.462136+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stenzek/duckstation"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:42.462136+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:42.462136+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:18:30.302646+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6472cf3017efc9e4e2826e880ca677419dc7285bb0e54cb1d41e055d904ffecc", "fetched_at": "2026-08-28T04:10:42.462136+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stenzek/duckstation"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:42.462136+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:42.462136+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:42.462136+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:18:30.302646+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6472cf3017efc9e4e2826e880ca677419dc7285bb0e54cb1d41e055d904ffecc", "fetched_at": "2026-08-28T04:10:42.462136+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stenzek/duckstation"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:42.462136+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:42.462136+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:18:30.302646+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6472cf3017efc9e4e2826e880ca677419dc7285bb0e54cb1d41e055d904ffecc", "fetched_at": "2026-08-28T04:10:42.462136+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stenzek/duckstation"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:18:30.302646+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6472cf3017efc9e4e2826e880ca677419dc7285bb0e54cb1d41e055d904ffecc", "fetched_at": "2026-08-28T04:10:42.462136+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stenzek/duckstation"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:18:30.302646+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6472cf3017efc9e4e2826e880ca677419dc7285bb0e54cb1d41e055d904ffecc", "fetched_at": "2026-08-28T04:10:42.462136+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stenzek/duckstation"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:18:30.302646+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6472cf3017efc9e4e2826e880ca677419dc7285bb0e54cb1d41e055d904ffecc", "fetched_at": "2026-08-28T04:10:42.462136+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stenzek/duckstation"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 97}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2550, "days_push": 7, "days_rel": 22, "gap_med": 9.0, "n_releases_24m": 25}, "score": 98, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}