Ross Scott
Staff member
This is a thread meant for Linux gaming experts who have been helping me via email to help decide on the best configuration for doing old game testing in Linux. I've gotten some conflicting information, so this is an effort to sort it out. Here's a recap of what I'm trying to do:
GOALS / SYSTEM INFO:
•Test compatibility on a battery of games, all 3D accelerated, from about 1997 - 2010. They'll be DirectX 5 - 9 games with maybe a couple OpenGL titles. A fair portion of these titles will be obscure and unlikely to be in many game databases. None of them will be Steam or GOG copies, only disc originals (some with DRM cracks).
•I wish to force mixed mode antialiasing (MSAA+SSAA for alpha textures) or SSAA on as many titles as I can.
•I wish to measure the framerate on as many titles as I can. This means disabling vsync for benchmarking, though it would be nice to be able to turn it back on when I'm not also.
•The machine I'm using has a FX-8350 CPU and a Geforce 770 GPU. I have a weaker AMD GPU card also I could use, but my initial research showed a wider range of antialiasing compatibility for Nvidia GPUs on Linux. I currently have Ubuntu Mate installed.
I was using PlayonLinux and was having disappointing performance on many older titles. I've since been told I should be using Luttris. What I'm looking for is to collectively come up with a COMPLETE guide for everything I should do from a new install to having a solid set up. I was starting to make a checklist when I got all the Lutrris info and discovered WINE was forcing Adaptive VSYNC on me, which sent me back to the drawing board. Here was my checklist so far:
Obviously, some of this information is outdated, but I thought it was worth listing here for the parts I did get correct.
Anyway, please give me your detailed step-by-step instructions / suggestions for trying to get these games to run. For example, maybe I should try Luttris in DXVK mode FIRST, but then if that doesn't work for a game, THEN try Playonlinux, etc. Be as specific as you need to. Alternately, if you disagree with advice someone else is giving, by all means, feel free to discuss it here. You only need to "dumb down" the final instructions directed towards me, you can be as technical as you like towards each other.
Thanks in advance for the help and if you're not particularly knowledgeable about Linux gaming, please refrain from posting in this thread. I'm trying to cut down on the casual chatter here and focus just on the technical aspects of getting things working.
WHAT I CURRENTLY NEED HELP WITH
•Turning off adaptive Vsync in WINE. It's been suggested to me that I should install libstrangle, which requires me to compile it myself. It's also been suggested I disable Nvidia DRM, though someone else was claiming that would only work for Opteron setups. I have no idea which route I should be pursuing, so I would appreciate some clarification here.
•Full installation / setup guide to Luttris for the types of games I'm testing (DirectX 5 - 9, mostly, many of which aren't in a Linux database). Advice on what cases this is likely to be better, worse, etc.
•One person suggested dgvoodoo for getting antialiasing working on games it doesn't function on normally. I think initial testing made this look like it was unlikely to help in most scenarios. Any clarification on this + instructions for getting it working if it is in fact, recommended.
•For older games that only run at 4x3 resolutions, what is the recommended method to run these in full screen mode on a widescreen monitor with proportional stretching (in other words, the image will be scaled accordingly and not distorted horizontally)?
•(low priority) when forcing SSAA, I noticed on at least one title, it led to blurring above and beyond what you normally get from SSAA (all AA has a little bit of blur due to its nature, this was beyond that). In situations this occurs in, are there any "sharpening" graphics options to counteract it? If it helps, the title I remember this happening in was Warhammer: Mark of Chaos.
GOALS / SYSTEM INFO:
•Test compatibility on a battery of games, all 3D accelerated, from about 1997 - 2010. They'll be DirectX 5 - 9 games with maybe a couple OpenGL titles. A fair portion of these titles will be obscure and unlikely to be in many game databases. None of them will be Steam or GOG copies, only disc originals (some with DRM cracks).
•I wish to force mixed mode antialiasing (MSAA+SSAA for alpha textures) or SSAA on as many titles as I can.
•I wish to measure the framerate on as many titles as I can. This means disabling vsync for benchmarking, though it would be nice to be able to turn it back on when I'm not also.
•The machine I'm using has a FX-8350 CPU and a Geforce 770 GPU. I have a weaker AMD GPU card also I could use, but my initial research showed a wider range of antialiasing compatibility for Nvidia GPUs on Linux. I currently have Ubuntu Mate installed.
I was using PlayonLinux and was having disappointing performance on many older titles. I've since been told I should be using Luttris. What I'm looking for is to collectively come up with a COMPLETE guide for everything I should do from a new install to having a solid set up. I was starting to make a checklist when I got all the Lutrris info and discovered WINE was forcing Adaptive VSYNC on me, which sent me back to the drawing board. Here was my checklist so far:
Checklist
INSTALL PLAYONLINUX
Open Ubuntu Software Center / PLayonLinux should be listed / install
ALSO
make sure more recent WINE versions are installed for additional features
Go to tools / manage WINE versions / install at least 4.0 and up to have Nvidia framerate monitoring (x86 versions for my purposes)
ALSO
When installing a new WINE install under PlayonLinux, check "use another version of WINE" to manually select the newer version, otherwise it can default to an older one.
If program fails to install, rebooting is recommended
NVIDIA DRIVERS:
System / Administration / Software & Updates / Additional Drivers
If 415 or newer are unavailable, open terminal and type
sudo add-apt-repository ppa:graphics-drivers/ppa
ENABLE ANTIALIASING:
System / Administration / Nvidia X Server Settings / X Screen 0 / Antialising Settings / Override Application Settings / (set value)
(anisotropic filtering is in the same menu)
also
In PlayonLinux, right click on game profile / Registry editor /
In HKEY_CURRENT_USER/Software/Wine/Direct3D/, (create directory if needed) create new string "OffscreenRenderingMode" and set to "backbuffer"
INSTALL CD EMULATOR
In terminal type:
sudo apt-get install furiusisomount
KILL OPTION:
Create a script to forcibly shutdown WINE on a timer for games that lock up the system and controls when enabling AA. Recommended to run the script ahead of time when forcing AA on an untested game.
Create text file named "kill.sh" or anything .sh
In it, add the following:
#!/bin/bash
sleep 30
for KILLPID in `ps ax | grep '.exe' | awk ' { print $1;}'`; do
kill -9 $KILLPID;
done
With "sleep 30" meaning 30 seconds, change time if desired.
FRAMERATE MONITORING
Make sure Nvidia drivers 415 or newer are installed.
System / Administration / Nvidia X Server Settings / X Screen 0 / OpenGL Settings / check Enable Graphics API Visual Indicator
VSYNC ON:
System / Administration / Nvidia X Server Settings / X Screen 0 / OpenGL Settings / Sync to Vblank on
also
Press F2, type mate-tweak
Select Windows / set Window manager to Marco (Compton GPU Compositor)
possibly reboot
FRAMERATE MONITORING OPTION FOR STUBBORN GAMES WHERE IT DOESN'T WORK:
In playonlinux game directory type:
WINEDEBUG=ddraw wine ./bin/nameofgame.exe 2>&1 | grep --line-buffered -i "trace:ddraw:ddraw_surface7_Flip" | pv --line-mode --rate --timer -f 1>/dev/null
INSTALL PLAYONLINUX
Open Ubuntu Software Center / PLayonLinux should be listed / install
ALSO
make sure more recent WINE versions are installed for additional features
Go to tools / manage WINE versions / install at least 4.0 and up to have Nvidia framerate monitoring (x86 versions for my purposes)
ALSO
When installing a new WINE install under PlayonLinux, check "use another version of WINE" to manually select the newer version, otherwise it can default to an older one.
If program fails to install, rebooting is recommended
NVIDIA DRIVERS:
System / Administration / Software & Updates / Additional Drivers
If 415 or newer are unavailable, open terminal and type
sudo add-apt-repository ppa:graphics-drivers/ppa
ENABLE ANTIALIASING:
System / Administration / Nvidia X Server Settings / X Screen 0 / Antialising Settings / Override Application Settings / (set value)
(anisotropic filtering is in the same menu)
also
In PlayonLinux, right click on game profile / Registry editor /
In HKEY_CURRENT_USER/Software/Wine/Direct3D/, (create directory if needed) create new string "OffscreenRenderingMode" and set to "backbuffer"
INSTALL CD EMULATOR
In terminal type:
sudo apt-get install furiusisomount
KILL OPTION:
Create a script to forcibly shutdown WINE on a timer for games that lock up the system and controls when enabling AA. Recommended to run the script ahead of time when forcing AA on an untested game.
Create text file named "kill.sh" or anything .sh
In it, add the following:
#!/bin/bash
sleep 30
for KILLPID in `ps ax | grep '.exe' | awk ' { print $1;}'`; do
kill -9 $KILLPID;
done
With "sleep 30" meaning 30 seconds, change time if desired.
FRAMERATE MONITORING
Make sure Nvidia drivers 415 or newer are installed.
System / Administration / Nvidia X Server Settings / X Screen 0 / OpenGL Settings / check Enable Graphics API Visual Indicator
VSYNC ON:
System / Administration / Nvidia X Server Settings / X Screen 0 / OpenGL Settings / Sync to Vblank on
also
Press F2, type mate-tweak
Select Windows / set Window manager to Marco (Compton GPU Compositor)
possibly reboot
FRAMERATE MONITORING OPTION FOR STUBBORN GAMES WHERE IT DOESN'T WORK:
In playonlinux game directory type:
WINEDEBUG=ddraw wine ./bin/nameofgame.exe 2>&1 | grep --line-buffered -i "trace:ddraw:ddraw_surface7_Flip" | pv --line-mode --rate --timer -f 1>/dev/null
Obviously, some of this information is outdated, but I thought it was worth listing here for the parts I did get correct.
Anyway, please give me your detailed step-by-step instructions / suggestions for trying to get these games to run. For example, maybe I should try Luttris in DXVK mode FIRST, but then if that doesn't work for a game, THEN try Playonlinux, etc. Be as specific as you need to. Alternately, if you disagree with advice someone else is giving, by all means, feel free to discuss it here. You only need to "dumb down" the final instructions directed towards me, you can be as technical as you like towards each other.
Thanks in advance for the help and if you're not particularly knowledgeable about Linux gaming, please refrain from posting in this thread. I'm trying to cut down on the casual chatter here and focus just on the technical aspects of getting things working.
WHAT I CURRENTLY NEED HELP WITH
•Turning off adaptive Vsync in WINE. It's been suggested to me that I should install libstrangle, which requires me to compile it myself. It's also been suggested I disable Nvidia DRM, though someone else was claiming that would only work for Opteron setups. I have no idea which route I should be pursuing, so I would appreciate some clarification here.
•Full installation / setup guide to Luttris for the types of games I'm testing (DirectX 5 - 9, mostly, many of which aren't in a Linux database). Advice on what cases this is likely to be better, worse, etc.
•One person suggested dgvoodoo for getting antialiasing working on games it doesn't function on normally. I think initial testing made this look like it was unlikely to help in most scenarios. Any clarification on this + instructions for getting it working if it is in fact, recommended.
•For older games that only run at 4x3 resolutions, what is the recommended method to run these in full screen mode on a widescreen monitor with proportional stretching (in other words, the image will be scaled accordingly and not distorted horizontally)?
•(low priority) when forcing SSAA, I noticed on at least one title, it led to blurring above and beyond what you normally get from SSAA (all AA has a little bit of blur due to its nature, this was beyond that). In situations this occurs in, are there any "sharpening" graphics options to counteract it? If it helps, the title I remember this happening in was Warhammer: Mark of Chaos.
Last edited by a moderator: