Games: Difference between revisions

From NixOS Wiki
Updated PR status for Dark Mod
Parasew (talk | contribs)
m →‎Other resources: adding open source games list
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:


== Open source games and their status on NixOS ==
== Open source games and their status on NixOS ==
{| class="wikitable"
{| class="wikitable sortable"
|+
|+
!Name
!Name
Line 87: Line 87:


* [https://github.com/NixOS/nixpkgs/tree/master/pkgs/games List of existing games in nixpkgs]
* [https://github.com/NixOS/nixpkgs/tree/master/pkgs/games List of existing games in nixpkgs]
* [https://osgameclones.com/ Open Source Game Clones]
* [https://github.com/bobeff/open-source-games open-source-games list on Github by bobeff]
* [https://github.com/bobeff/open-source-games open-source-games list on Github by bobeff]
* [https://trilarion.github.io/opensourcegames/games/top50.html 50 highest rated (by stars on Github) playable open source games]  
* [https://trilarion.github.io/opensourcegames/games/top50.html 50 highest rated (by stars on Github) playable open source games]  
Line 92: Line 93:
* [https://github.com/topics/open-source-game Topic "open-source-game" on github]  
* [https://github.com/topics/open-source-game Topic "open-source-game" on github]  


== Games starter ==
== Game starters ==
Games can be run by different applications. Some are able to include libraries from different plattforms.
Games can be run by different applications. Some are able to include libraries from different plattforms.
{| class="wikitable"
{| class="wikitable"

Latest revision as of 10:48, 3 August 2024

Open source games and their status on NixOS

Name Category nixpkg status Short Description
The Dark Mod Stealth, FPS pending pull request Stealth game inspired by the Thief series.
Endless Sky Space simulation, RPG In nixpkgs Explore a universe with different factions and ships.
Veloren RPG, Sandbox In progress Multiplayer voxel RPG set in a procedurally generated world.
Armagetron Advanced Arcade, Racing In nixpkgs A multiplayer Tron-like lightcycle racing game.
0 A.D. Strategy, Historical In nixpkgs Historical real-time strategy game.
SuperTuxKart Arcade, Racing In nixpkgs Kart racing game (like Super Mario Kart) featuring Tux and friends.
OpenRA Strategy, RTS In nixpkgs Open-source implementation of Command & Conquer.
FreeCiv Strategy, Turn-based In Nixpkgs Civilization-building strategy game.
OpenTTD Simulation, Management In nixpkgs Business simulation game based on Transport Tycoon Deluxe.
Battle for Wesnoth Strategy, Turn-based In nixpkgs Turn-based strategy game with fantasy themes.
FreeDoom FPS Not in nixpkgs Free alternative to the Doom series.
Xonotic FPS, Arena shooter In nixpkgs Fast-paced multiplayer shooter.
Mindustry Strategy, Sandbox In nixpkgs Sandbox tower defense game.
Cataclysm: Dark Days Ahead Survival, Rogue-like In nixpkgs Post-apocalyptic survival game.
Shattered Pixel Dungeon Rogue-like, RPG In nixpkgs Rogue-like dungeon crawler with pixel graphics.

Other resources

Game starters

Games can be run by different applications. Some are able to include libraries from different plattforms.

Application Platform Remarks
Steam Steam Windows games work fine. Linux games are often incompatible due to how NixOS works.
Lutris GOG, Humble Bundle, Epic, EA App, Ubisoft Connect, Steam, Flatpak, Wine
Heroic Epic, GOG, Prime Gaming, Wine
Wine Windows applications/games often easier to use Lutris install scripts for wine applications/games
nixpgs Linux games There are several games in nixpgs. You can install them directly, e.g. vintagestory, flightgear, lots of racing games.
Dosbox DOS applications/games


List of games

Renowned Explorers: International Society

Tested with version renowned_explorers_international_society_522_26056.sh from gog.com. It can be played with steam-run, but it needs some libraries that are not normally included in Steam's FHS environment. One way to solve this is to add an overlay:

  nixpkgs.overlays = [
    (self: super: {
      steam-run = (super.steam.override {
        extraLibraries = pkgs: with pkgs;
          [
            libxkbcommon
            mesa
            wayland
            (sndio.overrideAttrs (old: {
              postFixup = old.postFixup + ''
                ln -s $out/lib/libsndio.so $out/lib/libsndio.so.6.1
              '';
            }))
          ];
      }).run;
    })
  ];

Adding libxkbcommon, mesa, and wayland is straightforward. The game expects the shared library sdnio.so.6.1 to exist, so we need to create a symbolic link after the installation of sndio.