โœฆ PHYSICA โœฆ

Physical Game Cartridges for Linux

โœจ Turn your USB drives into game cartridges โœจ

๐ŸŽฎ Welcome to PHYSICA!

Physica brings the nostalgic experience of physical game cartridges to modern PC gaming. Each cartridge is a self-contained, portable package with the game, saves, and Wine prefixโ€”plug it in, play your game, unplug it, and take it anywhere.

๐Ÿง Made for Linux! Works seamlessly on Arch, Debian, Ubuntu, Fedora, and the Steam Deck.

โœจ Features

๐Ÿ”Œ Plug-and-Play

Insert cartridge, game auto-launches

๐Ÿ’พ Portable Saves

Save files sync automatically to the cartridge

โฑ๏ธ Playtime Tracking

Track hours played per game

๐ŸŽจ Memory Card Manager UI

Beautiful GTK4 interface inspired by classic console memory card managers

๐Ÿ“ฆ Self-Contained

Each cartridge includes game files, saves, and Wine prefix

๐Ÿ”” Toast Notifications

Visual feedback for all cartridge events

โฌ‡๏ธ Download

Latest Version: v1.1.1

Quick Start:

# 1. Clone or download
git clone https://github.com/parkerHurst/Physica.git
cd Physica

# 2. Run installer
./install.sh

# 3. Start service
physica-service

# 4. Launch GUI (in new terminal)
physica

๐ŸŒŸ View on GitHub ๐Ÿ“ฆ Download Release

๐Ÿ“‹ Requirements

  • OS: Linux (Arch, Debian, Ubuntu, Fedora, Steam Deck)
  • Python: 3.11+
  • Desktop: GTK4 + libadwaita
  • Dependencies: See requirements.txt in project

Install System Dependencies

Debian/Ubuntu:

sudo apt install python3-dev python3-gi python3-dbus \
  python3-cairo python3-pyudev libgtk-4-1 libadwaita-1-0 \
  e2fsprogs udisks2

Arch/Manjaro:

sudo pacman -S python-gobject python-dbus python-cairo \
  python-pyudev gtk4 libadwaita e2fsprogs udisks2

Fedora:

sudo dnf install python3-gobject python3-dbus python3-cairo \
  python3-pyudev gtk4 libadwaita e2fsprogs udisks2

๐Ÿ“š Documentation

Creating Your First Game Cartridge

  1. Launch the GTK app: physica
  2. Click the "Format New Cartridge" card
  3. Follow the wizard:
    • Select your game directory
    • Select a USB drive
    • USB will be automatically formatted and prepared
    • Game files will be copied to the cartridge
  4. Done! Your cartridge will appear in the library

Using Physica

Auto-Launch Mode:

  1. Insert a game cartridge (USB drive with .gamecard/ structure)
  2. Wait 2 seconds
  3. Game launches automatically! ๐ŸŽฎ
  4. Play your game
  5. Exit the game - saves sync back to the cartridge
  6. Eject the cartridge safely

Cartridge Structure

/media/username/CARTRIDGE_NAME/
โ”œโ”€โ”€ .gamecard/
โ”‚   โ””โ”€โ”€ metadata.toml
โ”œโ”€โ”€ game/
โ”œโ”€โ”€ savedata/
โ””โ”€โ”€ (Wine prefix stored locally)