Old games in wine

Hello, my name is Anders. And I'm an old-game-aholic. A common complaint in gaming under linux is that games simply don't run there, a fact that has become incorrect in the last few years as all of my favorite games have native linux clients. But what about older games? The ones that have been abandoned by their developers and now linger in a technical limbo. They work great.

In fact, I'd say it's a lot easier to get a game running with wine under linux than it is to coax a modern windows to run it reliably. Or at least that's my experience. But there are problems, resolution and bizarre input related ones. I'll attempt to address both with this post.

  1. Use PlayOnLinux would be my first tip. It makes managing each wine bottle (a sort of fake windows installation) much easier and quicker.

  2. Do not run old games in fullscreen, use wine's virtual desktop. Amerzone, which I'm playing now, is a good example. It runs fine in fullscreen, but it stretches and interlaces all graphics. Then it runs the cutscenes in the top left corner only. In windowed mode it works exactly as expected. This is true for running the game in both windows and with wine.

  3. If the game runs at a miniscule resolution natively then simply change the resolution of your monitor (script below). Amerzone runs in 640x480 so I run it in a 640x480 virtual wine desktop and change my monitor's resolution to 800x600. I can still multi-task and it fills most of the screen.

  4. A 15 year old game that tries to smooth out your mouse's movement will screw it up. Inevitably. Again, Amerzone.. oh how I love thee, but you are one major problem child. To fix this I run a script that removes all mouse acceleration deceleration, resulting in picture perfect mouse movement in the game (script below).

I might update this list as I uncover more problem areas but those have been the major ones for me. That said, every single game I've thrown at wine has worked flawlessly for the last 22 tries. No crashes, no hangs, no bugs that aren't caused by the games themselves. This can be compared with trying to run windows 95 (or even 3.11) era games on windows 8.. that was an interesting experience.

Script for quickly changing resolutions and turning off my second monitor.

## For old games.
#xrandr --output HDMI-0 --primary --mode 800x600
#xrandr --output LVDS-1-0 --off

## For regular desktop use.
xrandr --output HDMI-0 --primary --mode 1920x1080
xrandr --output LVDS-1-0 --mode 1920x1080

## Fancy full option, not really needed for most of you.
#xrandr --fb 3840x1080 --output HDMI-0 --mode 1920x1080 --pos 0x0 --primary --panning 1920x1080+0+0/1920x1080+0+0 --left-of LVDS-1-0 --output LVDS-1-0 --mode 1920x1080 --right-of HDMI-0

Script for fixing the mouse sensitivity and acceleration.

# This command will list all devices on your system.
xinput list

# My mouse is listed as number 10, so let's check it.
xinput list-props 10

# Turn off device acceleration.
xinput set-prop 10 275 0

## For regular use
# Set constant mouse deceleration to 1.5, I've got a high DPI mouse.
xinput set-prop 10 276 1.5
# Set acceleration velocity scaling to 1, no variations.
xinput set-prop 10 278 1

## For old games
# Drastically reduce the mouse deceleration.
#xinput set-prop 10 276 0.02