Left 4 Dead Demo Includes Linux Steam Client Libraries
SheeEttin writes "If you've been longing to play games from Steam on your Linux machine, you may not have to wait much longer — the Left 4 Dead demo includes some Linux libraries, in particular, one named 'steamclient_linux.so.' While the game's full release does not include these libraries, their apparently accidental inclusion in the demo suggests that Steam games will have native Linux clients in the near future. (A job listing at Valve looking for someone whose responsibilities would include 'Port[ing] Windows-based games to the Linux platform' would seem to support this.) The libraries also include several strings nonessential to a pure server, including references to forgotten passwords. Hopefully, this indicates that at least some Valve-affiliated games will have native Linux clients."
steamclient_linux.so is used by the dedicated linux servers to connect to steam and check for updates and such, it was probably just included by mistake..
Just because the Steam client may run native Linux doesn't mean that games will.
I'd be surprised if the first offerings were more than the few games that will run under wine bundled with wine.
And a game running under wine doesn't become a Linux game. Sorry, no.
I don't doubt that Valve has investigated the possibility of a native Linux client. However, Phoronix doesn't seem to be looking in the right places. Let's go through what they brought up from the perspective of someone who is familiar with the Source engine:
steamclient_linux.so - this is the ONLY interesting file. I have a sneaking suspicion, though, that a majority is stubbed out and this is a remnant of the port of L4D to Steamworks - it uses a more generic library layout to work with any application, not tightly integrated with Source as before. Perhaps the server uses some functions in it to connect to the Steam master servers. That would explain why they only found it to be about half the size of the Windows version.
studiorender_i486.so - Valve calls their 3D model format a "studio model." I'm fairly certain that this file is stubbed out and only the model loader is available - the physics engine needs it to get at mesh data.
vstdlib_i486.so - Valve's standard libraries. Routines and classes used throughout the engine. No surprise, it's been shipping as long as the dedicated server has.
libsteam_api_linux.so - The API into Steam. Again, probably a Steamworks artifact. Again, perhaps part is used by the dedicated server.
engine_i486.so - core engine functionality. Anything that isn't factored out into another library (there are about 45) exists in here. I'm fairly sure that typically, left4dead.exe connects to Steam, then loads this library to make stuff happen. Core client and server code (operation, not logic) is in here.
Unfortunately, I have since removed the demo from my computer (bought the actual game, well worth it) and can't investigate these files any further. I don't think this is 100% indicative of Valve having a Linux client ready, but rather extreme extrapolation on Phoronix's part. I'm completely with them on wanting a client though.
ROMANES EUNT DOMUS
Why be such an asshole?
Are you so insecure than you can only feel good about yourself by insulting others?
Poor little man.
libsteam_api_linux.so
libsteamvalidateuseridtickets_i486.so
libtier0_s_linux.so
I noticed this within the first hour after the demo came out while adjusting the configuration files.
However, I was more surprised with the file:
C:\Program files\Steam\SteamApps\Common\left 4 dead demo\left4dead\cfg\splitscreen_on.cfg:
I thought "WTF!? Splitscreen on the PC???". Doesn't do much, since it's disabled, but it's worth pointing out.
Some developers are using CIDER to bring games to OSX, and I'm afraid I don't really see the problem with that. Whether or not it's "native" is somewhat a matter of what you mean by "native", since it's certainly not emulation. Relying on WINE isn't too far different from relying on a set of libraries that happen to not be installed by default.
And when you run things on WINE, they run pretty fast and stable. You don't need to rely on Codeweavers, since they could simply test to make sure their software runs on the default install of WINE. It'd be one option for developers to provide cross-platform compatibility even if their primary development platform is Windows.
Now I agree that, ideally, everyone would do real cross-platform development and make their games completely native on Linux and OSX as well. I'm just saying that if software developers are finding that it requires too much additional resources to do that outright, developing with WINE compatibility in mind might be a good middle-ground.
If you run Steam through WINE and use Gecko as the HTML renderer, performance is much improved. The whole store feels lightning fast.
If they did the same with their Linux version and perhaps used Gecko on Windows as well, maybe they could fix that problem.