ValveSoftware/Proton

Compatibility tool for Steam Play based on Wine and additional components

View on GitHub ↗Jump to charts ↓Open shareable report →

Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 59 minutes ago
Added to GitGenius on December 7th, 2025
Created on March 13th, 2018
Open Issues & Pull Requests: 5,218 (+0)
GitHub issues: Enabled
Number of forks: 1,652
Total Stargazers: 33,011 (+1)
Total Subscribers: 394 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.6 hours
Mean response time: 66.1 days
90th percentile: 95.8 days
Tracked items: 3,090

How this project is maintained

About 15% of issues opened in the past year have never received a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "AMD RADV" is answered fastest, typically in about an hour, while ".NET-XNA" waits about 3 days. 65% of tracked open issues have had no activity in three months, so the open count overstates what is actively being worked. Only 59% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 2,111
New in 7 days: 23
Closed in 7 days: 12
Avg open age: 1,344 days
Stale 30+ days: 1,911
Stale 90+ days: 1,614

Recent activity

Opened in 7 days: 16
Closed in 7 days: 6
Comments in 7 days: 40
Events in 7 days: 67

Top labels

  • Game compatibility - Unofficial (1,956)
  • XAudio2 (427)
  • Regression (302)
  • .NET (140)
  • Mesa drivers (93)
  • NVIDIA drivers (68)
  • AMD RADV (47)
  • Feature Request (44)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Proton is a compatibility tool developed by Valve that enables Windows-exclusive games to run on Linux through the Steam client. It functions as a wrapper around Wine, adding specialized components to bridge the gap between Windows game requirements and Linux systems. The project is written primarily in C++ and serves as the foundation for Steam Play on Linux, allowing users to access their Windows game libraries on non-Windows platforms.

The repository provides source code for advanced users who wish to customize their Proton installation, such as selecting different Wine versions for specific titles or applying custom modifications. Most users rely on the Proton versions distributed directly through the Steam client rather than building from source. The project maintains detailed documentation including a changelog available on its wiki and debugging guides for both Linux and Windows environments.

Building Proton requires either Docker or Podman, with the project providing a containerized build environment through the Proton SDK. The build system is designed to minimize host-side dependencies by executing most compilation inside containers. Users can build Proton using a simple top-level Makefile for straightforward builds or manually configure the build process with additional options like ccache support, custom SDK images, and SELinux compatibility. The system supports multiple build targets including local installation, redistribution packages, and deployment builds used for Steam distribution. Advanced features include ARM64 architecture support and unstripped debug builds for development purposes.

XAudio2 support discussions account for 443 items, while regression reports comprise 309 items.

The project is classified across multiple technical domains including Linux gaming, Windows game compatibility, DirectX support, Vulkan rendering, and cross-platform functionality. Its contributor network overlaps with major projects including Microsoft's VSCode and TypeScript repositories as well as the Rust language project, suggesting shared development practices and potential code sharing across these ecosystems.

Runtime configuration in Proton allows users to tune behavior for specific games through environment variables, with the Steam client automatically applying known configurations. Users can customize settings globally through a user_settings.py file or per-game through Steam's launch options. The installation process supports local builds integrated directly into Steam's compatibility tools directory, allowing users to test custom versions alongside official releases. All components operate under their respective licenses, with users required to adhere to license terms when distributing built versions.