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
the best video downloader for terminals (currently only compatible with Linux and Windows)

the best video downloader for terminals (currently only compatible with Linux and Windows)

Amaral 2 Oct 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
Gogoanime-dl - Gogoanime downloader for downloading anime.

gogoanime-dl With this script, you can download episodes of your favorite anime from Gogoanime. The current site that's developed against is https://w

1 Jan 06, 2022
A python script that discovers hidden YouTube API clients. Just a research project.

YouTube-Internal-Clients A script that discovers hidden internal clients of the YouTube (Innertube) API using bruteforce methods. The script tries cli

David 97 Jan 02, 2023
Python code to crawl computer vision papers from top CV conferences. Currently it supports CVPR, ICCV, ECCV, NeurIPS, ICML, ICLR, SIGGRAPH

Python code to crawl computer vision papers from top CV conferences. Currently it supports CVPR, ICCV, ECCV, NeurIPS, ICML, ICLR, SIGGRAPH. It leverages selenium, a website testing framework to crawl

Xiaoyang Huang 39 Nov 21, 2022
𝐴 𝑡𝑒𝑙𝑒𝑔𝑟𝑎𝑚 𝑏𝑜𝑡 𝑡ℎ𝑎𝑡 𝑐𝑎𝑛 𝑑𝑜𝑤𝑛𝑙𝑜𝑎𝑑 𝑣𝑖𝑑𝑒𝑜 𝑎𝑛𝑑 𝑎𝑢𝑑𝑖𝑜 𝑓𝑟𝑜𝑚 𝑦𝑜𝑢𝑡𝑢𝑏𝑒 𝑎𝑛𝑑 𝑣𝑖𝑑𝑒𝑜 𝑤𝑒𝑏𝑠𝑖𝑡𝑒𝑠 𝑞𝑢𝑖𝑐𝑘𝑙𝑦

𝐴 𝑡𝑒𝑙𝑒𝑔𝑟𝑎𝑚 𝑏𝑜𝑡 𝑡ℎ𝑎𝑡 𝑐𝑎𝑛 𝑑𝑜𝑤𝑛𝑙𝑜𝑎𝑑 𝑣𝑖𝑑𝑒𝑜 𝑎𝑛𝑑 𝑎𝑢𝑑𝑖𝑜 𝑓𝑟𝑜𝑚 𝑦𝑜𝑢𝑡𝑢𝑏𝑒 𝑎𝑛𝑑 𝑣𝑖𝑑𝑒𝑜 𝑤𝑒𝑏𝑠𝑖𝑡𝑒𝑠 𝑞𝑢𝑖𝑐𝑘𝑙𝑦

SOCIAL MECHANIC 2 Aug 04, 2022
Download YOUR files, documents from vk.

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

4 Jun 10, 2022
Animoo - Python scraper made with BeautifulSoup4 that scrapes images from /c/.

Animoo - Python scraper made with BeautifulSoup4 that scrapes images from /c/. Features Scrapes 10 pages Scrapes each thread Downloads all the images

aether 1 Dec 29, 2021
DYA ( Ditch YouTube API ) is a package created to power the user with YouTube Data API functionality without any API Key

Ditch YouTubeAPI (BETA) DYA ( Ditch YouTube API ) is a package created to power the user with YouTube Data API functionality without any API Key Detai

Sougata Jana 23 Dec 22, 2022
1Fichier Download Manager.

1fichier-dl 1Fichier Download Manager. Features ⭐ Manage your downloads ⭐ Bypass time limits Credits All icons, including the app icon, were provided

manuGMG 470 Oct 08, 2022
Tkinter based YouTube video downloader works on pytube 11.0.2. Can download YouTube videos in 720p(HD), 144p and even only audio.

YouTube-Downloader Tkinter based YouTube video downloader works on pytube 11.0.2. Can download YouTube videos in 720p(HD), 144p and even only audio. G

Manav Grover 2 Dec 27, 2021
PyQt5 simple files , youtube videos and youtube playlist downloader

PyQt5 simple files , youtube videos and youtube playlist downloader

AmirHossein Mohammadi 7 Jul 25, 2022
Google Art Image Downloader Tkinter

Google-Art-Image-Downloader-Tkinter 由 google-art-downloader 整改的批量 Google 艺术展平台高清图片下载 ⭐ It works perfectly from 2018 year till today, thanks for stars!

PY-GZKY 1 Jan 05, 2022
Download Apple Music Cover Artwork in the best Quality by providing an Apple Music Link. It downloads the jpg, png and webp version since they often differ from another.

amogus.py - Version 0.0.5 amogus - Apple Music Hi-Res Artwork Fetcher this is my first real python tool so sorry if its bad amogus is a Python script

reaper 46 Jan 09, 2023
Using Youtube downloader is the fast and easy way to download and save any YouTube video.

Youtube video downloader using Django Using Django as a backend along with pytube module to create Youtbue Video Downloader. https://yt-videos-downloa

Suman Raj Khanal 10 Jun 18, 2022
A bot to download songs from YouTube to telegram.

Song-Downloader-Bot A BOT TO DOWNLOAD SONGS FROM YOUTUBE. Mandatory variables API_ID - Get It From my.telegram.org API_HASH - Get It From my.telegram.

Ashik Muhammed 38 Dec 11, 2022
Ebook downloader built using python

ebook-downloader Getting Started Open a terminal and run the following commands. git clone github.com/georgemunyoro/ebook-downloader cd ./ebook-downlo

George Munyoro 1 Oct 19, 2021
This project is helps to download contents from Streamtape by utilizing the API

It scrapes Streamtape api and download contents from the site.

Debiprasad Das 5 Dec 28, 2022
Python/Selenium script to scrape data about university courses

university-courses Python/Selenium script to scrape data about university courses. Script first extracts URLs of each courses homepage, then trawls ea

Sam Brown 1 Feb 02, 2022
Music and video downloader, Made with love by Bryan Herrera

Python-Mp3Mp4-Downloader Music and video downloader, Made with love by Bryan Herrera Requirements CHOCOLATELY windows command If your system does not

ርᚱ1ናተᛰ ᚻህᚥተპᚱ 104 Dec 27, 2022