Lutris' blog

Archive for September, 2010

Day 22 : Soulcalibur on Dreamcast (1999)

by on Sep.23, 2010, under lutris

Thing are getting serious and we are entering the more recent gaming world. Soulcalibur is a great fighting game and great graphics even by today’s standard. It’s a shame that I didn’t get to play the Sega Dreamcast more in the past, it was a great console, it was even able to run Linux ! Unfortunately, the opposite is not true, there is no way to run Sega Dreamcast games natively on Linux. You might correct me and say that lxdream exists but doesn’t provide a good gaming experience, and Lutris is all about the best gaming experience I can bring !  Nevertheless, Lxdream is making progress and when the speed and sound issues get fixed, I’m sure it will find its place as the main Dreamcast emulator in Lutris. Meanwhile, we’re going to run nullDC, a windows emulator, through Wine. I have a good and a bad news concerning nullDC. The good news is that nullDC is now Open Source ! The bad news is that the Open Source version uses Visual C++ 2010 libraries and it’s currently not compatible with wine … I can only hope that lxdream developers will have a look at nullDC’s code and merge both to bring a kick ass emulator. (Sadly, emulator developers are known for forking, not for merging.)

With an incompatible 1.0.4 version, we’ll have to stick to the 1.0.3 version which runs quite well with Wine. It’s still a pain to get all the right dlls and configuration. I’ve decided to be nice and provide my own copy of nullDC 1.0.3. This archive contains the binaries, the aditionnal dlls needed to run the program and a good config file but I’ve deleted every BIOS files so you’ll have to get them yourselves.

Now that you all have the emulator, let’s talk about lutris. The work that I’ve done in the past few days has been *very* helpful for the nulldc runner. Steam is also a wine-based runner so a few lines of codes were directly taken from it. The compiz fullscreen option is *really* helpful because the emulator’s fullscreen just doesn’t work (type ‘nullDC’ in the option’s field). The only new thing I’ve added in Lutris for nullDC is joy2key support. nullDC doesn’t support joysticks and nodody would want to play Soulcalibur on a keyboard, right ?

The joy2key works out of the box (as long as you’ve installed it before hand, I’ll mark it as a dependency in the next .deb package). I’ve hardcoded the keys because I’ve yet to write a GUI interface to configure joypads but it works fine on my USB  converted Sony Dual Shock.

The fullscreen mode is not perfect. You either can launch wine without a virtual desktop and hide gnome-panel and you have a 25px space below the window or you can activate the virtual desktop and you get Windows’ window border. In both case you still have nullDC’s menu bar which is quite annoying.

The sound isn’t perfect either. If you launch nullDC and the sound stutters and cracks, I advise you to check the Reset Pulseaudio option and restart the emulator (this will mess up your currently running apps that use audio, like Rhythmbox and Flash Player in Firefox). Most of the time I’ve found the sound to be quite smooth and good quality.

Yes, running nullDC is quite complicated if you try it by yourself but fortunately, Lutris helps a lot here. It’s nice to have Soulcalibur a double click away and have it fullscreen, with good sound and joypad support. Oh, and before someone asks, no, there has been nothing done to support multiplayer in any runner on Lutris. The upcoming version 0.33 is for loners only but don’t worry, social gaming will arrive soon ;)

Soulcalibur versus vim, who will win ?

Soulcalibur versus vim, who will win ?

2 Comments more...

Day 21 : Half-Life on Steam (1998)

by on Sep.20, 2010, under lutris

Lutris aims to be a Free software replacement for the Windows software steam. But in order to be complete, I have to support Steam itself ! There’s a lot to be done to fully support Steam but some progress as been made and it’s now possible to run Steam based games from Lutris. Of course, since Steam depends on Wine, you get all wine options in the runner’s configuration.

In the last post, i’ve talked about fullscreen windows. And now I’ve added more fullscreen support for Wine with an option to configure the virtual desktops.

With the latest Xorg update on Ubuntu 10.10 has brought total chaos to mouse input. If you try to run Half Life without a virtual desktop, Gordon Freeman will be forced to look at the sky and will never see the headcrabs crawling on the floor ! With the SDL version of DarkPlaces, it’s the second game that has mouselook issues in the latest version of Ubuntu. What I’m afraid of is that it could be a new behavior for Xinput and that every single game has to be updated to be compatible with Xorg 1.9. Of course, a lot of games won’t be updated and they’ll be unplayable on newer systems. I’ll have to do more research on the subject because it’s quite worrying.

With Virtual Desktops enable in Wine, Gordon Freeman can now move his head freely and is able to shoot the nasty headcrabs.

Besides the Virtual Desktop option, the Steam runner is pretty basic.  To run half-life you have to put “70” in the appid field and you can put whatever command line options in the arguments field (my setup has “-height 1050 -width 1680″).  There is no real steam installer yet, you have to install it manually with wine. Once it’s done, when you click on ‘install’ in the Manage Runners dialog, Lutris will ask you the path where you have installed Steam, that’s all it needs to know.

Here’s a screenshot of Half-Life in a fullscreen window.

The headcrab and the scientists have been pwned by a turret, this is the first encounter with the military forces.

The headcrab and the scientists have been pwned by a turret, this is the first encounter with the military forces.

Leave a Comment more...

Day 20 : Symphony of the night on Playstation (1997)

by on Sep.15, 2010, under lutris

Castlevania : Symphony of the night is one of the best games in the Castlevania series and is notable for being the first with the new style of gameplay which borrows a lot from Super Metroid (and that can never be a bad thing).

But it’s James Rofle’s job to talk about Castlevania, not mine. I’m here to tell you about what has been done and what is to be done in Lutris regarding the pcsx emulator.

The pcsx is one of those tricky emulators, you know, the kind with license issues, kicked out of Debian for a few lines of questionably free code and with multiple forks. Luckily it’s not too hard to get PCSX running in Ubuntu, PlayDeb has a PCSX-Reloaded package that will save you the pain of installing this emulator manually. There will be a tight integration between PlayDeb and Lutris in the future but that’s for a future version, right now you’ll have to follow the procedure from PlayDeb.

So, what have I done to give players a better gaming experience with Playstation games ? If you have played with PSCX before you might know that its fullscreen support is somewhat clumsy, especially if you happen to have a dual monitor setup (which I do). With PCSX when you try to switch to fullscreen, the game expands to both screens but the game is only displayed on the left monitor, so you get a black area on the left part of the left screen then you see half of the game then, on the right monitor, you get your regular desktop. That’s not really cool…

Anyway, fullscreen games on Linux have a tendency to be very annoying, most of the time you can’t alt-tab to your desktop, you can’t change the sound volume with your multimedia keyboard, your second monitor is black and if the game crashes you have to drop to a TTY to kill the game (or restart your session if killing the process doesn’t work). None of these problems occur while playing in windowed mode but playing in a window sucks even more than all these issues combined.

So … let me introduce you to … Fullscreen Windows ! Fullscreen windows gives you the best of both worlds and it’s made possible by Compiz. You have a real fullscreen window with no borders, no gnome-panel (well, not on every app, but there’s an option in lutris to hide gnome-panel), you can change the volume, use alt-tab or Compiz’s Expose and you still get to see your other monitors. Fullscreen windows rocks and you should use them whenever it’s possible ! For pcsx there’s nothing special to setup since the window stretches to whatever size you ask it to be. But for some other games like Quake , you have to use your desktop’s resolution or the trick won’t work.

There are two new options in lutris’ latest revision : compiz_fullscreen and compiz_nodecoration which are both at the ‘system’ level. For pcsx-r it’s better to set the value in the runner config to ‘PCSX’ in compiz fullscreen in order to apply the option to every Playstation game. Most of the time compiz will automatically hide windows decoration when it’s made fullscreen but if it doesn’t happen, this what compiz_nodecoration is for ;) For some games like Quake you might  have to hide gnome panel to have true fullscreen.

Oh by the way, there’s no screenshot of the game today, but here’s a screenshot of what Quake looks like now that I’ve tweaked it a little bit (click on the picture to appreciate it at it’s ful size).

Cool looking Quake

Cool looking Quake

Leave a Comment more...

Day 19 : Quake on Linux (1996)

by on Sep.14, 2010, under lutris

Hurray, today we have our first native game running in Lutris.

Quake on Lutris

Quake on Lutris

Native games are usually not very complicated to setup, but here we are going to make it even simpler !

I’ve done some work on Lutris’ installer and it is now possible to have Quake up and running simply by typing

lutris lutris:quake

on the command line or by clicking a link on the Website. Sadly, this functionnality is not for you guys yet because the new django website is still on my computer. A few more things to finish and I’ll upload it on  the main server soon, promise.

Anyway, when you call Lutris with this option, the program will fetch a quake.yml file from the server which describes how the game will be installed. Please note that the installer is still rudimentary and is subject to change at any moment.It doesn’t have a gui for the moment so it is advised to run the command from a terminal to follow the installation process.

Quake’s installer takes care of downloading the Darkplaces engine and Quake data and copying them in the appropriate directory and when everything is finished Quake is here in you game list, ready to play.

If you feel like hacking a bit, here’s the Quake installer in all it’s glory :

protocol: 1
version: Strider's Quake
name: Quake
runner: linux
exe: darkplaces-linux-686-glx

files:
  - darkplaces-engine: http://icculus.org/twilight/darkplaces/files/darkplacesengine20100408.zip
  - quake_files: http://strycore.com/games/quake/quake.zip
  - quake_config: http://strycore.com/games/quake/config.cfg

installer:
  - check_md5: { file: darkplaces-engine , value: 24e7e417b32cfb06ff915f6d8f251e80  }
  - check_md5: { file: quake_files , value: 24e7e417b32cfb06ff915f6d8f251e80  }
  - extract: { file: darkplaces-engine, destination: cache, newdir: quake }
  - extract: { file: quake_files, destination: cache, newdir: quake_data }
  - move: { src: 'quake/id1', dst: gamedir }
  - delete: { file: darkplaces-engine }
  - delete: { file: quake_files }
  - move: { src: quake_config, dst: homedir/.darkplaces/id1/ }

That’s pretty much all there is to it and the file should be self explanatory for a lot of you. Note how simpler it is to read than a script for PlayOnLinux ;) (this format is called yaml btw)

Also note the version string in the script showing that this is really my personnal way of installing the game, there is no Lutris official way and everyone is free to propose his own script. And now, of course you tell me, what if a natsy user publishes a script with viruses and such ? Don’t worry, the scripts will be reviewed, rated and the user accounts will gain karma points as they publish good scripts and are good community members, when they’ve gained enough karma they don’t need to have their scripts reviewed and can begin reviewing other people’s scripts.

In the files section you see that there is a link to quake’s data files on my own server, this is of course not good since it’s a game that is still being sold and it’s not the shareware version. But since it’s a pretty old game and it was for testing purposes, it’s kinda tolerable (you can find quake 1 on lot’s of abandonware websites). If you upload a script with a torrent link to starcraft 2, I can assure you it will be removed ;) However it is tolerable to put links to the game’s content if and only if the game is not being sold anymore, and I’m not talking about ebay here, the game publisher has to earn money when you buy it. If you can’t find it on the market, then sure, share your copy with the community. It would be silly to see old games disapear because no one would share them.

On a side note, for those who tried the darkplaces engine, you see I’ve chosen the OpenGL executable. I had a strange (and very annoying) bug with the SDL version, where the view would center back as if the lookspring option was activated no matter what options were given to the game. This may be a SDL issue and it may be caused by the Xserver upgrade in Ubuntu 10.10, I’ll have to check Launchpad for related bugs.

Quake, the father of all FPS

Quake, the father of all FPS

Leave a Comment more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Archives

All entries, chronologically...