Posted April 09, 2020
vv221
./play.it developer
vv221 Sorry, data for given user is currently unavailable. Please, try again later. View profile View wishlist Start conversation Invite to friends Invite to friends Accept invitation Accept invitation Pending invitation... Unblock chat Registered: Dec 2012
From France
vv221
./play.it developer
vv221 Sorry, data for given user is currently unavailable. Please, try again later. View profile View wishlist Start conversation Invite to friends Invite to friends Accept invitation Accept invitation Pending invitation... Unblock chat Registered: Dec 2012
From France
Posted April 12, 2020
Link to Arch Linux wiki has been removed, as the article it pointed to does not exist any longer.
vv221
./play.it developer
vv221 Sorry, data for given user is currently unavailable. Please, try again later. View profile View wishlist Start conversation Invite to friends Invite to friends Accept invitation Accept invitation Pending invitation... Unblock chat Registered: Dec 2012
From France
Posted April 15, 2020
A link to an article on Ubuntu French documentation has been added to the opening post.
vv221
./play.it developer
vv221 Sorry, data for given user is currently unavailable. Please, try again later. View profile View wishlist Start conversation Invite to friends Invite to friends Accept invitation Accept invitation Pending invitation... Unblock chat Registered: Dec 2012
From France
Posted April 30, 2020
The link to the Ubuntu documentation has been updated, following a sneaky modification of the URL with no redirection.
vv221
./play.it developer
vv221 Sorry, data for given user is currently unavailable. Please, try again later. View profile View wishlist Start conversation Invite to friends Invite to friends Accept invitation Accept invitation Pending invitation... Unblock chat Registered: Dec 2012
From France
Posted May 10, 2020
./play.it 2.11.4 bugfix release
Hello World!
A new ./play.it release went live last night, and there was great rejoicing amongst all players using libre operating systems ;)
So let us see what this new 2.11.4 release brings with it…
Changelog
The modifications that this new version brings are published on the forge that is dedicated to ./play.it development, in release notes: 2.11.4 bugfix release
A copy follows:
Alongside this list of fixes, ./play.it website has been updated, the most important changes being the merge of the two domains www.dotslashplay.it and wiki.dotslashplay.it, as well as the addition of an English presentation of ./play.it.
This updated website, based on DokuWiki, is available in two languages:
• English version of the website
• French version of the website
In addition to this update to the software description, usage instructions have been reworked to make them less intimidating for newcomers. Here are examples served through archive.org that should make it easy to see the improvement:
• old instructions template
• new instructions template
This new template is still far from being applied for all supported games, but should be used by all future updates of the website.
Distributions documentation
Last noticeable improvement coming with this update, new documentation articles have been submitted to some distributions that provide a package to install ./play.it. These can be found on the following pages:
• Debian documentation, in English
• Debian documentation, in French
• Gentoo documentation (English only)
• Ubuntu documentation (French only)
Whatʼs next?
2.11.4 version should (hopefully) be the last of the 2.11.x series, the next release being 2.12, an update that is coming with quite a lot of new features. For the most curious (or most impatient) amongst you, this new version is under preparation on our forge: WIP: 2.12 release
This 2.12 version is probably the one that has spent most time under development, with features that got developed as far back as November 2018!
Hello World!
A new ./play.it release went live last night, and there was great rejoicing amongst all players using libre operating systems ;)
So let us see what this new 2.11.4 release brings with it…
Changelog
The modifications that this new version brings are published on the forge that is dedicated to ./play.it development, in release notes: 2.11.4 bugfix release
A copy follows:
• Throw an explicit error when trying to write a launcher for a missing binary
• Use safer find | while read constructs in prefix functions
• Drop avoidable spawning of subshell by organize_data
• Drop avoidable spawning of subshell by move_icons_to
• Ensure $PLAYIT_WORKDIR is always an absolute path
• ArchLinux: Fix bugs in dependencies handling
• Debian: Fix APT version detection with APT ≥ 2.0.0
• Debian: Enforce correct permissions for packages metadata
• Gentoo: Update download link for quickunpkg
Website update • Use safer find | while read constructs in prefix functions
• Drop avoidable spawning of subshell by organize_data
• Drop avoidable spawning of subshell by move_icons_to
• Ensure $PLAYIT_WORKDIR is always an absolute path
• ArchLinux: Fix bugs in dependencies handling
• Debian: Fix APT version detection with APT ≥ 2.0.0
• Debian: Enforce correct permissions for packages metadata
• Gentoo: Update download link for quickunpkg
Alongside this list of fixes, ./play.it website has been updated, the most important changes being the merge of the two domains www.dotslashplay.it and wiki.dotslashplay.it, as well as the addition of an English presentation of ./play.it.
This updated website, based on DokuWiki, is available in two languages:
• English version of the website
• French version of the website
In addition to this update to the software description, usage instructions have been reworked to make them less intimidating for newcomers. Here are examples served through archive.org that should make it easy to see the improvement:
• old instructions template
• new instructions template
This new template is still far from being applied for all supported games, but should be used by all future updates of the website.
Distributions documentation
Last noticeable improvement coming with this update, new documentation articles have been submitted to some distributions that provide a package to install ./play.it. These can be found on the following pages:
• Debian documentation, in English
• Debian documentation, in French
• Gentoo documentation (English only)
• Ubuntu documentation (French only)
Whatʼs next?
2.11.4 version should (hopefully) be the last of the 2.11.x series, the next release being 2.12, an update that is coming with quite a lot of new features. For the most curious (or most impatient) amongst you, this new version is under preparation on our forge: WIP: 2.12 release
This 2.12 version is probably the one that has spent most time under development, with features that got developed as far back as November 2018!
Post edited May 10, 2020 by vv221
Gede
GNU/Linux user
Gede Sorry, data for given user is currently unavailable. Please, try again later. View profile View wishlist Start conversation Invite to friends Invite to friends Accept invitation Accept invitation Pending invitation... Unblock chat Registered: Nov 2014
From Portugal
Posted June 10, 2020
Hello. First of all, thank you for your effort with ./play.it. I think I finally can find some time to take a better look at it, and hopefully present some feedback on your project from the eyes of someone who tries it for the first time.
When reading about your project, on the website, the first thing that comes to my mind is "why would I need this?" I think I had already mentioned this a while ago.
Lets be honest: we have Lutris, GameHub, Games Nebula as game installers and launchers, as well as adamhm's quite polished wrappers to create native packages. They all play ball in the same field as ./play.it, so this area is a bit crowded. And some of the projects I mentioned have pretty pictures and promise instant gratification. You can build the best of systems, but if you don't sell it well...
And it is not just the marketing I'm talking about. I am probably within the narrow target audience for ./play.it (a Linux user somewhat at ease with the system). I'm not even sure ./play.it provides the benefits I would expect from it. Devs should not expect users to put in the effort to learn their system so that they can understand if it suits them.
So please put in 15 or 20 minutes to correct this oversight add add a small list of benefits to using native packages for game installation to your website.
When reading about your project, on the website, the first thing that comes to my mind is "why would I need this?" I think I had already mentioned this a while ago.
Lets be honest: we have Lutris, GameHub, Games Nebula as game installers and launchers, as well as adamhm's quite polished wrappers to create native packages. They all play ball in the same field as ./play.it, so this area is a bit crowded. And some of the projects I mentioned have pretty pictures and promise instant gratification. You can build the best of systems, but if you don't sell it well...
And it is not just the marketing I'm talking about. I am probably within the narrow target audience for ./play.it (a Linux user somewhat at ease with the system). I'm not even sure ./play.it provides the benefits I would expect from it. Devs should not expect users to put in the effort to learn their system so that they can understand if it suits them.
So please put in 15 or 20 minutes to correct this oversight add add a small list of benefits to using native packages for game installation to your website.
wolfsite
Canadian
wolfsite Sorry, data for given user is currently unavailable. Please, try again later. View profile View wishlist Start conversation Invite to friends Invite to friends Accept invitation Accept invitation Pending invitation... Unblock chat Registered: Sep 2010
From Canada
Posted June 10, 2020
Gede: Hello. First of all, thank you for your effort with ./play.it. I think I finally can find some time to take a better look at it, and hopefully present some feedback on your project from the eyes of someone who tries it for the first time.
When reading about your project, on the website, the first thing that comes to my mind is "why would I need this?" I think I had already mentioned this a while ago.
Lets be honest: we have Lutris, GameHub, Games Nebula as game installers and launchers, as well as adamhm's quite polished wrappers to create native packages. They all play ball in the same field as ./play.it, so this area is a bit crowded. And some of the projects I mentioned have pretty pictures and promise instant gratification. You can build the best of systems, but if you don't sell it well...
And it is not just the marketing I'm talking about. I am probably within the narrow target audience for ./play.it (a Linux user somewhat at ease with the system). I'm not even sure ./play.it provides the benefits I would expect from it. Devs should not expect users to put in the effort to learn their system so that they can understand if it suits them.
So please put in 15 or 20 minutes to correct this oversight add add a small list of benefits to using native packages for game installation to your website.
Not all of those are 100% guarantee too work though. I have had a number of issues with Lutris getting stuck in an install loop with many games from GOG so I am unable to play a lot of games using Lutris because it just fails to correctly install them, even when it states it does have proper scripts/shells for those games. Plus some games are missing from a few of these options that you have listed. When reading about your project, on the website, the first thing that comes to my mind is "why would I need this?" I think I had already mentioned this a while ago.
Lets be honest: we have Lutris, GameHub, Games Nebula as game installers and launchers, as well as adamhm's quite polished wrappers to create native packages. They all play ball in the same field as ./play.it, so this area is a bit crowded. And some of the projects I mentioned have pretty pictures and promise instant gratification. You can build the best of systems, but if you don't sell it well...
And it is not just the marketing I'm talking about. I am probably within the narrow target audience for ./play.it (a Linux user somewhat at ease with the system). I'm not even sure ./play.it provides the benefits I would expect from it. Devs should not expect users to put in the effort to learn their system so that they can understand if it suits them.
So please put in 15 or 20 minutes to correct this oversight add add a small list of benefits to using native packages for game installation to your website.
Also I had an issue getting Mirror's Edge running and again Lutris, and Gamehub just failed at installing them properly but the ./play.it package worked.
So having more options to get games working in Linux always helps.
Post edited June 10, 2020 by wolfsite
Gede
GNU/Linux user
Gede Sorry, data for given user is currently unavailable. Please, try again later. View profile View wishlist Start conversation Invite to friends Invite to friends Accept invitation Accept invitation Pending invitation... Unblock chat Registered: Nov 2014
From Portugal
vv221
./play.it developer
vv221 Sorry, data for given user is currently unavailable. Please, try again later. View profile View wishlist Start conversation Invite to friends Invite to friends Accept invitation Accept invitation Pending invitation... Unblock chat Registered: Dec 2012
From France
Posted June 10, 2020
Gede: So please put in 15 or 20 minutes to correct this oversight add add a small list of benefits to using native packages for game installation to your website.
And without even knowing it, you found the glaring issue on this front: writing a good presentation is not something you can do in 15 or 20 minutes ;) The current presentation is actually the results of weeks of work (not joking here), that included the creation of articles in multiple languages, in the official documentation of multiple distributions (Arch Linux, Debian, Gentoo, Ubuntu) to gather feedback. Writing communication material is not an easy task, and I suffer from an unexpected handicap here: I know my software too well. By that I mean that there are a lot of things it does but I no longer see because they seem normal to me.
Your feedback tells me one main thing we need to work on: ./play.it is actually not similar to Lutris or any other game launchers, it is not even a launcher at all, but we do not convey this information like we should. I already spotted this issue, and tried to find a way to work on it, but as I do not use game clients (not even the obvious ones like Steam or Galaxy) it is a bit hard to do a comparison.
Actually I did it multiple times already, but I think only in French and never in a comprehensive way. The most important point to understand is: ./play.it does less than game clients do, and that is what makes it better.
A quick list form the top of my head of things ./play.it does not, and will never do:
• ./play.it does not download your games
• ./play.it does not keep track of your games collection
• ./play.it does not run your games
• ./play.it does not even install your games
• ./play.it is not required to run your games
In short, it makes only one single very focused task: taking a game installer in any messed-up format, and from it building a native package usable by your system tools (apt, pacman, emerge, …) to install your game with a perfect integration with your system.
This very clear-cut focus is the reason ./play.it often works when other software fails. Because other software have much more moving pieces that can break in unexpected ways.
Gede
GNU/Linux user
Gede Sorry, data for given user is currently unavailable. Please, try again later. View profile View wishlist Start conversation Invite to friends Invite to friends Accept invitation Accept invitation Pending invitation... Unblock chat Registered: Nov 2014
From Portugal
vv221
./play.it developer
vv221 Sorry, data for given user is currently unavailable. Please, try again later. View profile View wishlist Start conversation Invite to friends Invite to friends Accept invitation Accept invitation Pending invitation... Unblock chat Registered: Dec 2012
From France
Posted June 13, 2020
First of all, thanks for the verbos feedback, it is highly appreciated ;) I try to answer most of your points below, but I might have missed a couple (it is the middle of the night where I live).
Due to the length of my answer (and the pitiful state of GOG forums), I will have to split it in multiple messages.
As you can see, there is still something to fix before we can run more tests, and finally include it. Then there is still the information on the website to update. As you can see here and there, there are a lot of updates (including new supported games) that are already included in the current version of ./play.it, but are not advertised on the website yet.
You are not the only one, that is indeed a planned feature ;) Experimental support for unknown archives
Anyone with an account on our forge (registration is open to the public) can vote on feature proposals, we then use that to prioritize them.
Due to the length of my answer (and the pitiful state of GOG forums), I will have to split it in multiple messages.
Gede: I did notice the vast improvement on the website and the painstaking effort it must have taken. I also know that documentation is not exciting or glamorous to write. Yet I see that you recognize its importance. That is great. But, as you stated, your familiarity leaves you somewhat blinded to the experience of a new user and that is how I wanted to help: presenting feedback and questions that, hopefully, would lead to a better experience for future new users.
Actually I decided quite some time ago to no longer update this website, because we are working on a new one with a Web developer that joined our team one year ago. But as it actually takes a lot of time to get something really nice with no lost feature compared to the current website, I had to go back on this decision and work on a refreshed landing page. Gede: I did a short test with the game "140". This is how it went (some questions may be answered in the documentation and I have not reached it yet).
I have been experimenting a bit with a new template, that has not been applied to the 140 page yet. You can see how it looks on the following page that already got the rewrite: Icewind Dale - Enhanced Edition Gede: The GOG installer seems to be more recent than your package. The filename (and content) have changed. It was easy enough to update the name and hash of the file and it ran fine. It must be difficult to keep on top of this and I naively suppose most installer updates are minor and should not cause trouble.
Sadly, most updates are not that trivial so we need to test all of them carefuly, and that is where we need a lot of workforce. For 140, we have a proposed update here: WIP: Game update: 140 - new archive + documentation support As you can see, there is still something to fix before we can run more tests, and finally include it. Then there is still the information on the website to update. As you can see here and there, there are a lot of updates (including new supported games) that are already included in the current version of ./play.it, but are not advertised on the website yet.
You are not the only one, that is indeed a planned feature ;) Experimental support for unknown archives
Anyone with an account on our forge (registration is open to the public) can vote on feature proposals, we then use that to prioritize them.
vv221
./play.it developer
vv221 Sorry, data for given user is currently unavailable. Please, try again later. View profile View wishlist Start conversation Invite to friends Invite to friends Accept invitation Accept invitation Pending invitation... Unblock chat Registered: Dec 2012
From France
Posted June 13, 2020
Gede: Speaking of arguments, I wonder if there are any. Maybe using environment variables to change some behavior, like setting some prefixes? A casual look at the code showed none, but I'll look for it in the documentation. I just wanted to dive right in.
Actually you can call any ./play.it script with `--help`, and it will list all the supported options. If you run it without any argument and no supported installer is found in the current directory, it will display the help information too. Gede: In Arch Linux I noticed the result were two tar files. They were uncompressed, which I found curious. Still, when using ports I did find funny that the packages were compressed only to be immediately decompressed for installation, so that is not a problem. I can always compress them myself.
After some discussion, we decided to use no compression by default, as most people seem to build packages to install them on the same machine, not always keeping the packages. But for Arch Linux we support gzip, xz and bzip2 compression, and our next feature release should add support for zstd compression. See `--compression help`. Gede: But why two packages? One for code and one for assets. I can see that in games where the code is subject to frequent updates but the date is much more stable. But here, I'll have to regenerate both at every update, right?
We always try to build distinct packages for files that are architecture-specific (usually the engine) and for the ones that are shared between architectures (usually the assets). This is how most games are packaged in our distributions repositories. Gede: Taking another look at the documentation (I understand this is going long already), I wish there was a page explaining how it works from a high-level perspective. The game-specific pages are fairly repetitive and self-contained. That is good in that, if I care only about this one game, I get everything I need right there. I wonder if it is easy to ignore some information on purpose (after being an advanced user).
A more generic documentation is planned, the new website will replace the old one before it is ready. Gede: Also, I noticed that you were quite careful in using the actual filenames in the instructions. Why didn't you do that for point 4, where you provide the installation command?
Mostly because this pages are written by hand, a very time consuming task ;) The info about most file names I can get easily, but for the generated packages I need to generate it from multiple sources of information (game id, archive version, script version, etc.). I wish we had an option to pass to a script to display the packages it would generate, but no one worked on it yet. Gede: Oh, through the Alpha Centauri page I saw there can be command-line options. It is odd that I cannot find a shorter path to reach this page. Are some scripts (like the one for 140) still being updated to add support for these options?
Alpha Centauri support has not been updated in a looong time, it still relies on ./play.it 1.x, so these are the 1.x options you see. Our current version, 2.11.4, is not compatible with these.Gede
GNU/Linux user
Gede Sorry, data for given user is currently unavailable. Please, try again later. View profile View wishlist Start conversation Invite to friends Invite to friends Accept invitation Accept invitation Pending invitation... Unblock chat Registered: Nov 2014
From Portugal
Posted June 21, 2020
Hello. I greatly appreciate your time and effort in replying. And the forum is really moody, so this is attempt #2.
I thought the current website already looks quite well. I hope you are changing only for the sake of your convenience.
Of course, I don't mean to say every single game being the same. Not all Linux software on my distribution puts their config files in the same place; I want to say why don't they follow some sort of defacto standards? What sort of problems do you have to handle?
(I enjoy learning about this kind of explanation on project websites and I really think it helps bridge the gap between creators and users).
To handle the updates, I would propose that, when using a "--force" flag to ignore the hash, that you present an URL to the user and invite them to provide some feedback. But then again, maybe this addresses a problem you do not really have.
Another question I would like to ask (sorry, I did not have much time to look into this yet): how much work do you and adamhm share?
I thought the current website already looks quite well. I hope you are changing only for the sake of your convenience.
vv221: Sadly, most updates are not that trivial so we need to test all of them carefuly, and that is where we need a lot of workforce.
I also wonder how different are the games, and what makes them so unique in their packaging (and installation). Do you have anything written that you can point me towards where I can learn about it? Of course, I don't mean to say every single game being the same. Not all Linux software on my distribution puts their config files in the same place; I want to say why don't they follow some sort of defacto standards? What sort of problems do you have to handle?
(I enjoy learning about this kind of explanation on project websites and I really think it helps bridge the gap between creators and users).
To handle the updates, I would propose that, when using a "--force" flag to ignore the hash, that you present an URL to the user and invite them to provide some feedback. But then again, maybe this addresses a problem you do not really have.
Another question I would like to ask (sorry, I did not have much time to look into this yet): how much work do you and adamhm share?
Gede
GNU/Linux user
Gede Sorry, data for given user is currently unavailable. Please, try again later. View profile View wishlist Start conversation Invite to friends Invite to friends Accept invitation Accept invitation Pending invitation... Unblock chat Registered: Nov 2014
From Portugal
Posted June 21, 2020
This is what I would like to do on my system, and I would like to request some feedback from the community, to see if ./play.it could help with it.
GOG seems to dump the game contents into a contained directory. This is in contrast with "native packages" that distros and ./play.it create.
What I would like to make is to transform this installation into a squashfs archive. The good that comes from it is:
- it is compressed quite well (I can tune the size/speed tradeof by choosing the compression algorithm used), so I can have more games installed in the same space
- one game is one file; it is easier to manage, archive and move across computers
- (consequence of the above:) I could pretty much forget about re-installing games; game and installer are just one; I could archive locally just this file instead of the GOG installers. When I want to play a game I could play them directly from my archive disk for faster startup. Always ready to go!
There are bad things too:
- These files are read-only
- There can be no space saving through de-duplication of files
I am currently using an union/overlay filesystem to address the read-only issue. This way I can keep my configs and saves whenever I need to reclaim disk space. And whenever I pop the game back in, all the saves are there. And if I want to get rid of them, I just remove a directory recursively.
So far I'm using FUSE for a userspace-only approach. But I'm thinking of using firejail, since it provides isolation of the filesystem and can disable the network (I read some games phone home and I'm a bit paranoid some times).
Could ./play.it support a squashfs backend? Would there be any gain for me from using ./play.it to support this system?
GOG seems to dump the game contents into a contained directory. This is in contrast with "native packages" that distros and ./play.it create.
What I would like to make is to transform this installation into a squashfs archive. The good that comes from it is:
- it is compressed quite well (I can tune the size/speed tradeof by choosing the compression algorithm used), so I can have more games installed in the same space
- one game is one file; it is easier to manage, archive and move across computers
- (consequence of the above:) I could pretty much forget about re-installing games; game and installer are just one; I could archive locally just this file instead of the GOG installers. When I want to play a game I could play them directly from my archive disk for faster startup. Always ready to go!
There are bad things too:
- These files are read-only
- There can be no space saving through de-duplication of files
I am currently using an union/overlay filesystem to address the read-only issue. This way I can keep my configs and saves whenever I need to reclaim disk space. And whenever I pop the game back in, all the saves are there. And if I want to get rid of them, I just remove a directory recursively.
So far I'm using FUSE for a userspace-only approach. But I'm thinking of using firejail, since it provides isolation of the filesystem and can disable the network (I read some games phone home and I'm a bit paranoid some times).
Could ./play.it support a squashfs backend? Would there be any gain for me from using ./play.it to support this system?
vv221
./play.it developer
vv221 Sorry, data for given user is currently unavailable. Please, try again later. View profile View wishlist Start conversation Invite to friends Invite to friends Accept invitation Accept invitation Pending invitation... Unblock chat Registered: Dec 2012
From France
Posted June 21, 2020
Gede: I also wonder how different are the games, and what makes them so unique in their packaging (and installation). Do you have anything written that you can point me towards where I can learn about it?
Of course, I don't mean to say every single game being the same. Not all Linux software on my distribution puts their config files in the same place; I want to say why don't they follow some sort of defacto standards? What sort of problems do you have to handle?
(I enjoy learning about this kind of explanation on project websites and I really think it helps bridge the gap between creators and users).
To make it short: on Linux, there are standards. Game developers do not follow them. *How* they do not follow them is what change from a game to another ;) Of course, I don't mean to say every single game being the same. Not all Linux software on my distribution puts their config files in the same place; I want to say why don't they follow some sort of defacto standards? What sort of problems do you have to handle?
(I enjoy learning about this kind of explanation on project websites and I really think it helps bridge the gap between creators and users).
Sadly we have no "database" of all the ugly things we encounter, but between ./play.it contributors and enthusiasts we often share our horror stories via our IRC channel.
Gede: Another question I would like to ask (sorry, I did not have much time to look into this yet): how much work do you and adamhm share?
Almost nothing, our methods are very different. But I tend to give a very low priority to games that are already supported by Adamhm’s wrappers, I think it is better to focus on games that currently have no easy installation process for Linux. Still, since we both use WINE, any bug fixed thanks to one of our projects will benefit to all other projects relying on WINE. So we benefit from the work of others event if we don’t dedicate time to coordination.
In the early days of ./play.it, using an overlay on top of read-only game data was a serious option. But in the end we dropped it in favour of our custom prefix system based on symbolic links between shared read-only data, and user-specific writable files and directories.
I think you could base your work on ./play.it in a quite simple way: adding the squashfs archive as a supported output format, in addition to the native packages we already support. The main upsides being:
• you would benefit from our existing games library
• our users base would help spotting bugs quicker than if you work alone
• a lot of games need workarounds to avoid crashes or unexpected behaviours, ./play.it already includes a lot of these
• we already maintain a list of files the user need write access to for each game