Hacker News new | past | comments | ask | show | jobs | submit login
Steam for Linux Beta is now open to the public (steamcommunity.com)
206 points by Nathandim on Dec 20, 2012 | hide | past | favorite | 74 comments



Interesting that they're using GitHub for issue tracking, although there's no actual code in the repo: https://github.com/ValveSoftware/steam-for-linux/issues


I've seen this quite a bit recently. It's a hack but it's a quick way to get a public-facing issue tracker out there.

Are there any better solutions for getting a tracker set up easily where non-contributors can raise bugs and discuss feature requests?


http://launchpad.net has a bug tracker and a blueprints function.


Can only say one thing about Launchpad, "ew". It has a horrible UI.


One pitfall of open source is that it's sometimes made by people smarter than its users for people smarter than its users.


Speaking as someone who has to use it everyday, the horrible UI is the least of its problems.


Care to elaborate a bit on that?


Yeah, the UI is pretty terrible. The only worse UI I can think of is github's.


It's actually a pretty nice idea. Since the wiki and issues tabs are already optional features, perhaps the "Code" tab should be optional too.


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.


What black magic do they use to make the games run under Linux? Wine?

Are all Steam games now compatible with Linux, or only a few titles that the developers are willing to support Linux? Is there a list anywhere?


The latter. I suspect the list will be similar to the list of games that work on Mac. It's a small subset, but it's growing.


There's a list, found here: http://store.steampowered.com/search/?os=linux

Very few games are compatible, but Team Fortress 2 is one of them.


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!


I don't think they ever ported HL1 to Mac, though, so I wouldn't hold my breath for a Linux version. :(


Weird that they never even gave OSX Half-Life: Source.


And Amnesia, which was already supported -.-

Left4Dead was also going to be available, not sure what happened.


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.


> though all games in the Humble Indie Bundles support Linux > so hopefully they are added to Steam soon

Darn. This what I'm waiting for as most of my games are from humblebundle. Well at least uplink+defcon should work :)


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.


> so hopefully they are added to Steam soon

Many are already available.


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).


TF2 also has microtransactions so it will also earn them money in the short AND long run as well.

Quite a smart business decision and I'm glad they brought TF2 over - I always thought this would be the first game to publicly release.


It was also the first game they brought over for the mac port, though I think that was before the in-game store.


Wasn't that Portal, which I got for free at that time?


The games are native ports, according to their Linux blog.


So far. Nothing stops game publishers from shipping a Windows game with Wine strapped on the side if it results in a working game.


I'm not much of a gamer, but I thought I'd give this a go on my Debian amd64 system. However the package is i386 only, so it won't install.

Are they planning to support amd64 too?


It doesn't work for me. Still saying it's a closed beta.


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 did that. For some reason I also had to delete ~.steam and ~.local/share/Steam and start from scratch to be able to log in.


Just in time for my new Ubuntu install.


Holy EULA, Batman.


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.


They'd have issues with their DRM doing that.

They should ship the Steam binaries properly through apt and yum repositories, but I doubt that they'll ever ship the games that way.


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.


The libraries can be installed from steam packages as well.


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.


The problem with this is that with many steam games (such as TF2) the game data itself updates constantly aswell.


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.


That "ideal" solution would only work on deb based distros.


Wrong, you could easily create similar repositories for other package management systems.


At some point they need a downloadable installer, if only for e.g. gentoo or slackware.


Not for Gentoo, which has overlays[0]. Slackware would be the exception, as it has no de facto package management solution.

0: http://www.gentoo.org/proj/en/overlays/userguide.xml


Well, the overlay needs to download something as well. So my point remains, I think.


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].

0: https://aur.archlinux.org/packages/steam/


it's best to think of steam as a new package manager for games, the same way you would have ruby gems or npm packages.


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.

The way they're doing it now is plain unclean.


how is it irrelivant? if people are wanting games and stuff to be distributed through the package manager, all these issues very much apply.

Even the steam client package itself is something like 100megs, so it becomes painful without diff/delta patches. (steam updates a LOT)


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.

The more packages managed by the system, the better. Ideally, you'd want the games, too, but I understand why Valve might not like that.

Using the unclean alternative when there's a clean one that's just as good isn't a good decision, in my opinion.


"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.


>Steam has a package so dependancies can be satisfied easily without resorting to "install xyz beforehand",

This isn't even true. The deb has dependencies just like any other DEB you'd get through apt-get. That's... kinda the point of package management...


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.


This isn't directed at you, but that sounds like exactly what I'd expect of someone who doesn't understand the point of package managers.


Package managers need better support for installing under a user.


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.


After looking more it appears that I was doing something that only works when targetting a chroot environment. My mistake.

It would be interesting to think more about user-level applications and how that sort of trust would work, if it could.


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.

[1] http://steamcommunity.com/app/221410/discussions/0/846940247... [2] http://steamcommunity.com/app/221410/discussions/1/846940247... [3] http://steamcommunity.com/app/221410/discussions/0/882965118...


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...


So I thought I'd try and see what the score is:

TF2 is 12.0 GB ... damn, that's hefty.

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.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: