Universal application (games) manager

Fans of Linux-like systems probably had to install applications using manuals found on the net. As a result, the description turned out to be outdated / non-working, and in order to get the final result, it was necessary to collect bit by bit and bring together information from various sources for "similar" OS. Sometimes you got lucky and everything started the first time.







Either they tried to play their favorite childhood game, where it is important to run it to install the correct version of Wine with the correct settings, or trick with mounting images in Dosbox ...







Another way of solving such problems is proposed.







For games, there is, of course, the only correct way - installing Windows on a separate disk. But there are 1.3 billion PC gamers in the world . Of these - users of MacOS (3%) and Linux (1%) - 50 million people. Therefore, this article is for them.







Today there is a huge variety of tools that make it easy to install and launch games, and chances are you have already found all your favorite childhood games on Steam and have been enjoying them for a long time in your Ubuntu. But it's not that simple. For example, fans of the old Point-n-Click adventure will be disappointed: so many masterpieces is not available in any of the distributor ( distributor ) of video games.







Distributors can be roughly divided into:







Universal:







  • Steam is a digital distribution service, originally for games and updates from Valve, but later expanded for other developers;
  • GOG is a distribution platform for video games and films, a division of the CD Project (which are The Witcher and Cyberpunk), located in Poland;
  • Humble Store is an online game store.


Narrow-special:







  • Origin - Electronic Arts games;
  • Uplay - Ubisoft games;
  • Epic Games Store - Epic Games games;
  • Blizzard’s Battle.net β€” Blizzard.


GOG. .. DRM-. , , Galaxy .







- .







β€” .. (game managers). :







  • PlayOnLinux/BSD/Mac
  • Lutris
  • Homura


, , .. (runners) , (, Vulkan Wine).







:







  • Wine β€” Windows
  • Dosbox β€” DOS
  • ScummVM β€”


PlayOnLinux/BSD/Mac



. github, , . , ...







:







  • .


:







  • Wine;
  • ;
  • bash-;
  • - ( ).


Lutris



β€” Linux.







:







  • Ansible-like ;
  • gog steam .


:







  • ;
  • ( .., );
  • Linux;
  • Wine- ( );
  • API, UI ;
  • ( ).


Homura



Lutris-, ( FreeBSD), bash- , . .







, :







  • ;
  • ;
  • ;
  • .


, , :







  • \. github ;
  • . ;
  • API\CLI UI;
  • (, save- ) ;
  • -. , , -;
  • , .


apt Ubuntu pkg FreeBSD ( Lutris).







Ansible - (playbooks). Ansible? , Ansible-like , .







(yag) github.







.







Ace Ventura Pet Detective



, Point-n-Click . 1CD.







ports/games :







aceventura:
    tasks:
        install_image.yml
        main.yml
        run.yml
    info.yml
      
      





, info.yml ( ) main.yml ( ). , .

:







yag install aceventura --source=/path/to/CD1.iso
      
      





install_image.yml (/path/to/CD1.iso), . GOG- ( ), .







:







yag run aceventura
      
      





save- , (run.yml) save- wine . save- . (save your saves), , . virtual desktop:







- wine:
    exec: "{{ app_folder }}/Ace.exe"
    virtual_desktop: "800x600"
      
      





wine .







Bad Mojo (redux)



, .







:







badmojo_redux:
    tasks:
        main.yml
        run.yml
        install_image.yml
        install_innosetup.yml
    templates:
        BADMOJO.j2
    vars:
        main.yml
    info.yml
      
      





:







yag install badmojo_redux --source=/path/to/CD.iso
      
      





  • install_image.yml ( CD )


yag install badmojo_redux --source=/path/to/badmojo_gog_setup.exe
      
      





  • install_innosetup.yml ( GOG- innosetup exe-).


, Jinja- (BADMOJO.j2).







:







yag run badmojo_redux
      
      





, Ansible, .















- Ansible β€” " ". , apt/pkg, , , , β€” ? , , , , (, - \ VNC β€” , ).







β€” . , .







Ansible-playbooks. . ( , devops).









. apt/pkg . , , , , Skype deb- Ubuntu, pacman Archlinux linux FreeBSD, , :







yag install skype
      
      





.







Moreover, all installation scripts for different OS are versioned and kept up to date by the user community! And the power of Ansible-playbooks allows you to flexibly implement any mechanisms for adding to any OS.







Now the most important thing: if you liked the idea, it is important that you add your favorite game / program to the repository by filling out a simple PR on github .







Thank you!








All Articles