# Installation

PySolFC is free and open source software, released under the GNU GPL. It will run on Windows, Mac, Linux, Android, etc. The easiest way to run is to use a self-contained installer, which is available for most supported operating systems.

## Windows

You can download the latest Windows installer from SourceForge. The installer includes the app, Python and all of the requirements to run PySolFC. A basic and a full installer are available - the full installer includes the app, plus the full set of cardsets and all of the extras.

## Linux

PySolFC is available from Flathub (includes the full cardsets collection). Your Linux distribution may also provide their own package, though note that these packages may not always be fully up-to-date. Additionally, you can download a tarball from SourceForge.

## Mac

You can download a .DMG package from SourceForge, and install it like any Mac application. Like with the Windows installer, a basic and full package are both available.

## Android

An Android package is available to install from F-Droid.

## Cardsets and Other Files

Additional cardsets, music, and settings are stored under `~/.PySolFC/` (or `%APPDATA%\PySolFC\` on Windows), organized as follows:

- `cardsets/` - cardsets and card images
- `music/` - background music tracks
- `tiles/` - table tile backgrounds
- `plugins/` - app plugins
- Folders for saved games, options, and statistics

The app's install directory also contains bundled cardsets and data; the folders above are where per-user content and settings are stored.

You can download additional content from SourceForge, though the full collection is already included if you downloaded a full Windows/Mac package or the Flathub version:

- Cardsets
- Music

## Updating

You can check for new versions on the PySolFC website, the news page in the online documentation, along with the SourceForge/Flathub/F-Droid sites. Statistics, options, and user data in your PySolFC user folder will be retained across updates.

## Running from Source

Developers can also run PySolFC from the source code. You can clone the GitHub repository and run `python3 pysol.py` after installing Python 3.7+, Tkinter, and the `pysol-cards` package. See the repository's README for the full details.

## Running from Command Line

A number of command line options are available for special run options, i.e. `pysol.py --game="FreeCell"`. Run with the `--help` command parameter for more details on the different options.

## Troubleshooting

The following errors might occur during installation:

- "No cardsets were found." - Install the cardsets package as described above.
- If you are using a cardsets package from a Linux distribution, it may not align with the app if running from source or a different installer. Uninstall the distro's cardsets package and install the one from SourceForge.
- If you get a missing cardset types warning, update the cardsets package. Certain games may not work properly otherwise.
- See also the FAQ.