Python Program that downloads gaming required packages based on your Linux Distribution.

Overview

LibreGaming

Python Program that downloads gaming required packages based on your Linux Distribution.

Table of contents

Distributions:

  • I tested this script on these three distributions. but it should also work on their derivatives too.
  1. Ubuntu.
  2. Arch Linux.
  3. Fedora.

Prerequisites:

  • To run this LibreGaming script you need python3 installed if not already. to install python3 click Here.

  • Also you need to enable nonfree packages if you are using Fedora to install steam.

  • You can find the commands to enable nonfree packages for Fedora in this website:

  • Or you can enter these commands that I copied for the above website To enable free and nonfree packages on Fedora enter these command:

sudo dnf install \
  https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm

To enable nonfree packages on Fedora enter these command:

sudo dnf install \
  https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
  • now you need to refreash the repos:
sudo dnf group update core

Dependencies:

  • git

  • python3

  1. Install Python3 For Ubuntu:
sudo apt install python3
  1. Install Python3 For Arch Linux:
sudo pacman -S python
  1. Install Python3 For Fedora:
sudo dnf install python3
  • python3-pip.
  1. Install Python3 For Ubuntu:
sudo apt install python3-pip
  1. Install Python3 For Arch Linux:
sudo pacman -S python-pip
  1. Install Python3 For Fedora:
sudo dnf install python3-pip

Packages:

  1. Steam.
  2. Wine
  3. Gamemode
  4. ProtonGE(Optional).
  5. Lutris.
  6. mangohud and goverlay.

Installation:

  • You can install LibreGaming using pip if you have it installed. click Here to install pip3:
pip3 install LibreGaming
  • Or you can install LibreGaming script by entering these commands:
git clone https://github.com/Ahmed-Al-Balochi/LibreGaming.git LibreGaming/ 
cd LibreGaming/
python3 setup.py install --user

  • LibreGaming: command not found.

This error can be solved by setting up the PATH in your shell you can do this by entering these lines in your shell file(.bashrc or .zshrc)

  • Note that the LibreGaming Script is saved in ~/.local/bin directory by default.
### PATH

if [ -d "$HOME/.local/bin" ] ;
  then PATH="$HOME/.local/bin:$PATH"
fi

Usage:

  • To run the LibreGaming Script to install both the Gaming packages and ProtonGE enter this command:
LibreGaming -a
  • To run the LibreGaming Script to only install ProtonGE enter this command:
LibreGaming -p
  • To run the LibreGaming Script to only install the Gaming packages enter this command:
LibreGaming -g

Feedback:

  • Tell me what distro to add if yours is not available. And what features you'd like to see.
  • Also please report if there are any bugs in the script.
  • Your feedback is always welcome.

Credits:

  • Thanks to GloriousEggroll for ProtonGE.
  • Thanks to AUNaseef protonup for making it easier to install ProtonGE.
  • Thanks to flightlessmango for mangohud.
  • Thanks to benjamimgois for goverlay.
  • Thanks to anyone who downloads this script, and to everyone who gives me feedback.
Comments
  • LibreGaming -p stopped working with new protonGE naming scheme

    LibreGaming -p stopped working with new protonGE naming scheme

    since ProtonGE changed the naming schemes the update download's but fail's to find locate the file "sha512sum" and crashes out.

    Ready to download Proton-GE-Proton7-5 
    Size      : 395.8 MiB 
    Published : 2022-03-02
    Continue? (Y/n): y
    Downloaded 100.00% - 395.8 MiB / 395.8 MiB   
    [INFO] Installed in: /home/laclcia/.steam/root/compatibilitytools.d/Proton-GE-Proton7-5
    Traceback (most recent call last):
      File "/home/laclcia/.local/bin/protonup", line 8, in <module>
        sys.exit(main())
      File "/home/laclcia/.local/lib/python3.10/site-packages/protonup/__init__.py", line 4, in main
        return main()
      File "/home/laclcia/.local/lib/python3.10/site-packages/protonup/cli.py", line 33, in main
        get_proton(version=args.tag, yes=args.yes, dl_only=args.download,
      File "/home/laclcia/.local/lib/python3.10/site-packages/protonup/api.py", line 155, in get_proton
        open(checksum_dir, 'w').write(download_checksum)
    FileNotFoundError: [Errno 2] No such file or directory: '/home/laclcia/.steam/root/compatibilitytools.d/Proton-GE-Proton7-5/sha512sum'
    

    output above. has been happening since Proton-GE-Proton7-2 (diddnt get the chance to test on -1.) i have tried updating libregaming with pip3 install LibreGaming -U before posting obviously.

    if that help's i am running Manjaro Linux x86_64 lastest as of writing this. have tried on the default lastest kernel 5.15.25 manjaro. and on 5.15.25-xanmod1-tt-1 with same result's.

    bug 
    opened by laclcia 10
  • LibreGaming -a has broken download links?

    LibreGaming -a has broken download links?

    Hi there,

    Love the project. I decided to try it out today after watching TechHut and used the installation through pip3. It got stuck while trying to download packages:

    "warning: failed to retrieve some files"

    lib32-mpg123-1.28.2-1-x86_64.pkg.tar.zst failed to download

    What seemed relevant from the console can be found here: https://pastebin.com/HZ7vU523 - To avoid the spam :) I'll be installing it using the other method instead but thought I'd share this if it's useful.

    opened by fredrikscode 6
  • opensuse tumbleweed support

    opensuse tumbleweed support

    The package manager is zypper all the packages are in the main + packman repo's

    syntax is just an easy "sudo zypper install" If you want you can firstadd a hook to enable codecs, which also sets up packman "sudo zypper opi" then "opi codes"

    opened by 10leej 6
  • Why python?

    Why python?

    Hey Ahmed, as a start i want to say thank you for your great work :) Second, I really was wondring, why python? i mean most of your calls are inside terminal anyways so why python in first place, why not just bash script? if you allow me (aka want) i can play around and try to make a bash script (i'm learning it and it would be a good challange) so do you want bash script along side your python script or just python?

    و عارف الأنجليزى بتاعى مش حلو اوى 😅

    opened by EsmailELBoBDev2 5
  • rootCommand, Syntax Error!

    rootCommand, Syntax Error!

    hi so i was trying to add a few more functionalities in to LibreGaming and here is the error i got after compiling the thing. here is a sample my function i added : def sample(): Ubuntu = [ rootCommand + " echo this is a test", ] for i in Ubuntu: os.system(i)

    then it says rootCommand syntax error :(

    question 
    opened by OpenDevloper 4
  • No .bashrc or .zshrc files

    No .bashrc or .zshrc files

    LibreGaming command not found. The files you listed simply don't exist. There aren't anywhere and this needs an update. Fix it please.

    openSUSE Tumbleweed, followed the instructions religiously and there is absolutely no .bashrc or .zshrc on any part, nor where the guide says nor in /LibreGaming, anywhere. It does not exist. Fix please, thanks.

    opened by alexholox 3
  • This is not an issue, but more of a question I can't find the answer to in the README section.

    This is not an issue, but more of a question I can't find the answer to in the README section.

    This is not an issue, but more of a question I can't find the answer to in the README section.

    With LibreGaming can you uninstall/delete older versions of proton-GE like with "protonUP"? https://github.com/AUNaseef/protonup maybe you two should combine forces and put proton up in your script?

    Is there a command to uninstall/delete all the packages/directories that LibreGaming installs?

    BTW: thank you for incredible fast answers and fix'es

    opened by heli-aviator 3
  • Broken steamtinkerlaunch option

    Broken steamtinkerlaunch option

    steamtinkerlaunch is only available now via YAY. This patches replaces the installation method for STL to use YAY and also fixes al old but in this method since it was not using the rootCommand variable, making it fail because of root permissions. Not adding the rootCommand to YAY because it is not recommended.

    opened by colutti 2
  • Add MInigalaxy

    Add MInigalaxy

    Minigalaxy - A simple GOG client for Linux

    Would be a great addition as a GOG client. Arguements should be one of these:

    • -m
    • -mg
    • --minigalaxy

    https://sharkwouter.github.io/minigalaxy/ https://github.com/sharkwouter/minigalaxy

    enhancement good first issue hacktoberfest 
    opened by kutzlect 2
  • proton-ge not installed to correct location

    proton-ge not installed to correct location

    For short, do not run LibreGaming -a.

    Details: Running LibreGaming -a with a clean home directory, there will be no .steam directory. When installing proton-ge using protonup, ~/.steam/root/compatibilitytools.d will be auto created(mkdir -p maybe). However, at this time, steam has not been run. In fact, at first run, steam will creates ~/.steam directories and make a soft link of your real steam root to ~/.steam/root . For arch linux, it shoud be a soft link of ~/.local/share/Steam. These cause a problem that proton-ge is installed to a location which is not the real steam root. What's more, when steam starts, it detects ~/.steam/root already exists and will not create the soft link for you.

    Fix option 1: To solve this problem, do not run -a option with a clean install. Run-p after open steam at least once.

    Fix option 2: Or just run -a and manually fix it. For arch linux, this can be fixed through following commands.

    mv ~/.steam/root/compatibilitytools.d ~/.local/share/Steam && \
    rmdir ~/.steam/root && \
    ln -sf ~/.local/share/Steam ~/steam/root
    
    opened by T2hhbmEK 2
  • Refactoring installALLPkgs

    Refactoring installALLPkgs

    There is no need to repeat the code in this function to install all packages since the file already have methods for each step. If the user wants to install everything it should just be the same as choosing each option.

    opened by colutti 1
  • LibreGaming command works by itself, adding sudo yields

    LibreGaming command works by itself, adding sudo yields "sudo: libregaming: command not found"

    I'm having a strange issue. I added the little script to .bashrc to add LibreGaming to the PATH. I can run LibreGaming commands without sudo fine. When I try to run LibreGaming --gaming or LibreGaming -g I get Please run LibreGaming with sudo or doas command for this flag. I then add sudo and get sudo: libregaming: command not found

    opened by stephepush 1
Releases(0.2.4.1)
  • 0.2.4.1(May 6, 2022)

    This release contains:

    • An appimage GUI interface to interact with LibreGaming, its been tested on Ubuntu, Fedora, and OpenSUSE.
    • The GUI doesn't support Arch Linux, you can only use LibreGaming on the CLI for Arch Linux.

    Notes

    • To use the GUI interface you need to download the LibreGamingQt-x86_64.AppImage and give it execute privileges and run it!
    • To install this Release click here.
    • And if want to support this project you can go to my Patreon page to support me.

    Thanks for using LibreGaming, we Reached 30k downloads.

    Source code(tar.gz)
    Source code(zip)
    LibreGamingQt-x86_64.AppImage(54.96 MB)
  • 0.2.3.4(Apr 6, 2022)

    This release contains:

    1. Removed the check for updates functions due to many issues on Arch.
    2. added a version flag LibreGaming -v
    3. fixed an issue with the getPackageManager function.

    Notes

    • To install this Release click here. And if want to support this project you can go to my Patreon page to support me.

    Thanks for using LibreGaming, we Reached 30k downloads.

    Source code(tar.gz)
    Source code(zip)
  • 0.2.3.2(Apr 1, 2022)

    This release contains:

    1. Because of the new GE naming scheme I am currently using Protonup-ng instead of the original Protonup, Which fixes the issue #25. Thanks to cloudishBenne.
    2. Moved from using os library to subprocess library. Which has many features such as catching keyboard interrupts which fixes the issue #29.
    3. Also, LibreGaming now checks for new versions of LibreGaming each time you run the tool.
    4. Removed the TUI due to not working with the new backend way of installing packages. However, if there are enough request I will try fixing it.

    Notes

    • To install this Release click here. And if want to support this project you can go to my Patreon page to support me.

    Thanks for using LibreGaming, we Reached 30k downloads.

    Source code(tar.gz)
    Source code(zip)
  • 0.2.2(Mar 29, 2022)

    This release contains:

    1. Cleaned and refactored the code base, every distro packages are now separated into individual files.
    2. added support to Minigalaxy the gog store for Linux.

    Notes

    • To install this Release click here. And if want to support this project you can go to my Patreon page to support me.

    Thanks for using LibreGaming, we Reached 30k downloads.

    Source code(tar.gz)
    Source code(zip)
  • 0.1.1(Mar 15, 2022)

    I am Back!

    This release contains:

    1. Merged pull requests (#22, #23, #24) made by colutti.

    Notes

    • Thanks again to @colutti for the pull requests.
    • To install this Release click here. And if want to support this project you can go to my Patreon page to support me.

    Thanks for using LibreGaming, we Reached 30k downloads.

    Source code(tar.gz)
    Source code(zip)
  • 0.1.0(Sep 24, 2021)

    This release contains updates to:

    • LibreGaming Protonup commands.

    Also a Wizard!

    Wizard-101 Wizard-102

    • now you can have more control over what gets installed on your system by using the TUI and navigating to the Wizard option.

    Notes

    • To install this Release click here. And if want to support this project you can go to my Patreon page to support me.

    Thanks for using LibreGaming, we Reached 6k downloads.

    Source code(tar.gz)
    Source code(zip)
  • 0.0.9(Sep 21, 2021)

    TUI

    • This release includes a Terminal Based User Interface(TUI). I hope it makes it easier to for all of you to install your Gaming packages. tui

    Notes

    • To install this Release click here. And if want to support this project you can go to my Patreon page to support me.

    Thanks for using LibreGaming, we Reached 6k downloads.

    Source code(tar.gz)
    Source code(zip)
  • 0.0.8(Sep 17, 2021)

    This release contains:

    1. itch.io can now be installed using LibreGaming, and it's for all distros.
    2. installation of Steam Tinker Launch thanks to @trenton4k in issue #11. However, currently its only for Arch Linux.
    3. A better README.

    Notes

    • Thanks again to @trenton4k for the feedback.
    • To install this Release click here. And if want to support this project you can go to my Patreon page to support me.

    Thanks for using LibreGaming, we Reached 5k downloads.

    Source code(tar.gz)
    Source code(zip)
  • 0.0.7(Sep 16, 2021)

    This release contains:

    1. adjustments pointed out by @T2hhbmEK in issue #12. Where I removed the -a option, because in order for steam to recognize ProtonGE you need to run steam at least once before installing ProtonGE.
    2. Also, other minor changes. For example now you can use libregaming instead of LibreGaming or both if you want to.
    3. more detailed README.

    Notes

    • This release was made possible because of @T2hhbmEK issue, thanks for the feedback.
    • To install this Release click here. And if want to support this project you can go to my Patreon page to support me.

    Thanks for using LibreGaming, we Reached 5k downloads.

    Source code(tar.gz)
    Source code(zip)
  • 0.0.6(Sep 14, 2021)

    This Release includes:

    • A new option to install basic packages like Wine, Steam, Gamemode for minimal gaming.
    LibreGaming -b
    

    Also now you can passthrough commands to protonup using LibreGaming.

    • To list all the available releases of ProtonGE enter this command:
    LibreGaming -r
    
    • To list all the installed verions of ProtonGE enter this command:
    LibreGaming -l
    
    • To install a specfic release of ProtonGE enter this command: for example:
    LibreGaming -t 6.13-GE-1
    
    • To delete a specfic release of ProtonGE enter this command: for example:
    LibreGaming -d 6.13-GE-1
    

    Notes

    • This release was made possible because of @BrodieRobertson video, thanks again for the feedback.
    • To install this Release click here. And if want to support this project you can go to my Patreon page to support me.

    Thanks for using LibreGaming, we Reached 4k downloads.

    Source code(tar.gz)
    Source code(zip)
  • 0.0.5(Sep 12, 2021)

    This Release includes:

    • A better README with more details.
    • Fixed the usage of the sudo command(Now it should use either sudo, doas, or su - if both are not installed).
    • Fixed the Arch install command. Now it uses -Syu

    What's next?

    • more control over what gets installed.
    • will work on how to include other AUR helpers.

    Notes

    This release fixes most of the issues that are present in the @BrodieRobertson video. and I would like to thank him for pointing those issues :)

    To install this Release click here. And if want to support this project you can go to my Patreon page to support me.

    Thanks for using LibreGaming, we Reached 3k downloads.

    Source code(tar.gz)
    Source code(zip)
  • 0.0.4.1(Sep 11, 2021)

  • 0.0.4(Sep 9, 2021)

    This Release includes:

    • Support for #2 OpenSUSE.
    • installations for Heroic and Athenaeum.

    To install this Release click here. And if want to support this project you can go to my Patreon to support me.

    Thanks for using LibreGaming, I can't believe that we Reached 2k downloads.

    Source code(tar.gz)
    Source code(zip)
  • 0.0.3.1(Sep 7, 2021)

    • This release contains:
    1. cleaned up protonup-related code. Thanks to AUNaseef for the pull request.
    2. Fixing python3 installation for Arch Linux. Thanks to sheeepdev for the pull request.
    3. Fixed Ubuntu PPA, which used to grab focal PPA. Now it installs the right PPA for your Ubuntu Release. thanks to logix2 for the issue.
    4. Included winetricks in LibreGaming. Thanks to BrodieRobertson for the issue.

    Thanks to anyone downloading LibreGaming, I hope it makes your lives easier.

    Source code(tar.gz)
    Source code(zip)
Owner
Ahmed Al Balochi
Riphah University Student in Islamabad. This page contains my Student & my side projects.
Ahmed Al Balochi
Code for "Adversarial Motion Priors Make Good Substitutes for Complex Reward Functions"

Adversarial Motion Priors Make Good Substitutes for Complex Reward Functions Codebase for the "Adversarial Motion Priors Make Good Substitutes for Com

Alejandro Escontrela 54 Dec 13, 2022
Terminal based YouTube player and downloader

termitube NOTE: THIS REPOSITORY IS A FORK OF mps-youtube as mps-youtube has been unmaintained for almost a year now. Features Search and play audio/vi

Otis/Jacob Root 27 Dec 23, 2022
Download history data from binance and save to dataframe or csv file

Binance history data downloader Download history data from binance and save to dataframe or csv file

10 Dec 02, 2022
Will load an SRC page, logged in with Firefox's cookies imported, and delete all comments from every run

SRCCommentsAutoDeleter Will load an SRC page, logged in with a support browser's cookies, and delete all comments from every run Config is all done in

3 Oct 29, 2021
A YouTube downloader app built with Django.

YouTube Downloader ⭐️ Star this project ⭐️ Requirements Python3+ Git Installation Install the dependencies and start the server. git clone https://git

Gabriel Tavares 26 Aug 19, 2022
A scriptable music downloader for Qobuz, Tidal, and Deezer

streamrip A scriptable stream downloader for Qobuz, Tidal, and Deezer. Features Downloads tracks, albums, playlists, discographies, and labels from Qo

967 Jan 03, 2023
Python based Telegram bot. Search and download YouTube video or audio.

Python-Telegram-Youtube-Media-Bot Python based Telegram bot. Search and download YouTube video or audio. Just change settings.py and start TelegramBot

Ahmet Bohur 2 Oct 02, 2022
Aline file downloader automator!

AlineDorker Aline is used for donwloading files with google dorking , dowloading specified links such as dorks. Dependences: python3 installed pip ins

27 Nov 16, 2022
Download YOUR files, documents from vk.

vk-documents-downloader Кароч эта симпл херня качает все ВАШИ документы с вк. Или я еблан, но в гх и тмб гугле я подобного не нашел. py main.py Login:

4 Jun 10, 2022
Download candlestick data fast & easy for analysis

crypto-candlesticks 📈 The goal behind this project is to facilitate downloading cryptocurrency candlestick data fast & simple. Currently only the Bit

Pedro Torres 31 Dec 11, 2022
Download minecraft head or skin, allows TLauncher accounts

Download minecraft head or skin, allows TLauncher accounts

1 Dec 30, 2021
Tool To download - Amazon - Netflix- Disney+ - VideoLand - Boomerang - RTE.ie

vinetrimmer Widevine Decryption Script for Python Modules Amazon Netflix (with [email protected]

9 Dec 31, 2021
The free and open-source Download Manager written in pure Python

The free and open-source Download Manager written in pure Python

pyLoad 2.7k Dec 31, 2022
pubmex.py - a script to get a fancy paper title based on given DOI or PMID

pubmex.py is a script to get a fancy paper title based on given DOI or PMID (can be also combined with macOS Finder)

Marcin Magnus 13 Nov 20, 2022
Youtube Downloader GUI

Python Youtube Downloader GUI This is a GUI application that allows you to download videos from Youtube. Features Download videos from Youtube in MP3

Daniel Carrillo 2 Dec 14, 2021
A simple Python +3.x script to download videos from Facebook.

Facebook Video Downloader A simple Python +3.x script to download videos from Facebook posts

Kerolos Atef Saber 1 Dec 03, 2021
A Spotify downloader needing only a python interpreter and ffmpeg.

ZSpotify A Spotify downloader needing only a python interpreter and ffmpeg. Discord Server - Matrix Server - Gitea Mirror - Main Site Requirements: B

2.4k Dec 14, 2021
Simple python script to download .mp3 formatted files from YouTube video URLs

Introduction: Simple python script to download .mp3 formatted files from YouTube video URLs Requirements: Requires: youtube_dl module Requires: ffmpeg

Pat 2 Aug 18, 2022
New York Times Front Page Downloader.

TIMETRAVELER New York Times Front Page Downloader. Usage python3 timetraveler.py All data will be saved at ~/timetraveler/ Goals To keep a historica

Daeshon Jones 0 Oct 31, 2021