{"adoption": {"forks": 132, "observed_at": "2026-08-28T04:06:19.391473+00:00", "stars": 2152}, "canonical_url": "https://ross.abutalabs.com/products/gpu-passthrough-tutorial", "card": {"archived": false, "artifact_type": "learning-resource", "description": null, "domain": ["developer-tools", "gaming-tools", "operating-systems", "tutorials"], "enriched": true, "function": ["developer-tools", "documentation"], "health_score": 47, "homepage": null, "language": "Shell", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["bryansteiner/gpu-passthrough-tutorial"], "name": "bryansteiner/gpu-passthrough-tutorial", "platform": ["windows", "cli"], "pushed_at": "2025-10-04T19:45:24+00:00", "repo": "bryansteiner/gpu-passthrough-tutorial", "stars": 2152, "tags": ["gpu-passthrough", "kvm", "vfio", "virtualization", "windows-vm", "gaming-on-linux", "tutorial", "linux"], "topics": [], "urls": [], "use_cases": ["set up gpu passthrough kvm windows vm on linux", "replace dual boot with a windows gaming vm", "pass nvidia gpu to virtual machine while keeping linux host", "improve windows vm gaming performance with vfio", "configure iommu for gpu passthrough", "run linux development and windows gaming simultaneously"], "what_it_is": "A detailed tutorial repository explaining how to set up KVM/VFIO GPU passthrough on a Linux host to run a Windows 10 guest VM for gaming. It covers hardware requirements, VM creation, performance tuning, benchmarks, and licensing considerations.", "when_to_avoid": ["you have only one GPU and no IOMMU support", "you want a fully automated script rather than a manual tutorial", "you need a solution for laptops or hybrid graphics setups it does not cover"], "when_to_choose": ["you have two GPUs and IOMMU-capable hardware and want a step-by-step KVM/VFIO guide", "you want to game on Windows without leaving your Linux host", "you need benchmarks and performance tuning tips for a passthrough VM"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gpu-passthrough-tutorial", "repo": "bryansteiner/gpu-passthrough-tutorial", "role": "main", "score": 52}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:19.391473+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:50:39.329716+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "10aa26eabb5b3547d3e5080cdd06c15bd5ee43bd9d9e884a5295935f589753ba", "fetched_at": "2026-08-28T04:06:19.391473+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bryansteiner/gpu-passthrough-tutorial"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:19.391473+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:50:39.329716+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "10aa26eabb5b3547d3e5080cdd06c15bd5ee43bd9d9e884a5295935f589753ba", "fetched_at": "2026-08-28T04:06:19.391473+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bryansteiner/gpu-passthrough-tutorial"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:50:39.329716+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "10aa26eabb5b3547d3e5080cdd06c15bd5ee43bd9d9e884a5295935f589753ba", "fetched_at": "2026-08-28T04:06:19.391473+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bryansteiner/gpu-passthrough-tutorial"}], "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:06:19.391473+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:19.391473+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:19.391473+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:50:39.329716+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "10aa26eabb5b3547d3e5080cdd06c15bd5ee43bd9d9e884a5295935f589753ba", "fetched_at": "2026-08-28T04:06:19.391473+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bryansteiner/gpu-passthrough-tutorial"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:19.391473+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:19.391473+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:50:39.329716+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "10aa26eabb5b3547d3e5080cdd06c15bd5ee43bd9d9e884a5295935f589753ba", "fetched_at": "2026-08-28T04:06:19.391473+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bryansteiner/gpu-passthrough-tutorial"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:19.391473+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:19.391473+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:19.391473+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:50:39.329716+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "10aa26eabb5b3547d3e5080cdd06c15bd5ee43bd9d9e884a5295935f589753ba", "fetched_at": "2026-08-28T04:06:19.391473+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bryansteiner/gpu-passthrough-tutorial"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:19.391473+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:19.391473+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:50:39.329716+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "10aa26eabb5b3547d3e5080cdd06c15bd5ee43bd9d9e884a5295935f589753ba", "fetched_at": "2026-08-28T04:06:19.391473+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bryansteiner/gpu-passthrough-tutorial"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:50:39.329716+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "10aa26eabb5b3547d3e5080cdd06c15bd5ee43bd9d9e884a5295935f589753ba", "fetched_at": "2026-08-28T04:06:19.391473+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bryansteiner/gpu-passthrough-tutorial"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:50:39.329716+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "10aa26eabb5b3547d3e5080cdd06c15bd5ee43bd9d9e884a5295935f589753ba", "fetched_at": "2026-08-28T04:06:19.391473+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bryansteiner/gpu-passthrough-tutorial"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:50:39.329716+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "10aa26eabb5b3547d3e5080cdd06c15bd5ee43bd9d9e884a5295935f589753ba", "fetched_at": "2026-08-28T04:06:19.391473+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bryansteiner/gpu-passthrough-tutorial"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 45, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2427, "days_push": 333, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 52, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}