{"id":19041346,"url":"https://github.com/xboxdev/nv2a-trace","last_synced_at":"2025-04-23T21:27:36.554Z","repository":{"id":33625934,"uuid":"138884277","full_name":"XboxDev/nv2a-trace","owner":"XboxDev","description":"A tracing software like apitrace for the original Xbox GPU","archived":false,"fork":false,"pushed_at":"2022-04-08T17:17:05.000Z","size":116,"stargazers_count":27,"open_issues_count":31,"forks_count":5,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-18T06:51:18.904Z","etag":null,"topics":["debugger","gpu","graphics","nv2a","xbox"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/XboxDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-06-27T13:18:46.000Z","updated_at":"2025-01-03T03:21:15.000Z","dependencies_parsed_at":"2022-08-07T22:16:34.700Z","dependency_job_id":null,"html_url":"https://github.com/XboxDev/nv2a-trace","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XboxDev%2Fnv2a-trace","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XboxDev%2Fnv2a-trace/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XboxDev%2Fnv2a-trace/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XboxDev%2Fnv2a-trace/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/XboxDev","download_url":"https://codeload.github.com/XboxDev/nv2a-trace/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250516671,"owners_count":21443657,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["debugger","gpu","graphics","nv2a","xbox"],"created_at":"2024-11-08T22:28:44.275Z","updated_at":"2025-04-23T21:27:36.533Z","avatar_url":"https://github.com/XboxDev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Warning\n\nThis is preliminary software. Don't expect anything to work.\nAlso see [issues](https://github.com/XboxDev/nv2a-trace/issues).\n\nAs this accesses your Xbox hardware directly, it *could* do permanent damage.\nUse at your own risk, don't do anything stupid.\n\nIt is also known to be unstable and can behave randomly.\n\n\n## nv2a-trace\n\nnv2a-trace is similar to [apitrace](https://github.com/apitrace/apitrace), but targeting the Xbox GPU instead of desktop graphics APIs.\n\nnv2a-trace runs remotely on a development machine.\nIt allows you to stop your Xbox GPU command stream and inspect each GPU method before execution.\nIt uses [xboxpy](https://github.com/XboxDev/xboxpy) to connect to a target Xbox.\n\nnv2a-trace can dump intermediate rendering steps like this:\n\n![Screenshot of Burnout 3](https://i.imgur.com/a2GuIFz.png)\n\nCurrently, most output will be send to PNG files in the \"out\" folder.\nAdditionally a \"debug.html\" will be created which shows the captured commands.\nThis output format is a temporary solution.\nEventually there'll be one of the following:\n\n* GUI, and tracing and UI will be largely decoupled.\n* Parsable output ASCII format which automatically acts as UI.\n\nThere is currently no parsable trace-file output, and replaying traces is not possible.\n\n\n### Usage\n\nThis project uses [xboxpy](https://github.com/XboxDev/xboxpy).\nPlease read its documentation to find out how to install and configure it for your Xbox.\n\nAfterwards, you can run these commands:\n\n```\ngit clone https://github.com/XboxDev/nv2a-trace.git\ncd nv2a-trace\npython3 -u nv2a-trace.py\n```\n\nThe last line will run nv2a-trace and connect to your Xbox.\nIt will automatically start tracing.\n\n**This tool may also (temporarily) corrupt the state of your Xbox.**\nIf this tool does not work, please retry a couple of times.\n\n### Contributing\n\nThis project uses [Black](https://pypi.org/project/black/) for automatic formatting.\nYou can use the pre-commit in the `githooks` directory to reformat any changes on commit\nor run the tool manually prior to creating a PR. In cases where you feel readability is\nsignificantly better with manual formatting, you may surround the code with\n`# fmt: off` / `# fmt: on` comments, but this should be a rare exception.\n\n---\n\n**(C) 2018 XboxDev maintainers**\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxboxdev%2Fnv2a-trace","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxboxdev%2Fnv2a-trace","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxboxdev%2Fnv2a-trace/lists"}