It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
high rated
GOG GALAXY
https://www.gog.com/galaxy
https://appdb.winehq.org/objectManager.php?sClass=application&iId=16854

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

Heroic Games Launcher
https://heroicgameslauncher.com/

Lutris
https://lutris.net/

LGOGDownloader
https://www.gog.com/forum/general/lgogdownloader_gogdownloader_for_linux
https://github.com/Sude-/lgogdownloader
https://sites.google.com/site/gogdownloader/

gogcli - Gog Client
https://www.gog.com/forum/general/gogcli_gog_client
https://github.com/Magnitus-/gogcli

GOGcli-GUI
https://www.gog.com/forum/general/gogcli_gui_frontend_downloader_and_validator/
https://github.com/Twombs/GOGcli-GUI

gogrepo
https://www.gog.com/forum/general/gogrepopy_python_script_for_regularly_backing_up_your_purchased_gog_collection_for_full_offline_e/
https://github.com/Kalanyr/gogrepoc

GOGRepo GUI
https://www.gog.com/forum/general/gogplus_download_checker/post16
https://github.com/Twombs/GOGRepo-GUI/

Gogg: A Multiplatform Downloader for GOG
https://www.gog.com/forum/general/gogg_a_multiplatform_downloader_for_gog
https://github.com/habedi/gogg

gog-downloader
https://github.com/RikudouSage/GogDownloader/

-------------
verify tools
-------------

GOGPlus Download Checker
https://www.gog.com/forum/general/gogplus_download_checker
https://github.com/Twombs/GOGPlus-Download-Checker

GOG Checksum Lookup
https://www.gog.com/wishlist/site/my_account_provide_checksums_eg_md5_sha1_etc_for_downloadable_files
https://openuserjs.org/scripts/xmanacollectorx/GOG_Checksum_Lookup

MD5gog Bank
https://www.gog.com/forum/general/gogcli_gui_frontend_downloader_and_validator/post185

---------------------------------
checksum | hash | md5 | xml
---------------------------------

xml files contain the md5 hash values that can be used to verify file integrity when you download games.

one way to grab the xml file:
Go to your browser's download manager window.
Rick-click on the file that you are downloading and select "copy download link" (or something similar).
In your command prompt, input "wget", followed by the download link, followed by ".xml"

Example: "wget downloadlink.exe.xml"

another way to grab the xml file:
copy the download link, paste it into your browser's address bar, and append ".xml"

references:
https://www.gog.com/forum/general/any_md5_check_available/post4
https://www.gog.com/forum/general/md5_hashes_for_big_downloads_like_the_witcher_3/post2
https://www.gog.com/forum/fallout_series/fallout_4_goty_90gb_and_no_hash_files/post3
https://www.gog.com/forum/fallout_series/fallout_4_goty_90gb_and_no_hash_files/post4

checking file integrity with innoextract and linux installer checks.
https://www.gog.com/forum/general/any_md5_check_available/post11

related threads:
https://www.gog.com/forum/general/any_md5_check_available/page1/
https://www.gog.com/forum/general/md5_hashes_for_big_downloads_like_the_witcher_3/page1/
https://www.gog.com/forum/fallout_series/fallout_4_goty_90gb_and_no_hash_files/page1/
https://www.gog.com/forum/general/we_need_a_way_to_check_file_integrity_of_backups/page1
https://www.gog.com/forum/general/i_need_some_help_with_backing_up_my_games/page1

----------
python3
----------

the following is one way to get python3
(gogrepo requires python 2.7 or 3)

# https://github.com/niess/python-appimage
# download "python3.9.19-cp39-cp39-manylinux1_x86_64.AppImage"

# make executable
chmod a+x python3.9.19-cp39-cp39-manylinux1_x86_64.AppImage

# https://python-appimage.readthedocs.io/en/latest/
./python3.9.19-cp39-cp39-manylinux1_x86_64.AppImage --appimage-extract
mv squashfs-root python3.9.19-cp39-cp39-manylinux1_x86_64.AppDir
ln -s python3.9.19-cp39-cp39-manylinux1_x86_64.AppDir/AppRun python3.9.19

# https://docs.python.org/3/tutorial/venv.html
# https://www.tutorialspoint.com/What-is-PYTHONPATH-environment-variable-in-Python
# "When you create a virtual environment with venv or virtualenv, it automatically sets PYTHONPATH to include the virtual environment's site-packages directory."
# create virtual environment with your custom name, here named "virtual_environment"
./python3.9.19 -m venv virtual_environment

# run virtual environment when using python
# run from same directory as gogrepoc.py
source /path/to/virtual_environment/bin/activate

# setup python
python -m pip list
pip install --upgrade pip
pip install html2text html5lib requests pyOpenSSL

----------
gogrepo
----------

# login
python gogrepoc.py login

# depending on quantity of games in account, this can take a while.
python gogrepoc.py update

There are many command line arguments available in gogrepoc for updating, downloading, verifying, and others.

For my ease of use, i use two scripts, listed below.

once update is done, use this script to extract game titles.
https://gitlab.com/version2013/gog.com/-/blob/main/extract_titles

Currently I download games individually, or in small batches, partly because of size constraints.

Here is the current script I use:
https://gitlab.com/version2013/gog.com/-/blob/main/update_download_verify

My script uses only a few of the available command line arguments in gogrepoc

You will need to adjust the script with your preferred command line arguments.

More information:
https://www.gog.com/forum/general/gogrepopy_for_dummies_helpful_hints_for_total_noobs/page1
post3689
post3973

------------------

Downloading game installers to multiple USB drives.

Plugging in USB drives gives non-persistent names for those drives.
When you have symlinks to your drives, it is helpful to have persistent names for those drives,
that way you can create persistent mount points for those drives.
The symlinks will be valid no matter what order you plug the drives in.
This also requires that you create unique labels for your drives.

What works for me is having a central directory containing the gogrepo files;
game installers on separate drives all accessible from one central directory with symlinks to the drives.

give your drive a label with: e2label <device> <label>
example: e2label /dev/sdb1 drive1

verify label with: blkid <device>
example: blkid /dev/sdb1

create a mount point (directory): mkdir /mnt/<label>
example: mkdir /mnt/drive1

will need 'mount' command that supports labels
mount -t <format-type> -L <label> <mount-point>
example: mount -t ext2 -L drive1 /mnt/drive1

With gogrepo, game titles are used to create each game directory.
Create your game directories on the usb drives that you want each game to reside.
Create symlinks in your central directory that point to those game directories on other drives.

References:
https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/managing_file_systems/assembly_overview-of-persistent-naming-attributes_managing-file-systems
https://oldforum.puppylinux.com/viewtopic.php?t=57257

------------------
documentation
------------------

GOG Developer Docs
https://docs.gog.com/
https://docs.gog.com/bc-languages-table/
https://github.com/gogcom/gog-galaxy-dev-docs/

unoffical documentation
https://gogapidocs.readthedocs.io/
https://www.gog.com/forum/general/unofficial_gog_api_documentation
https://github.com/Yepoleb/gogapidocs
Post edited January 22, 2025 by solar_dome
Wow, quite the comprehensive list there. Some of those I didn’t even know about, so thank you for bringing them to my attention. I mostly use Galaxy and GOGcli GUI nowadays, but have used some others (such as gogrepoc) in the past. A big thank you and + to you for the detailed instructions!
Great stuff!

Thanks for putting all this really useful information together.
Just out of interest: Does Heroic allow to download only the offline installers for backup purposes? So far I use gogrepo for that.
avatar
Lifthrasil: Just out of interest: Does Heroic allow to download only the offline installers for backup purposes? So far I use gogrepo for that.
I have not found any way to download the offline installers using Heroic. It direct installs like Steam and Galaxy.
avatar
Lifthrasil: Just out of interest: Does Heroic allow to download only the offline installers for backup purposes? So far I use gogrepo for that.
avatar
wolfsite: I have not found any way to download the offline installers using Heroic. It direct installs like Steam and Galaxy.
Small side-note - you could use Galaxy to download installers.
But can confirm - Heroic is used to install games and manage said installation, there is no option to download either installers or extras.

Maybe there will be in the future. They did somehow manage to add Achievements after-all... but for now - no, you cannot download offline installers.
avatar
wolfsite: I have not found any way to download the offline installers using Heroic. It direct installs like Steam and Galaxy.
avatar
Atlo: Small side-note - you could use Galaxy to download installers.
But can confirm - Heroic is used to install games and manage said installation, there is no option to download either installers or extras.

Maybe there will be in the future. They did somehow manage to add Achievements after-all... but for now - no, you cannot download offline installers.
Ya Lutris has the advantage there as it downloads and installs from the offline installers and you can set a save path for the installers to save them for backups.
avatar
wolfsite: I have not found any way to download the offline installers using Heroic. It direct installs like Steam and Galaxy.
avatar
Atlo: Small side-note - you could use Galaxy to download installers.
But can confirm - Heroic is used to install games and manage said installation, there is no option to download either installers or extras.

Maybe there will be in the future. They did somehow manage to add Achievements after-all... but for now - no, you cannot download offline installers.
I have not tried it yet (so far, I've tried vanilla Wine with extremely mixed results for that purpose... have not yet tried Winetricks or swapping some of the dlls or any of that stuff), but can it either install a game from an offline installer or otherwise at least run it?

So far, I've found this which hints it might be possible to install a game with Wine and then use Heroic for better compatibility: https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/issues/1242

I've already created my own tool for backups that supports s3 storage and at this point, I'm happy enough with it.

What I'm really looking for at this point is a better solution to run my games in Linux. Having something fully integrated with the GOG website is a negative me for to enjoy my collection durably offline at this point. I really don't want the gog website as a dependency, it is counter-productive.

I think this issue might also be promising, but it is pending:

https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/issues/3596
Post edited January 28, 2025 by Magnitus