Yea, i was a bit interested by that too. Probably already use it internally for other projects, and if they've integrated their internal tools with the GitHub API, it's a no-brainier.
Hopefully id get all their old games up on that list soon, they put in a lot of effort over the years when not many others were, a shame that changed recently though.
I'm interested in TF2 and Red Orchestra but look forward to my old favs...HL and HL2! I might even buy a new system so I can play the whole L4D series too!
My understanding is that the plan is for all Valve Source Engine games are going to be ported (and should be relatively simple now that TF2 is working).
Everything else is up to the various game studios, though all games in the Humble Indie Bundles support Linux so hopefully they are added to Steam soon.
uplink works. defcon doesn't, unless you some manual "patching" (download the demo, fire up defcon in wine/windows to get your steam key, activate it on linux). It'll eventually come though.
My impression was that they started the project by porting Left4Dead, but decided to release TF2 (probably because it's F2P and so anyone can test it).
You need to update the client to fix that. Easiest way to do this is to evade the beta check (start steam with "steam steam://store"), then choose "steam/check for steam client updates" from the title menu.
I'm not 100% sure why they have a "repo" for an "installer". It sort of rather defeats the purpose. If they're going to do that, just put the client in a DEB and put that in the repo. At this point I see no reason in adding the repo to apt.
Either way, it'll get sorted, Steam for Linux is already quite great. Still can't get over that TF2 runs better in a window in Linux than I've ever had it run in Windows.
> I'm not 100% sure why they have a "repo" for an "installer". It sort of rather defeats the purpose.
It's because they don't really grasp yet how these things work on Linux. Which is understandable, since they're coming from a Windows world, where package management has to be done manually. So the Steam executable you download is an installer that downloads/installs the Steam package manager, which then downloads/maintains the games.
Ideally, all the Steam Linux games would be maintained in APT repositories and you would update them through APT, but I don't know if that will ever happen. At least this is better than nothing at all.
I don't see why. If the Steam-DRM'd version of a game requires Steam installed in order to play, they can just add the Steam package as a dependency.
Possibly a bigger issue would be that Steam has incremental updates (fixing a bug in a game requires downloading a fixed binary but not the multi-gigabyte data files) while most Linux package managers do not support incremental updates (when Debian releases a new LibreOffice package that fixes some dependencies for the s360 archictecture, I still have to download hundreds of megabytes of changes on amd64).
There is also the issue that a Steam game may have dependencies on different versions of certain libraries than those which may be shipped with popular distros. You also have to think about people with custom PPAs etc.
I think it makes sense for Steam to be isolated from the rest of the system as much as possible.
It is also helpful to Valve if it is as consistent with Steam on other platforms as possible.
Game downloads can be pretty big and take a while too, I'd rather not have apt locked for an hour while it grabs some large game update.
In Linux game packaging, this issue is often resolved by having a separate package for game data. This is also a neat workaround for licensing differences. For example Quake 3 is now open source, but the game data is still under commercial license. Distributions now offer just the game binaries built from the source and you have to buy the data yourself.
I remember when Steam was first launched for Mac; Valve decided to pop all the games' assets and support files into a folder in ~/Documents. It took a few days to explain to them that this probably wasn't the best place to dump a few GB of files.
A lot of people's backups suddenly grew rather large.
No, it doesn't. I don't think that you understand how an overlay works. You run a command or modify a configuration file to add the overlay. Then you can install any packages in that overlay. Those packages would be the games.
The package manager on Windows (Steam) isn't needed on Linux because there's already a native package manager on the majority of distros. In fact, you can already buy games through the Ubuntu package manager. I believe they're in a separate, "partners" repository. Steam should just be another repository like that.
So if they "do not grasp yet how things work on Linux", Why they are not meeting Canonical guys and get some help? I believe they do things as they do now is they are looking forward for interoperability with other distros in their own way.
> I believe they do things as they do now is they are looking forward for interoperability with other distros in their own way.
Well, it's not working very well, since only Debian-based distros can directly install the software. And those distros could just add a repository anyway.
Other distros, like Arch, are forced to create workarounds, such as scripts that download and extract the .deb[0].
Steam has a package so dependancies can be satisfied easily without resorting to "install xyz beforehand", and it runs an installer into your home folder because the user has to be able to modify the games directory for many, many games on steam, because stuff like configuration, custom maps, custom models etc, is stored alongside everything else.
Also steam has diff based patching (which requires accress from whoever is running the steam binary) which makes a lot more sense than how package managers operate for large packages, imagine downloading an entire 20 gig game every time there was a minor bugfix, it would be very obnoxious.
Unless the design of both package managers, and how steam games store settings/etc both change radically, this really is the only workable solution.
Luckily, you will still be able to share steam folders cross user, just simply give both users read/write access to the folder.
This is irrelevant. They can add the Steam binary to their own PPA and update it as they update the client now. Steam will be able to do all those thing, like every single program in Linux can, while being installed as a system package.
I'm only talking about handling Steam updates, I agree with you on game updates. However, the Steam client can still access the user's home directory and create/access game data there, as all Linux apps do, so the current way of having Steam dump its binaries at the home dir is unclean.
Pretty much the only valid point is having to update the whole thing every release, but I've never seen the Steam client download an update that was less than 75 MB.
the issue is, if you have a cluster of games/etc managed by steam in your home directory that is already not under the control of package management, what do you gain by splitting out the steam client itself? it is easier from valve's perspective to just allow steam to manage its own updates along with everything else it manages, than to have a rather arbitrary split that gives you no real advantages anyways.
Steam has always been designed on both osx and windows to be a portable folder that you can move around from system to system and run stuff out of wihout worrying about installers and dependancies.
"By that reasoning, if you have one package on your system that's not managed by the package manager, you should discard the package manager entirely."
No?
Something like "I want to play TF2, so I should update Steam and TF2" is a reasonably common thing and it makes sense to want one thing to handle both of them.
"You should discard the package manager entirely" does not follow from that.
You don't need to update Steam to play TF2 any more than you need to update Gnome to play TF2. By your reasoning, if you should need to update Steam to play TF2, and therefore need to keep Steam out of the package manager, you should also update Gnome, and therefore keep it out of the package manager, as well as the kernel, and pretty much every other package, just to play TF2.
Ergo, "you should discard the package manager entirely".
Steam is separate from the games, it's just an installer. You can play (and update) the games without the installer, therefore at least Steam should be a managed package.
"and therefore keep it out of the package manager"
That is not much like my reasoning. Taking something out of the package manager does not generally make it so that it is taken care of by the same thing that takes care of TF2 being up to date. Making Steam handle Steam updates does.
Once you have introduced Steam as a thing that handles updates for you, moving Steam updates from package manager to Steam is clearly not exactly the same issue as removing things from the package manager in general.
(I mean, it sort of is if "the package manager should handle as many things as possible" is your goal. It is not if "as few things as possible should handle package manager-like things" is your goal.)
> if you have a cluster of games/etc managed by steam in your home directory that is already not under the control of package management, what do you gain by splitting out the steam client itself?
The same thing you gain from every other linux package that has a globally installed application with per-user configuration? which is... every single other application in the entire linux world?
>Steam has always been designed on both osx and windows to be a portable folder that you can move around from system to system and run stuff out of wihout worrying about installers and dependancies.
Huh? Are you familiar with Linux? You can move/copy your home dir, reinstall the package-managed binary and it "just works". That is the best definition of portable, far better than copy-pasting a "Program Files" directory between machines and crossing your fingers. Again, I've yet to hear a technical reason that we can't have /usr/bin/steam and ~/.steam/<steamapps> like every other Linux application does.
No. He means using a deb with a packaging system will install those dependencies automatically. Otherwise it would be the instructions to manually 'install xyz beforehand'.
The Steam executable, libraries, data files, and games install with user permissions. This way games can install and update, and Steam itself can auto-update, without privledge escalation. Windows and Mac versions behave this way.
There is a launcher script that is installed in /usr/bin/steam. There was strong feedback from users that updating this script should belong to the system package manager. This is why the repo exists - so this script can be updated and managed by the system package manager.
1. I don't see a reason for Steam to be installed per-user. (First, the client ought to be a standard binary/assets that can be shared between users. Second, the games should too, though I know games currently are per-Steam-user in Windows anyway so I understand that game installs would be installed per-User, but that can easily be done by a globally installed Steam executable).
2. I'm pretty sure path prefixes can be used and the same set of pkg management tools can be used to install in user land. I've done it in the past into an env I was chrooting and minifying to power a picture frame.
path prefixes only generally apply to ./configure scripts when you are generating makefiles.
As paths to libs and stuff are hardcoded as part of the ELF spec, it becomes difficult to implement something like this and ive not seen a package manager that can do it.
theoreticly you could work around the library/datafile issues with LD_PRELOAD hacks to make it load stuff from your home directory instead, but thats pretty awful.
that is because they are keeping themselves open to have a Steam packaging format.
It is something I have always bet that they will eventually do - once they see the number of support questions by people who have some sort of dependency problems (e.g [1], [2] and [3]).
I wonder how long will it take for them to latch on to something like Zeroinstall or nix.
No, I understand not distributing the games in DEB form, but what's the point of versioning an installer that then goes and downloads the latest version of the client? Just put the client in the repo...
This had better be the richest, smoothest, highest quality game; feature rich and expansive. That is about 11GB bigger than any [single] thing I've ever downloaded before. Estimated download completion time ... Christmas.