ValveSoftware / SteamOS

SteamOS community tracker
1.52k stars 69 forks source link

Add support of Adobe AIR games #108

Open Zenitur opened 10 years ago

Zenitur commented 10 years ago

Problem: "Anodyne" and "Defender's Quest" games do not work in SteamOS. In Linux, these 2 games shows "xterm" window with the request to install Adobe AIR. It SteamOS with Big Picture mode these games shows white screen.

Solution: login with GNOME or press Ctrl-Alt-F1 and write:

wget http://airdownload.adobe.com/air/lin/download/2.6/adobeair.deb sudo dpkg -i adobeair.deb sudo apt-get -f install

Also you can add Adobe AIR in SteamOS repository if it is allowed by license (I don't know). To change signature of DEB package, repack it using commands similar to those commands to make amd64 DEB: http://thomas.deuling.org/2011/05/install-adobe-air-under-64bit-ubuntu/ These commands are not needed by Debian 7.0 because of multilib realization, but they can be used to change digital signature of package.

If Adobe AIR will be added it SteamOS, you can add some games that was released for Linux in Steam for Linux: Botanicula, McPixel and Canabalt.

Issue: some Adobe AIR applications (ICQ for Linux) can work only in GNOME2 and KDE4 due to using kwallet or gnome-keyring by Adobe AIR.

larsiusprime commented 10 years ago

Defender's Quest developer here. I have the same issue. Game runs fine in regular linux distros, I think the problem is caused by, among other things, the different user/password situation with SteamOS.

Plagman commented 10 years ago

Adobe AIR support is a problem as we can't pre-install nor run the interactive installer in the SteamOS session since it spawns several windows and wants the root password. Are Anodyne and Defender's Quest the only two titles currently on Steam for Linux depending on this?

MrSchism commented 10 years ago

The beta (temp- for kassidy) for Indie Game: The Movie requires AIR as well, which tells me that if if ever gets a full release, it will likely require it... unless Kassidy (whoever that is) manages to rebuild it from the ground up.

larsiusprime commented 10 years ago

My contractor, Alexander Sturm (@Ventero, https://github.com/Ventero) got Adobe AIR for linux working really well on regular linux distributions. He's created a really robust installer script that handles all the pain and suffering. On Linux Mint/debian/ubuntu, basically the user gets prompted once to deal with all the Adobe AIR crap, then it's installed and ready to go and the game launches.

This solution was originally created for Defender's Quest and it's since been used in basically every Adobe AIR for Linux game on Steam.

Maybe loop Alexander in on this conversation? We've not had success getting our solution to run on SteamOS because of the different permission/user setup, but he might have made some progress since I last checked.

(I can confirm that Indie Game the Movie uses it too. I've been in touch with Adam Saltsman about that, and Alexander has been working with him a lot).

Zenitur commented 10 years ago

Botanicula game is using portable version of Adobe AIR. Developers are using AIR SDK instead of AIR Toolkit. I found a link to do that: http://forums.adobe.com/thread/23483 http://spxnezzar.blogspot.ru/2009/09/adobe-air-gentoo.html

larsiusprime commented 10 years ago

Yup, @Ventero has been working on a fork of their Adobe AIR solution for some time now, and has added a lot of new features:

https://github.com/ventero/fresteamworks

Ventero commented 10 years ago

There is a way to install the Adobe AIR runtime without spawning any windows, simply by passing the -silent flag to the installer. The only problem with this is that the installer has to run with elevated privileges, which we can't easily get on SteamOS.

It would however allow you to pre-install AIR on SteamOS, as the silent installation happens without any user interaction. For more information, see http://help.adobe.com/en_US/air/redist/WS485a42d56cd19641-70d979a8124ef20a34b-8000.html#WS485a42d56cd19641-70d979a8124ef20a34b-7ffb (note that this only works when using the "normal" AIR installer - when installing the AIR runtime from the official deb packages, all AIR applications immediately exit when started because the user hasn't accepted the EULA yet, but when using the silent installer, the application asks the user to accept the EULA whenrun for the first time).

Installing AIR that way still requires some workarounds to get around weird dependencies of the AIR installer (e.g. it requires on libgnome-keyring/kwallet, which it can't find itself if installed on a 64-bit system). But we've already solved all these issues in our install script, so that shouldn't cause any problems. The only remaining problem I can see are possible licensing issues when redistributing the AIR runtime.

Ventero commented 10 years ago

Also, for reference, here's a list of all games I could find that use Adobe AIR. Those with an (L) have a Linux version published or in a private branch.

Defender's Quest (L) Anodyne (L) Indie Game: The Movie (L) Offspring Fling Incredipede Cubetractor The Basement Collection Realm of the Mad God McPixel The Banner Saga: Factions Lilly Looking Through (?) Tiny Thief

Mikaela commented 10 years ago

Did you know that Adobe Air isn't supported on Linux anymore and hasn't been in a while? According to Wikipedia Linux support was discontinued on version 2.6 and the latest version is 4.0.0.1390.

larsiusprime commented 10 years ago

@Mkaysi: We are PAINFULLY AWARE of this fact, and have been working around it for some time. I'm switching to Haxe for my next projects to get real first-class Linux support, but I still have to keep my old legacy games working, and other developers have similar needs.

Plagman commented 10 years ago

Alexander, thanks for that information. None of these technical problems look extremely scary and I'm sure we can solve them one way or another, but the licensing issue is the main problem here. I'll look into it and will update this bug when I know more.

frioux commented 7 years ago

Hate to be annoy but as a user this is still a bummer.