Skip to content

playtron-os/gameos

Repository files navigation

Playtron GameOS

Table of Contents:

Introduction

Turn your PC into a game console. Playtron GameOS has native integration with Epic Games Store, GOG.com, and Steam. Your library of games is accessible via a simple gamer-focused interface.

Read more about Playtron on our official website.

Download Playtron GameOS here.

Minimum Hardware Requirements

  • CPU
    • x86
      • AMD Ryzen or Intel 6th Gen Kaby Lake
  • GPU
    • AMD Navi
      • For the best results, we recommend using an AMD GPU.
    • Intel Xe
    • NVIDIA Turing

Devices tested on Playtron GameOS are reported in this document.

Game Compatibility

Most games are expected to work. For problematic games, you can help our community by using GameLAB to create custom launch configurations and/or controller configurations. Our team will work to get these fixes upstream into umu-protonfixes for everyone to benefit. Full guides on how to use GameLAB can be found here.

Sideloading Games

Local games can be copied over to Playtron GameOS and integrated using the local plugin.

Build

Install the required build dependencies.

Fedora Atomic Desktop:

$ sudo rpm-ostree install \
    go-task \
    qemu-kvm \
    virt-install \
    virt-manager

Fedora Workstation:

$ sudo dnf install \
    go-task \
    qemu-kvm \
    rpm-ostree \
    virt-install \
    virt-manager

Enable and start the libvirtd service.

$ sudo systemctl enable --now libvirtd

Define a container image tag.

$ export TAG=replace-me

Build an unstable development container image. Alternatively, build a stable container image based on the previous release.

$ go-task container-image:build:unstable
$ go-task container-image:build:stable

Optionally authenticate to a container registry.

$ export REGISTRY=ghcr.io
$ export PROJECT=playtron-os
$ export IMAGE=playtron-os
$ export REGISTRY_TOKEN="replace-me"
$ go-task container-image:auth

Push the image to a container registry and either create a :testing tag or a :latest tag automatically.

$ go-task container-image:push
$ go-task container-image:release

Then build the raw operating system image. Use Virtual Machine Manager (virt-manager) to check the installation progress of the playtron-os virtual machine.

$ sudo -E go-task disk-image:kickstart

Linux Developer Tips

Playtron GameOS container images are published to the GitHub Container Registry (GHCR). These can be found here at the GitHub organization level (not the GitHub repository level).

The default user account is playtron with the password playtron. It can be accessed by enabling SSH in the Developer page. The IP address will also be listed there. Alternatively, open up a TTY console by pressing CTRL, ALT, and F3 at the same time.

Settings > Developer > Enable > Enable SSH Access: On
$ ssh -l playtron $IP_ADDRESS

This user has elevated privileges via the use of sudo.

$ sudo whoami

There is no password for the root user account. Set one to help with troubleshooting boot issues.

$ sudo passwd root

Switch to a minimal Weston desktop environment.

$ sudo playtronos-session-select dev

Switch back to the Playtron experience.

$ sudo playtronos-session-select user

Enable Flathub.

$ flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Enable LanCache support for Epic Games Store. Steam already supports LanCache. GOG.com does not support LanCache.

$ crudini --set ~/.config/legendary/config.ini Legendary disable_https true

Create and use a container for development purposes.

$ distrobox create --init --additional-packages systemd --image fedora:41 --pull --name fedora41
$ distrobox enter fedora41

Install a full desktop environment and other additional packages.

$ nano Containerfile
FROM ghcr.io/playtron-os/playtron-os:latest
RUN dnf5 group install -y kde-desktop && echo -e '[Autologin]\nSession=plasma' > /etc/sddm.conf.d/60-playtron-session-override.conf
RUN dnf5 install -y firefox
RUN dnf5 clean all && bootc container lint
$ sudo podman build --tag desktop:latest .
$ sudo bootc switch --transport containers-storage localhost/desktop:latest

The Software Update feature in Settings will no longer work with a custom container from the last example. All future updates must be done with locally built containers. Otherwise, switch back to an unmodified installation of Playtron GameOS.

$ sudo bootc switch ghcr.io/playtron-os/playtron-os:latest

About

Playtron GameOS provides a seamless and secure Linux gaming experience.

Resources

License

Contributing

Stars

Watchers

Forks

Packages