Monday, November 2, 2020

Donating (or Supporting) Linux Gaming Projects - A Modest Guide 2020

This is a modest guide to how you can basically put your money where your mouth is by donating to open source and Linux projects that advance the aim of better gaming on Linux: ideally some hard cash but if not, your time. In it I set out to explain each project's importance and really cut through the cruft to get to exactly how you donate.

It's a follow-up to my post ten months ago, a guide to donating or supporting open-source projects. I decided to refresh it a little earlier this year because I'd like to bring it to the forefront before the December drain on people's finances kicks and this year has been a hellscape where we could all honestly do with a little more support and kindness. So there we go. Aside from the new additions (and some updates), much of the content remains the same.

As a last point, I'm going to reiterate what /u/PBLKGodofGrunts said at the start of his own "Guide to Migrating to Linux 2020"; if you liked this post enough to give it an award, consider sending that money through to one of the projects below instead.

For a list of revisions, credits and edits, please see the end of the post.

Wine (via the Software Freedom Conservancy)

What is it? Wine is a compatibility layer that allows users to run Windows applications in Linux environments. It forms a core part of Valve's Steamplay/Proton solution, as well as providing gamers the means to play Windows games that are no longer compatibile on modern systems.

How can I support them? Wine is assisted by the Software Freedom Conservancy (SFC), a non-profit organisation that manages earmarked donations to its member projects (of which Wine, Godot and others form a part) and provides various fiscal and administrative services (the full list can be seen here.).

If you want donate to Wine directly, the easiest is to simply go to Wine's donation page. You can also go via the SFC. You'll need to go to the Member Projects Page, and scroll right down to the bottom. Clicking the donate will take you to Paypal where you'll be asked to donate an amount of your choice; you can also set whether it should be monthly but by default it's off.

Donating to the SFC helps all of the projects associated with them, and if you would like to do so you can donate here. Given the role they play in smoothing out the more mundane administrative tasks of running Wine as a non-profit, they likely deserve some support.

If you want to get an idea of how the money is used, you can check out some of the SFC's audited financial reports here, although it appears that they haven't been punctual on posting the supposed filings for the most recent years. Unfortunately, another good barometer of the kind of work done is the WineConf conference, which was delayed this year to Aug 2021. However, /u/jhansoxi also wrote up a personal WineConf 2019 report that gives you an idea of some of the challenges faced by the Wine team and the kind of topics that get discussed there.

Wine Staging, which generally features various cutting-edge features that haven't made it into mainline Wine due to stability concerns and other considerations, has it's own Patreon which you can support here. As this is often the preferred version for gaming requirements, it might be worth a look.

No money? You can support the Wine project by submitting reports on your experiences trying to run specific games over at WineHQ. Please be aware that this is specifically for reports using Wine alone, and requires on-going retesting and reporting. The details are on this page. You can either become an App's maintainer (thereby becoming responsible for the overall accuracy and timeliness of an App's page on AppDB), or simply post comments on the specific page detailing your tests.

You could also look at improving documentation around the use of Wine. Several of the pages on Wine's Wiki and documentation such as the Readme are out of date (for example, the Wine User's Guide was last updated on September 2018.).

ProtonDB

What is it? ProtonDB is a database of compatibility ratings of Windows Steam games using Proton and Steamplay developed by /u/migelius, with reports crowd-sourced from the community. It aims to provide a single point of reference on whether a Windows game will run via Steamplay, often with the necessary tweaks to perform if it requires some manual configuration. The database is also made available here under the ODbl license.

How can I support them? You can support ProtonDB's Patreon project. At the time of writing, the Patreon is earning just under $150.

No money? Comprehensive reports are invaluable in helping users to get games running. To that end, here's some things to consider to improve the quality of your reports. Be aware that you have to link your Steam account to ProtonDB in order to make a report, and think twice before running random scripts posted on the Internet. That being said:

  • Try to run the game using all of the Proton versions currently available.
  • Use the arguments on the Proton github page if you don't have any luck with the above.
  • If it does launch, try and play the game for a couple of hours before submitting your report at least - finishing it would be best, though! Some games have been reported as Gold/Platinum because they launched, only for reporters with more hours under their belts to finding that it had some other bugs or issues further down the line and, in some extreme cases, prevents you completing the game.
  • Running it on both Windows and Linux would be the gold standard; barring that, I'd recommend comparing a playthrough of a Windows version of Youtube. This helps identify issues that may not be apparent, such as missing cutscenes, weird glitches and so on.
  • Because ProtonDB displays the most recent reports first, it's possible for newer, sometimes less detailed reports to push older reports out of sight. If there's a solution, be sure to include it in your report. Bonus Internet Good Guy points if you go back through the reports and credit the first user to come up with the solution.
  • If you're doing all this testing and encounter bugs, you may as well submit a bug report to Proton's Github page. Compare some of the existing issues to get an idea of what information you should provide. SEARCH THE ISSUES TO MAKE SURE A GAME DOESN'T ALREADY HAVE A REPORT.

GamingOnLinux

What is it? Gaming On Linux (GoL) is an ad-free news website dedicated to Linux gaming run by Liam Dawe. It eschews more general Linux news to provide a focused spotlight on Linux native games, Kickstarters, projects and initiatives while highlighting ongoing efforts with Linux-adjacent interests.

How can I support them? Gaming on Linux has a myriad of ways that you can support them financially. Instead of listing them all here, I'll just link to their Support Us page. To summarise, you can:

  • Subscribe to their Patreon
  • Make single donations via multiple payment processors.
  • Buy games from stores via the GoL affialite links, listed on the linked page above.

If you would like some idea of where your money is going, you can check out the Patreon stretch goals.. Right now they're about $200 to upgrading the server and about $400 from being able to work on it full-time (from what I understand).

No money? Gaming on Linux encourages tips for Linux gaming news, as well as contributed articles written by readers. I have no idea whether contributers are paid for their work or not. You can submit articles here, keeping in mind that you have to be registered on their site to do so.

Lutris

What is it? Lutris is a game manager with user-created custom scripts that help with the installation of games with difficult configuration steps. It serves as a single front-end for games across multiple services and platforms (Steam, Origin, GOG, local installs, etc).

How can I support them? Lutris is a not-for-profit project (which is distinct from a non-profit organisation) and accepts donations via their Donations page. You can also support them via Patreon, where you can find a list of stretch goals giving a high-level view of how your money is being spent. Currently, the next milestone is to incorporate cloud saves so you can sync your play across multiple computers.

No money? The power of Lutris lies in its custom scripts that aid with difficult installations of games. If you've figured out how to run a game not listed. you could always contribute a script of your own. You can learn about writing scripts from the installers.rst file in the docs folder of the Github project for Lutris. Contributing towards maintaining a decent guide to setting up and properly running Lutris would also be useful.

Mangohud

What is it? Mangohud is a benchmarking tool that allows Linux users to get an overlay of system performance, tracking things such as GPU and CPU metrics, RAM usage, FPS through Vulkan and DXVK and more. If you've seen one of the videos where Windows performance gets compared to Linux, well, it's very likely had MangoHud as part of the presentation. MangoHud is developed by FlightlessMango(https://github.com/flightlessmango), who also does their own comparisons of various mainstream titles to their Linux or Proton counterparts here

How can I support them? FlightlessMango has a Patreon here, which at the time of writing is earning $2 a month. Given that /u/flightlessmango is an active participant on these boards, frequently helping people out with various tech-related questions to MangoHud, it's a little surprising.

No money? You can do worse than give their videos on YouTube a watch, or even subscribe. Giving some feedback on your own use of MangoHud and providing bug reports and reporting issues would also assist.

OpenHMD

What is it? OpenHMD is an API that aims to provide VR experiences for a variety of existing headsets, as well as a framework for those who may wish to develop their own open-source alternatives. You can see the list of supported devices here.

How can I support them? Checking their main page indicates that they now accept Paypal and Bitcoin.

No money? I suspect VR on linux is probably the nichest of niche, so if you are an active user in this space, you probably already know far better how to support these projects than I. I would imagine that active engagement by reporting issues, writing guides and logging detailed bug reports probably goes much further than any dollar, but both is best.

AppImage/Flatpak/Snaps

What is it? Linux has a dependency problem. Unless projects are actively maintained, many of them will fall into dependency hell, where they no longer run without a significant amount of jiggery and intervention, if at all. It can also be notoriously tricky to get games working with parity across multiple different distros. Projects like AppImage, Flatpak and Snaps address this flaw by packaging in all of the dependencies in a container which can be run independently of the main system, allowing for (theoritically) long-term support and compatibility as system environments change.

You can an overview of the various options mentioned here..

How can I support them? This proved to be a tricky thing to source. In fact, it appears that, from a monetary perspective, there is no clear way to directly donate to any these projects.

Snaps are a project by Canonical, so you could likely donate to Canonical when you're prompted to donate after downloading Ubuntu. Unfortunately, there's no way to indicate that that is specifically what you want to support. If you're an Ubuntu user, this is likely the most obvious choice.

Simon Peter is the primary developer of AppImages, who you can find here on Twitter. Some notable projects that utilise AppImage include the PS3 emulator RPCS3 and Krita. Again, there appears to be no direct way to support him financially, but you could always get in touch via his contact details on Github to find out what would be appropriate.

As for Flatpaks, I am unsure how you would go about donating. You can find more details about the community here.

No money? I would encourage using the packaging app of your choice and providing feedback on your experience in the relevant area. For AppImages, that's usually directly to the developers responsible for providing the AppImage. For Flatpaks and Snaps, you can get in touch with the providers of them via the store pages on Flathub or the Snapstore. Another way is to promote these methods to game developers as a potential avenue for releasing on Linux in a way that forgoes many of the pitfalls that relate to supporting multiple distros or the issue of long-term support.

Game Development Tools/Engines

These engines and tools provide game development tools that work across Windows, Mac and Linux. If you've ever thought of making yourself a game, I would suggest heading over to /r/gamedev for more detailed and informed advice, but at a glance these are some of the open-source projects that you may want to support.

  • Godot: As already mentioned in the Wine section, Godot a free and open-source game engine with an extremely permissive license and none of the royalty models that are attached to the likes of Unreal, supporting Godot helps promote a game engine designed to work on multiple platforms. You can donate here., or subscribe to their Patreon. Godot is managed - like Wine - by the SFC, so consider giving them some support.
  • Blender: A cross-platform 3D computer graphics tool for creating 3D- and 2D-related animated graphics, 3D models, animations, visual effects and more. You can the means for donation and support here. You can also pick up books, apparel and more from their store
  • Ren'Py: A bit of a personal pick, Ren'Py is an visual-novel engine that can help you develop visual novels. Some notable titles developed with Ren'Py include Analogue: A Hate Story, Doki Doki Literature Club and Magical Diary. You can support them by subscribing to their Patreon
  • GIMP: A raster-based image creation and editing tool. Supports a wide variety of image formats and plugins. Similar to Wine, GIMP does not raise its own funds but instead is financially supported by the GNOME Project, an open-source desktop environment that sponsors several projects. I'd recommend reading through how to go about donating here.
  • Krita: Krita is a raster-based image tool with more of a focus on digital painting and drawing. However, recently Krita has been proving itself in a number of other fronts and has grown tremendously. You can either donate here. And, while it is free to download, you could consider buying it for a low-price on Steam. You can also buy items from their store
  • Inkscape: a vector-based graphics editor. Focusing on SVG as the format, Inkscape allows you to create diagrams illustrations, graphs, sprites and line art that scale cleanly. You can donate here; Inkscape is currently managed by the SFC, so I'd recommend reading through the Wine section to learn more about what they do for projects like Inkscape.

Open-source games that accept donations.

Below are a couple of open-source games and gaming projects that either have been stalwart features of the Linux community for many years or are implementations that allow you to run fan-favourites from ye olde days in modern Linux environments. (Thanks to /u/infinite_move for the first three suggestions from the previous guide!). There are really a vast number of these, so please keep in mind that this is not an exhaustive list. You can find a list of various open-source Linux games here on Wikipedia. You can also find a fairly comprehensive list of game engine re-implementations here: https://en.wikipedia.org/wiki/List_of_game_engine_recreations.

I profess this is an area I'm not as familiar with, especially when it comes to game engine re-implmentations such as the recently announced new version of Julias for Caesar III and DevilutionX for Diablo, so if you have recommendations, please let me know!

  • Battle for Wesnoth: A grid-based, turn-based fantasy strategy game, offering both single-player and multiplayer options. It's been going for 15 years, and recently released on Steam (Still for free!). You can donate to the project here:

  • 0.AD: A 3D real-time strategy game featuring ancient civilisations. 0.AD is part of the Software in the Public Interest, a non-profit organisation sponsoring many open-source projects, such as LibreOffice, FFMpeg, Arch Linux and more. You can donate to 0.AD via various methods here.

  • SuperTuxKart: "SuperTuxKart is a 3D open-source arcade racer with a variety characters, tracks, and modes to play." I haven't played it, but many people have mentioned it as a great kart racer, in the vein of your Super Marios. You can donate to the project here.

  • Mindustry: Again, speaking from no experience, it appears to be a well-regarded Factorio-alike. You can find the game here where you can pay-what-you-want, or on Steam. for a small amount.

  • Endless Sky: I'm almost certain Endless Sky is older than 2015; I'm pretty sure I played a version of it in the mid-2000s? Unless I'm confusing it with another game. Anyway, it's a top-down Elite-alike; trade and fight your way through the stars. As for donation, there doesn't actually appear to be any way to donate to the project; but it is available on Steam so maybe ask there?

Some Personal Recommendations

These are a couple of my personal suggestions for support that could help grow the Linux community further, make transitioning to Linux easier or are simply cool projects that making gaming more widely available to everyone.

  • Your distro: Pay for the distro that serves as your main operating system. We know that one of the benefits of Linux is that it's free (as in free beer), and free (as in free speech) and is the sum of the community's effort. But money can help improve infrastructure, bolster resources and provide some flexibility in tackling problems. Each distro's particular donation method will differ, so review the options and decide what makes sense for you.

  • Open Broadcaster Software: Part of growing Linux is getting Linux in people's faces, and streaming is one of the most public ways you can demonstrate gaming on Linux working. Open Broadcaster Software (OBS) makes streaming to Twitch and other services easier, and comes with a host of options and plug-ins. You can find the ways to donate here. I really appreciate the transparency of expenses through the Open Collective, so you can clearly see where money donated there is being spent.

  • ScummVM: ScummVM replaces the game engines used by various games, primarily point-and-click adventures, allowing users to run them on modern hardware and operating systems, including OS that they weren't designed for (usually Linux). ScummVM has ensured the survival and resurrection of some hard-to-find, hard-to-run games, such as the critically acclaimed Blade Runner. You can donate directly at their site, or follow their GOG.com affialite link to buy ScummVM-supported games.

  • The Internet Archive: The Internet Archive is an online library that provides free access to various media alongside the Wayback Machine, a project that aims to archive the entire web. Notably, the past several years has seen several concerted gaming efforts, such as the MS-Dos archive, The Internet Arcade and the Console Living Room, all of which allow you to play these games in the browser. Whatever your distro, they should work just fine. The Internet Archive has also become the target of the publishing industry, who have sued them due to their removal of lending restrictions on books in their Open Library project, which was made available during the height of the Covid pandemic. This lawsuit has serious potential ramifications not only for the future of the Internet Archive, but digital lending in general. You can donate to the Archive here.

  • Crossover: CrossOver is Codeweaver's Wine implementation. It's Wine, but with a couple of tweaks of their own and a more user-friendly interface. Purchasing a year's license also comes with email support. While not perfect (and in some cases less flexible than Wine+Proton+DXVK+Etc), it's an easier method of getting that friend or family member to switch over and have a contact for assistance. I've not used Crossover at all, but they are active contributors to the Wine project and employ several of the Wine developers for the purpose of developing and improving Wine. You could also mention that the Codeweaver's have recently launched an additional service offering whereby they will provide development consulting to aspiring devs looking to port or package their apps in Wine for greater distribution. You can read more about it here

That's it for now. If you feel there's a project/detail/piece of information that needs to be added/corrected, let's hear it in the comments! I'll edit the post accordingly. And if you have any suggestions, let me know!

  • EDIT: Edited to address some minor typos and add a link for more detail to the lawsuit against the Internet Archive.

  • EDIT 2: Edited to incorporate some of the suggestions from the comments (heads up to /u/Dadrophenia for the Wine Staging mention, as well as /u/midget_3111 for OpenHMD). Adjusted the Open-source gaming to include a link to engine re-implementations - the list is too vast to include here in full). Thanks to /u/Monoverde888, /u/JkStudios and /u/Songandsilence3 for the other game suggestions. Also cut out Godot from the Wine section, as it felt unnecessary given it's inclusion in the Game Dev Tools section.



No comments:

Post a Comment