Convert Figma logo to code with AI

ValveSoftware logosteam-for-linux

Issue tracking for the Steam for Linux beta client

4,393
178
4,393
3,241

Top Related Projects

8,559

Lutris desktop client

Compatibility tool for Steam Play based on Wine and additional components

A games launcher for GOG, Amazon and Epic Games for Linux, Windows and macOS.

Quick Overview

Steam for Linux is an official Valve project that brings the popular Steam gaming platform to Linux operating systems. It allows Linux users to access and play a wide variety of games, manage their game library, and connect with the Steam community, providing a similar experience to the Windows and macOS versions of Steam.

Pros

  • Brings a large library of games to Linux users
  • Supports native Linux games and Windows games through Proton compatibility layer
  • Integrates with the Steam community features (friends, chat, achievements)
  • Regularly updated and maintained by Valve

Cons

  • Not all games in the Steam library are compatible with Linux
  • Performance may vary compared to Windows versions for some games
  • Some advanced features or third-party tools may not be available on Linux
  • Dependency on proprietary software in an open-source ecosystem

Getting Started

To install Steam on a Linux system, follow these steps:

  1. Open your distribution's package manager or software center
  2. Search for "Steam"
  3. Install the Steam package
  4. Launch Steam from your applications menu
  5. Log in with your Steam account or create a new one
  6. Start downloading and playing games

Note: For some distributions, you may need to enable additional repositories or download the Steam package directly from the official website.

Competitor Comparisons

8,559

Lutris desktop client

Pros of Lutris

  • Supports a wider range of gaming platforms and stores, not limited to Steam
  • More customizable and flexible for advanced users
  • Community-driven with frequent updates and contributions

Cons of Lutris

  • Less polished and user-friendly interface compared to Steam
  • May require more technical knowledge to set up and configure games
  • Smaller user base and potentially less reliable support

Code Comparison

steam-for-linux:

void CSteamClient::SetLocalIPBinding( uint32 unIP, uint16 usPort )
{
    PRINT_DEBUG("SetLocalIPBinding %u %hu\n", unIP, usPort);
}

Lutris:

def get_game_launcher(game):
    """Return the game's launcher"""
    if game.runner.name == "steam":
        return SteamLauncher(game)
    return game.runner

The steam-for-linux code is in C++, focusing on low-level networking, while Lutris uses Python for higher-level game management across multiple platforms.

Compatibility tool for Steam Play based on Wine and additional components

Pros of proton-ge-custom

  • More frequent updates and experimental features
  • Community-driven development with faster bug fixes
  • Enhanced compatibility for a wider range of games

Cons of proton-ge-custom

  • Less official support and documentation
  • Potential stability issues due to bleeding-edge features
  • May require manual installation and configuration

Code Comparison

While a direct code comparison is not particularly relevant due to the different nature of these projects, we can highlight some key differences in their approach:

steam-for-linux:

// Official Steam runtime implementation
void CSteamRuntime::Initialize()
{
    // Steam-specific initialization
}

proton-ge-custom:

// Custom Proton implementation
void proton_ge_initialize()
{
    // GloriousEggroll's custom initialization
}

The steam-for-linux repository focuses on the official Steam client for Linux, while proton-ge-custom is a custom version of Proton, which is used for running Windows games on Linux. The code structures and implementations differ significantly due to their distinct purposes.

A games launcher for GOG, Amazon and Epic Games for Linux, Windows and macOS.

Pros of HeroicGamesLauncher

  • Open-source and community-driven, allowing for more transparency and user contributions
  • Supports multiple game stores (Epic Games, GOG, Amazon) in a single launcher
  • Lightweight and customizable interface

Cons of HeroicGamesLauncher

  • Smaller user base and less extensive feature set compared to Steam
  • May lack some advanced features and integrations available in Steam
  • Potentially less stable due to its younger development stage

Code Comparison

steam-for-linux (C++):

bool CSteamClient::BShutdownIfAllPipesClosed()
{
    if ( m_pipeClientMap.Count() == 0 )
    {
        Shutdown();
        return true;
    }
    return false;
}

HeroicGamesLauncher (TypeScript):

async function shutdownIfNoActiveGames(): Promise<boolean> {
  const runningGames = await getRunningGames()
  if (runningGames.length === 0) {
    await shutdown()
    return true
  }
  return false
}

Both code snippets demonstrate shutdown logic, but HeroicGamesLauncher uses modern async/await syntax in TypeScript, while steam-for-linux uses C++ with synchronous operations. The HeroicGamesLauncher code appears more readable and maintainable, reflecting its more recent development.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Steam for Linux Client

This is the README for the Steam for Linux client.

Hardware and Software Requirements

Steam for Linux requires the following:

  • OS: Latest Ubuntu or Ubuntu LTS with a 64-bit (x86_64, AMD64) Linux kernel
    • Older Ubuntu LTS branches are not supported and may stop working in a future Steam release, especially the branches in ESM status (Ubuntu 18.04 or older).
  • Processor: 1GHz Pentium 4 or AMD Opteron equivalent or better
    • Any x86_64 / AMD64 CPU with support for the CMPXCHG16B and SSE3 instruction sets
  • Memory: 512 MB RAM
  • Graphics: Any NVIDIA / AMD / Intel
    • Requires latest 64-bit (x86_64, AMD64) and 32-bit (i386, IA32) graphics drivers. Install them using sudo ubuntu-drivers autoinstall.
  • Storage: 5 GB available space
  • Additional Notes:
    • Requires internet connection for initial installation
    • Requires 64-bit (x86_64, AMD64) and 32-bit (i386, IA32) glibc
    • Starting from 2025-08-15, glibc 2.31 or newer will be required. This affects users of older distributions such as Debian 10, RHEL/CentOS 8, Slackware 14.x, Ubuntu 18.04.

Getting Started

Install Steam for Linux client:

  1. Download the steam_latest.deb package from this location.
  2. Navigate to the directory containing steam_latest.deb and double-click it. This launches Ubuntu Software Center and installs the package.
  3. If you prefer to install from the command-line, use gdebi. Install the gdebi-core package (apt install gdebi-core) and then install the Steam for Linux package (gdebi steam_latest.deb).
  4. For a list of games supported by Steam for Linux either visit this page or click Store (from the client) and then the Linux tab on the far-right. We recommend that you join the Steam for Linux official game group, located here. You will find future beta announcements and other information posted here as well as an active discussion forum.

Reporting Issues

If you encounter an issue with Steam for Linux, first search the issue list to see if it has already been reported. Include closed issues in your search.

For issues with:

If it has not been reported, create a new issue with the following information:

  • a short, descriptive title;
  • a detailed description of the issue, including any output from the command line;
  • steps for reproducing the issue; and
  • your system information.

Please place logs either in a code block (go here for a GFM cheat sheet) or a gist.

When possible, please include a differential between a working configuration and the reported issue.

If a crash is involved, please include any CrashIDs or minidumps related to the issue in an archive. Archives can be drag and dropped into the text box of github.

For tracking purposes, there should be one issue per issue report.

System Information

System information can be gathered from within steam (Help -> System Information).

Once your information appears: right-click within the dialog, choose Select All, right-click again, and then choose Copy. Paste this information into a gist and include a link to it from your bug report.

Conduct

There are basic rules of conduct that should be followed at all times by everyone participating in the discussions. While this is generally a relaxed environment, please remember the following:

  • Do not insult, harass, or demean anyone.
  • Do not intentionally multi-post an issue.
  • Do not use ALL CAPS when creating an issue report.
  • Do not repeatedly update an open issue remarking that the issue persists.

Remember: Just because the issue you reported was reported here does not mean that it is an issue with Steam. Also, should your issue not be resolved immediately, it does not mean that a resolution is not being researched or tested. Patience is always appreciated.