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
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
Noto fonts go universal! Download Noto fonts combined to suit your region (South Asia, SE Asia, Africa-MiddleEast, Europe-Americas).

Go Noto Universal Noto fonts go universal! Download Noto fonts combined to suit your region (South Asia, SE Asia, East Asia, Africa-MiddleEast, Europe

Satish B 67 Jan 06, 2023
A Fast as F*** Downloader

FAFD A Fast as F*** Downloader Github Usages You'll want to use a URL like this: https://github.com/RPowell-C/FAFD/raw/main/FAFD.py It's easier DONT F

1 Jan 19, 2022
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
A Simple YouTube Video Downloader With Python

Simple YouTube Video Downloader Simple YouTube Video Downloader is an open source project with a very simple UI that tries to speed up the process of

Brian Han 2 Jan 03, 2022
Python script for downloading audio from YouTube songs/videos.

Python script for downloading audio from YouTube songs/videos. All you have to do is specify the path to your folder and then type song's/video's name and the sound will be downloaded into your folde

Mateusz Polis 0 Oct 05, 2022
Implementation of Cross-category Video Highlight Detection via Set-based Learning (ICCV 2021).

Cross-category Video Highlight Detection via Set-based Learning Introduction This project is an implementation of ``Cross-category Video Highlight Det

Minghao (Alan) Xu 49 Dec 17, 2022
Music, Album and Playlist downloader for JioSaavn

jiosaavn-dl Music, Album and Playlist downloader for JioSaavn Features Downloads tracks, albums and playlists in maximum available quality (320kbps AA

bunny 19 Dec 12, 2022
A cross platform front-end GUI of the popular youtube-dl written in wxPython.

youtube-dlG A cross platform front-end GUI of the popular youtube-dl media downloader written in wxPython. Supported sites Screenshots Requirements Py

8.7k Dec 31, 2022
Pypixiv - A fully-typed, asynchronous api wrapper for pixiv

pypixiv this library is a fully-typed, asynchronous api wrapper for pixiv. featu

DeltaLaboratory 2 Nov 16, 2022
A downloader for the ISIS service of TU Berlin

isis_dl A downloading utility for the ISIS tool of TU-Berlin. Version 0.4 Features Downloads all Material from all courses of your ISIS page. Efficien

1 Nov 06, 2021
Python module to download all media from a CyberDrop gallery.

CyberDrop Downloader Intro Let's suppose you found out the Eva G (bby_gee) leak on https://cyberdrop.me/a/aWAt4TWY. You wish you could download the en

Quatrecentquatre 1 Dec 12, 2021
Download images where login is required using har python and js

이미지 다운로드(har, python, js 사용) 로그인이 필요한 사이트에서 DevTools로 이미지를 다운받는 방법은 조금 까다로웠다. 가장 쉽게 할 수 있는 방법을 찾아보았다. 사용법 F12를 눌러 DevTools를 실행 Network 탭으로 이동 페이지 새로고침

0 Jul 22, 2022
A user-friendly GUI for the ZSpotify music downloader.

ZSpotifyGUI A user-friendly desktop app for ZSpotify music downloader for Windows, MacOs, and Linux Discord Server - Matrix Server - Gitea Mirror - Ma

94 Dec 17, 2022
Fast TikTok NO Watermark Video Downloader (username or url)

💎 TD [ TikDown v4 ] Star ⭐ if you want more Discord Server * discord.gg/onlp | Waxor#9999 Why not open source anymore ? * BECAUSE PEOPLE SKID, STEA

Tekky 26 Dec 01, 2022
Downloads and Updates GOG Galaxy 2.0 Plugins/Integrations

GOG Galaxy Plugins Downloader Summary This program downloads GOG Galaxy 2.0 Plugins and installs them to the proper location. You probably do not want

slashbunny 253 Dec 12, 2022
Download Photo and Video from Wall of specific user or community

vkontakte-downloader Download Photo and Video from Wall of specific User or Community on https://vk.com Setup Clone the project git clone https://gith

4 Jul 20, 2022
A python module to download ISO Standards

ISO Standards Downloader A python module to download ISO Standards from https://standards.iso.org/iso-iec/ Report Bug · Request Feature Table of conte

Daniel 1 Dec 29, 2021
Youtube Downloader is a Graphic User Interface(GUI) that lets users download a Youtube Video or Audio through a URL

Youtube Downloader This Python and Tkinter based GUI allows users to directly download the Best Resolution Videos and Audios from Youtube. Pa-fy Insta

Samarth Kumar 2 Jun 25, 2022
Download Web-10K data by querying Bing Image Search

gpv2-web10k This repository contains the script to download images from the Web-10K dataset. The script takes in a list of queries, queries Bing Image

AI2 8 Sep 06, 2022