Wine is a great system to running programs, but there are many alternatives in Linux. The biggest thing people use wine for is games and the most common complain about games running under the WINE compatibility layer is performance. Naturally, most people would default to the propriety drivers to try to optimise performance, which has been the case for a long time until…
Gallium Nine, demonstrating increased performance for Direct3D 9.
To install
Install the mesa OIBAF PPA and Patched gallium wine PPA
sudo add-apt-repository ppa:oibaf/graphics-drivers sudo add-apt-repository ppa:oibaf/gallium-nine sudo add-apt-repository ppa:commendsarnex/winedri3 sudo apt-get update sudo apt-get upgrade && sudo apt-get install wine1.9
Enable
sudo apt-get install mesa-vdpau-drivers
You will need to specify to use open source drivers.
Edit Registry in Wine
Fortunately this can be done on a GUI. Run winecfg Select the Graphics tab In the 3D Acceleration group select “Prefer native Direct3D 9”
The option will not appear if your version of wine is not patched.
Recommendations
I would recommend that those using ATI/Intel drivers consider using the Gallium 3D drivers as the open source drivers are often more stable than the propriety options. As for NVIDIA cards, I recommend weighing the benefits before making the switch. Not having the latest NVIDIA propriety drivers may conflict with some games on Steam.
Update: Rendering Issue Fixes
You may have to add the following parameter which may fix some rendering issues:
thread_submit=true
So the command should look like
env WINEARCH=win32 DRI_PRIME=1 thread_submit=true wine program.exe
or on PlayOnLinux:
DRI_PRIME=1 thread_submit=true PlayOnLinux --run "filename"
(single program, you may create a shortcut for that matter)
or in the POL Console
POL_Config_Write BEFORE_WINE 'DRI_PRIME=1 thread_submit=true'
(affects all POL programs)
To uninstall PPAs
sudo apt-get install ppa-purge sudo ppa-purge ppa:oibaf/graphics-drivers sudo ppa-purge ppa:oibaf/gallium-nine sudo ppa-purge ppa:commendsarnex/winedri3
Edit: Code modified to reflect version 1.9 for WINE. Thanks sarnex.
