My thoughts on Slackware, life and everything

Category: Games (Page 3 of 4)

Steam for Linux Beta opens to everyone

 

The Steam for Linux beta program has just opened its doors to the general public.

When I looked, there were 48 games in the Steam catalogue, paid-for ans well as free-to-play. Part of opening up the Steam for Linux beta is moving their bug tracker to Github, which allows for a better interface than the old bugtracker which was used during the closed-beta phase.

Here is the official announcement:

An Early Holiday Gift!
added by Frank @ 01:13AM on December 20, 2012

The Steam for Linux beta program is now open to the public! In order to participate in the beta, you must download the latest Steam Linux client (found here) or upgrade your existing Steam for Linux client to the latest version. In addition, we will now track Steam for Linux client bugs using GitHub. This provides a better interface for tracking bugs than the forums used in the closed beta. The Steam for Linux repository (currently empty) is public, allowing anyone with a free GitHub account to create a new issue and edit or track it and search the existing bug database. The repository contains a readme file (README.md) detailing how to create a new issue (it describes the same format used in the closed beta). The team will continue working through existing issues in the forum but it is strongly recommended that any new issues be entered using GitHub’s issue tracking interface. The sub forums will remain open so that people can join/continue existing discussions about the Steam for Linux client. And last but not least, we now have a steam installer package repository. There is a mailing list for announcing updates to the steam installer package. To subscribe, use the public mailman page located here: https://list.valvesoftware.com/cgi-bin/mailman/listinfo/steamrepo. Here’s the change list for this release:

  • The Steam for Linux client closed beta transitioned to an open beta.
  • Linux – Fixed excessive CPU usage by the Steam client when running Team Fortress 2
  • Linux – Fixed overlay crash when starting Cubemen
  • Big Picture – Improved back navigation behavior throughout user interface
  • Big Picture – Added discount timers and other user interface to store

Remember, my Steam Client package for Slackware can be found here: http://www.slackware.com/~alien/slackbuilds/steamclient/ . I will have to look into the new installer repository to see if I have to update the download link for my own package but that may have to wait until the weekend.

This LinuxQuestions.org thread is still being used for discussions and bug reporting.

Cheers, Eric

Valve’s Steam client for Linux

notifyFor people who visit this page – it was written a long time ago. The requirements to run Steam on Slackware are a lot lighter nowadays! Most important: PulseAudio is no longer required!
All you need is a package for OpenAL (to play audio) and flashplayer-plugin (in order to watch the videos in the Steam Store).
If you are running 64-bit multilib you will also have to create and install “compat32? versions of the 32-bit OpenAL and flashplayer-plugin packages.
That’s all.

It was august 2012 when I wrote an article about the viability of commercial games on Linux. In particular, I was talking about the new Steam client for Linux which Valve Software was developing. Read that article now if you have not seen it yet, it will give insight as to where I stand with regard to the use of commercial software on Linux.

It took a while, and then Valve opened a limited Beta for their Steam client, inviting 1000 users at random, but targeting users of the Ubuntu distribution for obvious reasons: Valve wants to create a firm foothold in Linux now that they have “officially” denounced Windows 8 as a platform for which they will develop their software and games. Gabe Newell’s criticism of Windows 8 is well-known by now and in October of this year, Valve issued a similar statement during the Ubuntu Developer Summit.

And Ubuntu has the biggest potential user base for game fans – let’s face it, more people move from Windows to Ubuntu than to Slackware, so commercially Valve is doing the smart thing.

 

When the Beta program kicked off, people found out relatively fast that the Steam client had limited functionality, even for people who were not part of the initial beta. I quickly hacked together a set of instructions based on the tests I did.

Last week, the Steam for Linux Beta program opened up to a much wider audience and I received my invitation email as well (along with many more Slackers). It looks like there will not be any limitations at all after next week, so I decided to use a little of my holiday to properly package the Steam Client for Linux. Obviously, the client software is distributed as binary-only. Furthermore, it is 32-bit software and developed on Ubuntu. Nevertheless, it is not hard at all to run the Steam client on Slackware. I created a 32-bit package, see http://www.slackware.com/~alien/slackbuilds/steamclient/ , and added some additional instructions in a README.Slackware file:

The Steam client is primarily targeting Ubuntu, so in order to make it work
on Slackware, the package ships with a slightly modified steam startup script.

You will also have to install several dependencies:
  - pulseaudio
  - speex
  - json-c
  - OpenAL
  - flashplayer-plugin
These are all available as SlackBuild scripts on http://slackbuilds.org,
while OpenAL and flashplayer-plugin packages can be found in my own repository
at http://slackware.com/~alien/slackbuilds/ too.

Note that the Steam client currently is 32-bit only. If you are running a
64-bit Slackware you must add multilib capability to it first.
Then, you need to add several more 'compat32' packages. In addition to
'compat32' versions of the aforementioned dependencies, you also need to
install 'compat32' packages for:
  - flac
  - libogg
  - libvorbis
  - oxygen-gtk2

Note that before building pulseaudio, its README instructs you to create
a "pulse" user and group:
  # groupadd -g 216 pulse
  # useradd -u 216 -g pulse -d /var/lib/pulse -m pulse
However, there is no need to actually _start_ the pulseaudio server. You can
prevent this by running:
  # chmod -x /etc/rc.d/rc.pulseaudio
The Steam client is dynamically linked against pulseaudio libraries, but my
modification to the steam startup script will actually force it to use
Slackware's ALSA for audio output. Pulseaudio will not be used.

In order to run the Steam client you will probably need a Nvidia or Ati card
with proprietary drivers. I would like to hear from people who are able to
start Steam and play a game using open source drivers.

I have added the required dependency packages (including those required for multilib) in a separate “deps” directory of that steamclient package. Note that my old hacks of creating a symlink to the “/sbin/pidof” binary and exporting several variables is no longer needed, the steam start-up script does all of that now.

Installing the steamclient package, will get you a “Steam” icon in your desktop menu. Alternatively you can type “steam” in a terminal to start the client.You will see it downloading updates first, and then it allows you to connect to your Steam account.

 

When you are connected to your Steam account you will see the Steam Store and a “Linux” menu which is exclusive to the Linux client. You can of course do anything (purchases, community chat etc) which you would also do in the Windows client or the web interface.

You can then check out your own virtual “Library” which will contain the games you have purchased or which you could add because they are free to play. The Linux Beta shows two games here, the “Team Fortress Beta” which is an online shooter and “World of Goo Demo”, both of which are free.

Note that I modified the steam startup script to use ALSA as audio output. The pulseaudio libraries are required because the Steam binaries link against them but PulseAudio is not used for sound. Also note that if your default ALSA soundcard is not “hw:0,0” you may have to add one more variable. The AUDIODEV variable defines which audiodevice ALSA should use instead of “default”. You can set additional environment variables in a file” ~/.steam4slackware “. This is what I have in that file:

$ cat ~/.steam4slackware
export AUDIODEV=hw

This tells ALSA to use the first “hw” device available. The default value for AUDIODEV is “default”.

One more quirk was that I had to stop any program which was playing audio (like VLC) before starting the Steam client, or else the Steam games would not have sound…

Cheers, Eric

Commercial games and Linux

Almost two years ago I wrote an article about how the Open Source ecosystem can interact with commercial game developers.

I decided it was time to write an addendum to that post. Why?

Last month, Valve Software finally revealed that they are in the final stages of porting their Steam client to Linux, news that was highly anticipated after Phoronix mentioned this for the first time. This Steam client for Linux will be accompanied by the port of a tripe-A game: Left 4 Dead 2. Valve opened a dedicated Linux blog which was so swamped with enthousisast comments that they had to define a new comment policy. Great news and it deserves a great deal of respect.

Commercial enterprises getting themselves invoved with the Linux platform… that was bound to provoke reactions. And indeed , Richard Stallman wrote a post where he critizizes Valve’s effort. The core sentence there is “Nonfree game programs (like other nonfree programs) are unethical because they deny freedom to their users“. I beg your pardon?

I really wished he would have been able to distinguish between the GNU/Linux ecosystem and the applications which can be used on top of that. The two are separate, Richard!

I am of course well aware of the philosophy behind the GNU project. It has given us a wealth of first-class software and I agree that without GNU, we would not be free to choose the OS we want to run on our machines. I work for IBM, and I realize all to well how a total vendor lock-in can not only smother your clients, breed arrogance, but also cause that vendor to buckle as a result of its arrogance. Read http://en.wikipedia.org/wiki/History_of_IBM for instance – where you also find how IBM managed to re-invent itself and start committing itself wholesale to Linux by multi-billion dollar investments into the Linux developer scene.

But I am straying off the path here.

I have never been comfortable with zealots who claim that they alone hold the truth. Therefore, Stallman’s article made me sigh rather than angry – it was all so predictable. There is nothing unethical about earning money. There is also nothing unethical about earning money on the Linux platform. Look at Redhat, they made a billion dollars on Linux! People can be driven to great achievements but everyone’s motives are different. I am glad there is diversity. Valve is driven by a desire to produce a first-class game playing environment and create the games to match. That they want to earn money from their efforts is good. Triple-A games require a tremendous monetary multi-year investment. Too many well-respected game studios are closed these days because the financial returns are not making up for the investments. I want Valve to flourish, so that they give me the freedom to buy games that I like! Suppose for a second, that they would go bankrupt – that would take away a large potential for cool games. It would take away some of my freedom of choice.

Suppose they would cease their Linux involvement as a result of the opinions of people like Stallman. That would limit my freedom to play games on a platform of my choice. I do not want to have to install Windows to play my games.  I use Wine currently and that works well enough for Steam, Valve games, Diablo III and such block busters, but it would really help if we had native releases for Linux! It is a bit unfortunate that idsoftware’s John Carmack does not share Valve’s view on the viability of Linux as a gaming market, but really this is all about getting momentum. Someone had to decide to take the plunge. Nothing against John’s opinion, I respect him for all he does (in particular for opensourcing most of idsoftware’s previous game engines and games and doing great speeches) but I hope he will come back on his view sometime. We need these games to prove to people that Linux is not just for geeks. We need more game developers to take Linux seriously.

Oh… I am straying again.

I have different ideas of what defines “freedom” than Stallman has. I hope that the disaster called “Windows 8” will actually do Linux distros a favour by further diminishing the MS Windows market share, thus allowing growth of the Linux market share. Remember again why Windows 8 is bad? Or rather, what evil can result from Microsoft’s plans for Windows 8 on the ARM market? Read a bit about Secure Boot, you can start here: http://en.wikipedia.org/wiki/Windows_8#Secure_boot . Dual-booting Windows and Linux? No can do! Now there is a real example of limiting my freedom!

You see, the word “freedom” is not all there is to it. It can and will be used out of context in a zillion ways. What really matters, is freedom of choice. If you are really concerned about freedom, you should sign up for the news letters of the Electronic Frontier Foundation and support them in their cause.

I can’t wait to package, install and use the Linux Steam client on Slackware. In the meantime, I think I’ll watch a video about freedom from choice… come on, join me: http://www.youtube.com/watch?v=9jVoroHx3IU

Cheers, Eric

Installing Diablo 3 on Slackware Linux

Linux Today News has a headline “How to Install Diablo 3 on Linux” which points to the following article on SoftPedia: http://news.softpedia.com/news/How-to-Install-Diablo-3-on-Linux-273950.shtml .

I smiled for a bit, because I already have Diablo 3 running on my Slackware desktop for a few weeks now. And it did not take “PlayOnLinux” to do this.

  1. Install my wine  1.5.x and wine_gecko 1.5 packages. I have applied patches specifically to make the Diablo 3 installer work. Do not use my wine 1.4 package – that is the “stable” release which can probably play Diablo but can not install it.
  2. Run “winecfg” and configure wine to behave like a Windows 7 OS.
  3. Download the winetricks script, copy it to your /usr/local/bin directory and make it executable.
  4. Run “winetricks vcrun2008” in order to install the MS Visual C++ 2008 runtime  This will prevent application crashes when starting Diablo 3.
  5. Download the Diablo 3 setup from your Battle.Net account (assuming you already have an account and a Diablo 3 license). If you have a Diablo3 DVD then you mount that of course
  6. Run the setup using this example command (you may have downloaded another localization than enGB): “wine Diablo-III-Setup-enGB.exe” (if you have the DVD then you run the setup from the mounted directory).
  7. The setup will download about 8 GB of installation files and will then start the actual installation process.
  8. Once the installation has finished, you’ll see the big button “Play”. Click it to start the game.
  9. The game has been installed as a menu entry as well: below a top-level menu called “Wine”.

If you want to install Diablo into its own wine prefix (meaning it will get its own toplevel directory and thus cannot influence the functionality of other Windows programs you may have installed) then you need to add something like “WINEPREFIX=$HOME/.wine-diablo3/” in front of the above winedcfg and wine commands (you are free to pick any directory you like, mine is just an example); or just run “export WINEPREFIX=$HOME/.wine-diablo3/” once before starting the first wine command. The desktop menu entries which are created by the Diablo setup will automatically be configured to also use a custom wine prefix.

Using the wine-1.5.5 which I patched and packaged I could install Diablo 3 and play for hours without a single glitch. Well done wine developers!

Very good troubleshooting information about running Diablo 3 on Linux using wine can be found in the Diablo 3 appdb page on winehq.

Cheers, Eric

How opensource works for commercial game developers

The alien  preaches… about open source.

A typical example of an industry where people tend to “sit” on their intellectual property (IP) is game development. If you have a fantastic game concept and built a real good engine around it, it will potentially generate a lot of money for you and your publisher, as long as your game has an uniqueness or credibility that attracts potential players.

Because the process of development for a commercial triple-A kind of game may take years and millions of dollars of investment capital, it is no wonder that a game developer is not happy at all to let outsiders peek in their laboratory. Copy protection measures try to minimize the risk of pirating the software after it has been released, in order to lose as little of revenue as possible – highly anticipated games create their own demand market.

Now I totally agree with the fact that those game developers deserve to earn their money and pirating software is bad. If you create something beautiful for other people to enjoy, you are entitled to financial returns.

But, it is not set in stone that you have to sit on your properties in order to generate a good revenue!

Idlogo The prime example of this idea is idsoftware, the company that became famous with titles as Wolfenstein 3D and DOOM. Since the early days, the people at id Software have made parts of their games available for free (distributed as shareware) without limitations. This concept proved incredibly succesful thanks to the high quality of the games they release. People would download and play the shareware levels for free and then decide if it was worth the money to buy the complete game. This, and the vision of the code masters at id Software, made them to a game company that everybody respects and looks at to see how game engines evolve.

It was once considered a daring move to give away your games for free and trust your product’s quality so much that you expect people to buy it nevertheless. Nowadays, this is common and nobody thinks twice about releasing “demo” versions – but not so 15 or more years ago.

And id Software went one step further even. They made it a point to release the full source code to their games (excluding the copy-righted artwork and music) after a while, when the game had made enough money. With source code released under the GPL license, other people were able to modify and expand on it, and as a result we have seen DOOM, Hexen and other game ports and derivatives appear for Linux, handheld devices and more.

This in itself shows a lot of confidence in the quality of their code and the rapid adances the company makes with every iteration of their graphics and game engines. Their current games are always huge steps further than the code that is released for the older games. The fact that idsoftware cares for the Linux community shows through their Linux versions of several of their past games. The port to Linux is apparently relatively easy because of the program code’s high level of abstraction from the underlying operating system and even hardware. This is being inherited from the days of their DOS games. Id Software did their software development on UNIX (they used Silicon Graphic high-end workstations) and then built DOS versions to be released to the public.

While you can argue that releasing the source code of old software may be a gimmick, and old code is just that (old),  history actually proves that it has given them a lot of credit not only by fanatic followers of their games but also by” rival” game developing studios. Their commitment to open source is a shining beacon in commercial software development – not just game development.

And now this philosphy is actually paying off for them!

What happened? John Carmack, who is the lead developer at id, bought an iPhone (that piece of Apple hardware which is more gadget than phone) and decided that it would be fun to port a few of the old games to that device. The fact that people had picked up the original GPL-ed source code and improved on it, gave him a head start by using the code from Wolf3D Redux for the Wolfenstein game.Early 2009 they released it as an iPhone game. You can read more about the process here at Voodoo Extreme.

The DOOM port to iPhone went similar because code from the high-quality open source enhanced DOOM port: prboom could be re-used. The result is DOOM Classic for the iPhone, and you should go and read John Carmack’s developer blog about this particular port, it is highly entertaining.

The source code for the iPhone games Wolfenstein and DOOM Classic have been released, as required by the terms of the GPL. Isn’t this a perfect example of how commercial software development and the open source movement mutually benefit?

cacodemon

And yes: I have bought all the games of id Software that I’ve ever played, most often after enjoying the shareware version for a while. And to be homest, I have not bought a lot more games than those (I have the Half-Life boxes on my shelf, and Prey, and even those are derived from original id Software game engines).

Cheers, Eric

« Older posts Newer posts »

© 2024 Alien Pastures

Theme by Anders NorenUp ↑