{"id":18812377,"url":"https://github.com/chimeraos/chimera","last_synced_at":"2025-04-12T15:33:22.396Z","repository":{"id":39674038,"uuid":"219312800","full_name":"ChimeraOS/chimera","owner":"ChimeraOS","description":"A web interface for managing Steam remotely","archived":false,"fork":false,"pushed_at":"2024-10-16T12:26:02.000Z","size":20908,"stargazers_count":232,"open_issues_count":46,"forks_count":27,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-10-24T17:53:16.237Z","etag":null,"topics":["emulation","flathub","flatpak","retroarch","steam"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ChimeraOS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-03T14:24:43.000Z","updated_at":"2024-10-16T12:26:06.000Z","dependencies_parsed_at":"2023-11-12T00:31:45.525Z","dependency_job_id":"ee1f94ce-2886-4b66-8b4e-8a045f500e1f","html_url":"https://github.com/ChimeraOS/chimera","commit_stats":{"total_commits":523,"total_committers":23,"mean_commits":22.73913043478261,"dds":0.5583173996175907,"last_synced_commit":"4346ef943c1dcd4f7907d22327277947dcde8fde"},"previous_names":[],"tags_count":93,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChimeraOS%2Fchimera","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChimeraOS%2Fchimera/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChimeraOS%2Fchimera/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChimeraOS%2Fchimera/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChimeraOS","download_url":"https://codeload.github.com/ChimeraOS/chimera/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248589879,"owners_count":21129695,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["emulation","flathub","flatpak","retroarch","steam"],"created_at":"2024-11-07T23:32:31.776Z","updated_at":"2025-04-12T15:33:22.362Z","avatar_url":"https://github.com/ChimeraOS.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## What is it?\n\nChimera is a web app for remotely installing non-Steam software to your Linux based couch gaming system. It was primarily developed for ChimeraOS.\n\n## Features\n\n- install games from GOG, Epic Games Store, and Flathub\n- upload ROMs for supported console emulators\n- share ROMs across multiple systems\n- quick actions\n  - adjust audio volume\n  - toggle the performance overlay\n  - load/save emulator state\n  - restart steam\n  - suspend/reboot/power off\n- built-in FTP server\n- enable SSH access\n\n## Installation\n\nOn Arch Linux install the `chimera` package from the AUR. On ChimeraOS the package is pre-installed\n\nAfter installing the `chimera` package, you must run the following commands to enable the web interface and then restart your system:\n\n```bash\n    systemctl --user enable chimera.service\n    sudo systemctl enable chimera-proxy.service\n    sudo systemctl enable chimera-proxy.socket\n```\n\nTo have game patches be applied, you must also run the following command\n\n```bash\n   systemctl --user enable steam-patch\n```\n\n## Usage\n\n### Web interface\n\nYou can connect to Chimera on ChimeraOS by opening a browser on another computer and entering `chimeraos.local:8844`. If that does not work, then determine the IP address of your ChimeraOS system by looking at the network settings and enter it directly into your browser along with the port number, for example: `192.168.10.120:8844`.\n\nAfter installing any app, you must restart Steam for the newly installed application or game to appear in the Steam Big Picture UI.\n\nTo restart Steam you can open the menu, click on \"Actions\", then select \"Restart Steam\".\n\n### Command line interface\n\nIf you use ChimeraOS or use `gamescope-session` and have `chimera` installed, the required commands to apply game tweaks and shortcuts to Steam will run automatically when the Steam session starts.\n\nOtherwise, you will need to run `chimera --update` and `chimera --tweaks` while Steam is not running because any changes applied while Steam is running will be overwritten by Steam.\n\n## Emulation Content Sharing\n\nContent sharing allows a single chimera instance to act as a host for ROM files and related artwork. Other instances can then install games directly from the host device without having to re-upload ROM files and select artwork.\n\nContent sharing can be enabled under `System` by clicking on the `Enable Content Sharing` toggle and restarting the service. Please make sure to only enable this feature on a single device in your network, otherwise you may experience issues with connecting to the wrong host.\n\nOnce enabled, other chimera instances will automatically connect to the content sharing host. If you click on any emulation platform in the Library, you will see an additional blue `+` button with a radio/transmitter logo in the corner. Clicking on it will bring you to a page where you can install the shared content for that platform to your device.\n\nIt is strongly recommended to run the [Chimera Container](#chimera-container) on a home server to host your emulation content.\n\n## Chimera Container\n\nFor convenience and to allow for running a chimera server on any OS supporting Docker, a container image is provided.\n\nThis container is dedicated to hosting games as shared content for other chimera instances on the same network.\nWhen running the container, you can login to the app with the default password `gamer`. It is recommended to change the password immediately.\n\nHere is a sample docker compose file for running the container version of chimera:\n```\nservices:\n  chimera:\n    image: ghcr.io/chimeraos/chimera:0.23.1\n    volumes:\n      - ./chimera:/data/chimera\n    network_mode: host\n    restart: unless-stopped\n```\n\nNOTE: host network mode is required for other chimera instances to be able to discover the content sharing chimera server.\n\n## Configuration\n\nFor console platforms, Chimera creates shortcuts in Steam which launch each game with RetroArch. The default RetroArch configuration files are located under `/usr/share/chimera/config/`. You can override the default configuration by creating corresponding files under `~/.config/chimera/`.\n\n## Screenshots\n\n### Library page\n\n![Library](screenshots/platforms.png?raw=true)\n\n### Flathub library page\n\n![Flathub](screenshots/flathub.png?raw=true)\n\n### Flathub game page\n\n![Flathub Game](screenshots/flathub-game.png?raw=true)\n\n### Actions page\n\n![Actions](screenshots/actions.png?raw=true)\n\n## Feature Details\n\n### Non-Steam stores\n\nGOG, Epic, and Flathub applications and games are evaluated for compatibility and assigned a rating of \"Unsupported\", \"Playable\", and \"Verified\", reflecting the Steam Deck ratings. You can contribute to these ratings by submitting a PR against [chimera-data](https://github.com/chimeraos/chimera-data) or commenting in the `compatibility-reports` channel on the [ChimeraOS Discord](https://discord.gg/fKsUbrt).\n\n### Install Flathub apps\n\nYou can install any application on Flathub by going to `Library`, then selecting `Flathub`.\n\nChimera also looks in `~/.local/share/chimera/banners/flathub/` for a list of additionally allowed Flathub applications. Just add a PNG or JPEG image of size 460x215 or 920x430 with the Flathub app ID as the file name under that directory. The Flathub app ID can be obtained from the last part of the URL of the Flathub page for the application. For example, the ID for Minecraft is `com.mojang.Minecraft`.\n\nIf the application works well please create a new issue with the app ID and grid image so it can be added to the set of installable default apps.\n\n### Install games from the Epic Games Store\n\nAfter logging in to your Epic account, you can download and install any of your games from the Epic Games Store.\n\nGames are automatically started with Proton. Not all games will work.\n\n### Install games from GOG\n\nAfter logging in to your GOG account, you can download and install any of your games from GOG.\n\nGOG support currently has a few limitations:\n\n- No support for Dosbox based games\n- Installation progress is not displayed\n- Games cannot be updated directly\n\n### Upload ROMs\n\nYou can upload ROMs and banner images to Chimera, and they will be added to Steam. The emulators are pre-configured and ready to play out of the box with almost any controller.\n\nThe following platforms are currently supported:\n\n- 32X (requires BIOS file)\n- 3DO (requires BIOS file)\n- Arcade\n- Atari 2600\n- Dreamcast\n- Game Boy\n- Game Boy Advance\n- Game Boy Color\n- GameCube\n- Game Gear\n- Genesis/Mega Drive\n- Jaguar\n- Master System\n- Neo Geo (requires BIOS file)\n- Nintendo\n- Nintendo 64\n- PlayStation (requires BIOS file)\n- PlayStation 2\n- PlayStation Portable\n- Saturn (requires BIOS file)\n- Sega/Mega CD (requires BIOS file)\n- Super Nintendo\n- TurboGrafx-16/PC Engine\n\nMore platforms will be added over time.\n\n#### Supported formats\n\nCD based platforms usually require use of CHD formatted game files, but may also work with ISO files.\nCHD files can be created easily from cue/bin format using the `chdman` tool.\n\n#### BIOS files\n\nBIOS files can be uploaded the same as games. However, the name of the shortcut should reflect the name of the file that the emulator is looking for without the file extension.\n\nAlso, select the \"Hide\" option, so the BIOS file is not shown in Steam along with other games.\n\n### System\n\nYou can access some system settings via the \"System\" page, reachable at \u003chttp://chimeraos.local:8844/system\u003e.\n\n#### Storage\n\nTBD\n\n#### Logging in\n\nEvery time you use the web application, you'll be prompted for a custom password which will be displayed by the system running ChimeraOS. If you want, you can change this behavior and configure a fixed password instead.\n\n#### SSH\n\nSSH allows you to access the command line of your ChimeraOS machine remotely.\\\nYou can add your public key by pasting it in the relevant field, then click on \"Save\" at the bottom of the page. If the operation is successful, you'll see your public key listed below the \"Add public key\" field once tha page reloads.\n\n**NOTE:** the application will only accept public keys that match the following criteria:\n\n- the key is made of _three_ components, space separated:\n  - the key type (e.g. ssh-rsa, ssh-ed25519, etc.)\n  - the base64-encoded key\n  - a comment\n- the key type starts with `ssh-`\n\n## Command line details\n\n### Data updater (chimera --update)\n\nThis command updates the compatibility tool, tweaks and patch database from the [chimera-data](https://github.com/chimeraos/chimera-data) repo.\n\n### Steam Compat Tools (chimera --compat)\n\nThis command generates stub files for compatibility tools (currently various versions of Proton GE), which are then downloaded automatically when a game that utilizes the tool is first run.\n\n### Steam Config (chimera --config)\n\nConfigures Steam games according to the automatically downloaded tweaks database, or the local override file if found at `~/.config/steam-tweaks.yaml`.\n\nExtends Valve's Steam Play/Proton whitelist, specifying the compatibility tool, launch options and whether Steam Input is enabled on a per-game basis. Many games are already configured to work out of the box, with more being added over time. Please help by testing the games you own and submitting your configurations.\n\n#### Game tweak entry format\n\n- **compat_tool**: the compatibility tool to be used for the specified game, e.g. `proton_42`, `steamlinuxruntime`\n- **compat_config**: the configuration for the compatibility tool specified, e.g. for proton: `d9vk`, `noesync`, etc. see the [Proton docs](https://github.com/ValveSoftware/Proton#runtime-config-options) for the full list of available options\n- **launch_options**: the launch options to be used\n- **steam_input**: a value of `enabled` will force the use of Steam Input for the specified game\n\n#### Example entry\n\n```yaml\n\"321040\":\n  compat_tool: proton_411\n  compat_config: noesync\n  launch_options: MY_VARIABLE=1 %command%\n  steam_input: enabled\n```\n\nEach game is specified by its Steam app ID. Note that the app ID MUST be quoted.\n\n### Steam Shortcuts (chimera --shortcuts)\n\nReads one or more YAML formatted shortcut definition files stored under `~/.local/share/chimera/shortcuts/` and adds the shortcuts to all available Steam accounts.\n\n#### Single shortcut per file example\n\n```yaml\nname: Firefox                   # name of the shortcut as it will appear in Steam (required)\ncmd: firefox                    # the command to execute (required)\ndir: /full/path/to/working/dir  # the directory from which to execute the command\nparams: github.com              # any parameters to invoke the command with\nbanner: /path/to/image.png      # the horizontal banner image to use (460x215)\nposter: /path/to/image.png      # the vertical poster image to use (600x900)\nbackground: /path/to/image.png  # the background/hero image to use (1920x620)\nlogo: /path/to/image.png        # the logo image to use (overlaid on top of background image)\nicon: firefox                   # small icon to show in Steam\ncompat_tool: proton_9           # use the given compatibility tool, useful for running Windows executables\ncompat_config: noesync          # use the given compatibility tool options\nhidden: false                   # 'false' to show the shortcut in Steam, 'true' to hide it\ntags:                           # a list of tags to be assigned to the shortcut in Steam\n  - Browser\n  - Custom Shortcut\n```\n\n#### Multiple shortcuts per file example\n\n```yaml\n- name: Firefox\n  cmd: firefox\n  ...\n- name: Chromium\n  cmd: chromium\n  ...\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchimeraos%2Fchimera","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchimeraos%2Fchimera","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchimeraos%2Fchimera/lists"}