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
PyDownloader - Downloads files and folders at high speed (based on your interent speed).

PyDownloader - Downloads files and folders at high speed (based on your interent speed).

Armen._.G 4 Feb 24, 2022
Organize your downloads easily with DownloadOrganizer

DownloadOrganizer Organize your downloads organize your downloads easily with DownloadOrganizer Instilation how to install DownloadOrganizer Method 1:

null 1 Dec 2, 2021
FireDM is a python open source (Internet Download Manager) with multi-connections, high speed engine, it downloads general files and videos from youtube and tons of other streaming websites .

python open source (Internet Download Manager) with multi-connections, high speed engine, based on python, LibCurl, and youtube_dl https://github.com/firedm/FireDM

null 1.6k Apr 12, 2022
Python script to automate youtube-dl downloads

Automated Download Tool !! Project status I am writing a new version of this program, which will solve several errors. The new version only supports G

Devil64-Dev 21 Sep 22, 2022
A python scripts that downloads doujin from nhentai without having an account

nhentai-downloader a python scripts that downloads doujin from https://nhentai.net without having an account. Usage Needs Python 3^ Linux pip3 install

Earl Sabalo 4 Jun 13, 2022
Download images where login is required using har python and js

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

null 0 Jul 22, 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 9, 2023
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
Downloads .ksy files and their dependencies straight from the official kaitai-struct format gallery.

ksy-dl Downloads .ksy files and their dependencies straight from the official kaitai-struct format gallery. This tool will: Fetch any of the official

null 3 Jun 20, 2022
A script that downloads YouTube videos/audio

YouTube-Downloader A script that downloads YouTube videos/audio from youtube. Usage Download the script by executing the following in your terminal :

Debayan Sarkar 2 Jan 4, 2022
Downloads files and folders

PyDownloader Downloads files and folders at high speed (based on your interent speed). This is very useful to transfer big files from one computer to

ArmenG 4 Feb 24, 2022
Downloads photos you saved from a specific profile.

instagram-download-saved A python script that downloads photos you saved from a specific profile. The only dependency is instaloader, an open-source p

Aviv 1 Dec 19, 2021
Tool To Get Downloads up to 4k from Paramount+

Paramount 4K Downloader Tool To Get Downloads up to 4k from Paramount+ ?? Hello Fellow < Developers/ >! Hi! My name is WVDUMP. I am Leaking the script

null 2 Dec 25, 2021
Downloads yiffer.xyz comics as images

yiffer-dl Downloads comics as images from yiffer.xyz.

Maxim 2 Mar 20, 2022
ComicDownloader - Downloads Comics from readcomiconline.li

ComicDownloader Downloads Comics from readcomiconline.li To use this script from

null 2 Nov 8, 2022
Simple tool downloads public PoC (refer from nomi-sec)

PoC Collection This is the little script to collect the proof-of-concept which is refered from nomi-sec. The repository now is only develop for linux-

null 2 Aug 17, 2022
Downloads state flags from wikipedia for states/regions from all countries

world-state-flags Downloads state flags from wikipedia for states/regions from all countries This data is NOT curated Uses https://github.com/dr5hn/co

João Ribeiro Bezerra 2 Dec 15, 2022
Downloads separate (specified) file to a randomly generated folder in /TEMP then executes it.

PyTemp-1 A Python3 file downloader. What you do with this code / project / idea is non of my buisness or concern, and this was made for **educational*

NightTab 1 Aug 3, 2022
bing image downloader app used to download bulk images for a specific search term created using streamlit and bing_image_downloader python packages

bing image downloader app bing image downloader app is used to download bulk images for a specific search term. bing image downloader app gets the sea

Siva Prakash 8 Apr 5, 2022