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
Let's you download entire YT-playlists.

Youtube MP3 Playlist Downloader Let's you download entire youtube playlists as mp3 files. This application is basically a script that makes it easier

11 Dec 18, 2022
Application Updater using an download link

Application-Updater This tool will update your app using an storage link

ExtremeDev 1 Dec 20, 2021
Neon: an add-on for making it easier to handle component interactions

Neon Neon is an add-on for Lightbulb making it easier to handle component interactions. Installation pip install git+https://github.com/neonjonn/light

Neon Jonn 9 Apr 29, 2022
Download YouTube videos/music and images in MP4, JPG with this tool.

ABOUT THE TOOL Download YouTube videos, music and images in MP4, JPG with this tool, with an easy to understand interface. This tool works with both,

TrollSkull 5 Jan 02, 2023
code for paper"3D reconstruction method based on a generative model in continuous latent space"

PyTorch implementation of 3D-VGT(3D-VAE-GAN-Transformer) This repository contains the source code for the paper "3D reconstruction method based on a g

Tong 5 Apr 25, 2022
QGIS plugin to dwonload DEMs from OpenTopography.org

OpenTopography-DEM-Downloader-qgis-plugin QGIS plugin to dwonload DEMs from OpenTopography.org This plug-in allows you to download DEMs from OpenTopgr

Kyaw Naing Win 7 Sep 20, 2022
Super S3 command line tool

s4cmd Super S3 command line tool Author: Chou-han Yang (@chouhanyang) Current Maintainers: Debodirno Chandra (@debodirno) | Naveen Vardhi (@rozuur) |

Bloomreach 1.2k Dec 27, 2022
Download all your URI Online Judge source codes and upload to GitHub with simple steps.

URI-Code-Downloader Download all your URI Online Judge source codes and upload to GitHub with simple steps. Prerequisites Python 3.x Installing Downlo

Luan Simões 9 Mar 23, 2022
A Unit3D Mass Release Downloader

Unit3DMassDL A Unit3D Mass Release Downloader. Currently supports Aither. Installation Ensure Python 3 is installed in your system. Run the following

2 Apr 11, 2022
Source code of paper: "HRegNet: A Hierarchical Network for Efficient and Accurate Outdoor LiDAR Point Cloud Registration".

HRegNet: A Hierarchical Network for Efficient and Accurate Outdoor LiDAR Point Cloud Registration Environments The code mainly requires the following

Intelligent Sensing, Perception and Computing Group 3 Oct 06, 2022
Utility for downloading works from AO3 (Archive Of Our Own)

froyo A small graphical application for batch downloading works from Archive Of Our Own (AO3). Curate a fic repo of your own today :) Features Batch d

flux 24 Dec 09, 2022
Write reproducible code for getting and processing ChEMBL

chembl_downloader Don't worry about downloading/extracting ChEMBL or versioning - just use chembl_downloader to write code that knows how to download

Charles Tapley Hoyt 34 Dec 25, 2022
Download YOUR files, documents from vk.

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

4 Jun 10, 2022
A python program to download one or multiple videos from YouTube.

YouTube-Video-Downloader A python program to download one or multiple videos from YouTube. Quick Start guide First Clone The Project git clone https:/

Imira Randeniya 1 Sep 11, 2022
Pytube ve tkinter kütüphanesi ile yapmış olduğum basit ve temel bir youtube video indirme programı.

PyTube Pytube ve tkinter kütüphanesi ile yapmış olduğum basit ve temel bir youtube video indirme programı. Videolar 720p çözünürlükte indirilmektedir.

1 Nov 12, 2021
Code for "Temporal Difference Learning for Model Predictive Control"

Temporal Difference Learning for Model Predictive Control Original PyTorch implementation of TD-MPC from Temporal Difference Learning for Model Predic

Nicklas Hansen 156 Jan 03, 2023
Archivist - Easily archive 📦 Download folder to Google Drive ☁️

Archivist Script for archiving Download folder by uploading unmodified files to a Google Drive folder. Modified files will remain in the Download fold

Timing Liu 3 Sep 30, 2022
Spy Ad Network - Spy Ad Network Detection With Python

Spy Ad Network Spy Ad Network Detection Jumps from link to link to access a site

Baris Dincer 2 Jan 13, 2022
Yahoo! Finance next gen python 3 / pandas market data downloader

Yahoo! Finance-ng python3 / pandas market data downloader Ever since Yahoo! finance decommissioned their historical data API, many programs that relie

Pedro Larroy 7 Dec 09, 2022
Itchio Downloader Tool with python

Itchio Downloader Tool Install pip install git+https://github.com/emersont1/itchio Download All Games in library from account python -m itchio.downloa

Peter Taylor 69 Dec 05, 2022