Call of Duty 2 - low FPS @ Radeon HD7850.

Questions about Wine on Linux
Locked
spindelnspi
Newbie
Newbie
Posts: 1
Joined: Mon Mar 10, 2014 3:25 pm

Call of Duty 2 - low FPS @ Radeon HD7850.

Post by spindelnspi »

HI,
working Call of Duty 2 is the last barrier to abandon MS Windows 7.

PC:
AMD Athlon X4-750K 3.4GHz
2x4GB DDR3 1600MHz CL9
Radeon HD7850 2GB OC MSI
OCZ Agility 3 120GB

The game runs with low FPS 40-50 sometimes 70 and 91 (1440x900).

I checked in configurations (64bit):
  • Xubuntu 13.10 / Ubuntu 13.10 - kernel 3.11 - PlayOnLinux - OpenDrivers - artifacts, blue background, pieces of buildings
  • Xubuntu 13.10 / Ubuntu 13.10 - kernel 3.13 - PlayOnLinux - OpenDrivers - artifacts, blue background, pieces of buildings
  • Xubuntu 13.10 / Ubuntu 13.10 - kernel 3.11 - PlayOnLinux - ClosedDrivers Stable - LOW FPS
  • Xubuntu 13.10 / Ubuntu 13.10 - kernel 3.11 - PlayOnLinux - ClosedDrivers Testing - LOW FPS
  • Xubuntu 13.10 / Ubuntu 13.10 - kernel 3.13 - PlayOnLinux - ClosedDrivers Stable - LOW FPS
  • Xubuntu 13.10 / Ubuntu 13.10 - kernel 3.14 - PlayOnLinux - ClosedDrivers Testing - LOW FPS
  • Mint 16 Cinnamon - kernel 3.11 - PlayOnLinux - OpenDrivers - artifacts, blue background, pieces of buildings
  • Mint 16 Cinnamon - kernel 3.11 - PlayOnLinux - ClosedDrivers Stable - LOW FPS
  • Mint 16 Cinnamon - kernel 3.13 - PlayOnLinux - ClosedDrivers Stable - LOW FPS
  • Mint 16 Cinnamon - kernel 3.13 - PlayOnLinux - ClosedDrivers Testing - LOW FPS
  • Xubuntu 13.10 / Ubuntu 13.10 - kernel 3.11 - Wine1.4 / 1.6 / 1.7 - OpenDrivers - artifacts, blue background, pieces of buildings
  • Xubuntu 13.10 / Ubuntu 13.10 - kernel 3.13 - Wine1.4 / 1.6 / 1.7 - OpenDrivers - artifacts, blue background, pieces of buildings
  • Xubuntu 13.10 / Ubuntu 13.10 - kernel 3.11 - Wine1.4 / 1.6 / 1.7 - ClosedDrivers Stable - LOW FPS
  • Xubuntu 13.10 / Ubuntu 13.10 - kernel 3.11 - Wine1.4 / 1.6 / 1.7 - ClosedDrivers Testing - LOW FPS
  • Xubuntu 13.10 / Ubuntu 13.10 - kernel 3.13 - Wine1.4 / 1.6 / 1.7 - ClosedDrivers Stable - LOW FPS
  • Xubuntu 13.10 / Ubuntu 13.10 - kernel 3.14 - Wine1.4 / 1.6 / 1.7 - ClosedDrivers Testing - LOW FPS
  • Mint 16 Cinnamon - kernel 3.11 - Wine1.4 / 1.6 / 1.7 - OpenDrivers - artifacts, blue background, pieces of buildings
  • Mint 16 Cinnamon - kernel 3.11 - Wine1.4 / 1.6 / 1.7 - ClosedDrivers Stable - LOW FPS
  • Mint 16 Cinnamon - kernel 3.13 - Wine1.4 / 1.6 / 1.7 - ClosedDrivers Stable - LOW FPS
  • Mint 16 Cinnamon - kernel 3.13 - Wine1.4 / 1.6 / 1.7 - ClosedDrivers Testing - LOW FPS
Where is problem ?
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Call of Duty 2 - low FPS @ Radeon HD7850.

Post by Bob Wya »

@spindeinspi,

Performance of the AMD/ATI drivers continues to be an "issue" under Linux... See Stefan Dosinger's talk at Wineconf 2013
Sadly I'm saddled with an ATI Radeon 4650M in my laptop. It's been a pain to use under Linux forever. Although the FOSS driver is much better now (finally I can use video decode acceleration, etc.) - 3D gaming support is very lacklustre... The ancient Nvidia 8800 GTX in my Desktop rig gives me much less problems and much greater performance under Wine.

Looking at your hardware... I believe the AMD Athlon X4-750K is quite a weak CPU. Each CPU core has only 1Mb cache - but there is no L3 cache. We've had to wait for this year - with the release of the Steamroller microarchitecture. For AMD to catch up with the Intel Core series.

I have been trying out running Wine at nice -10. You milage may vary here. I haven't benchmarked this yet. It may not make much difference on your system. If you have a busy DE - with other apps running - this "hack" will ensure that Wine gets most of the CPU cycles (on at least one core). You will need to alter the security for your user (to allow higher priority nice values than 0). On Arch this file is

Code: Select all

/etc/security/limits.conf
Perhaps combine this with running COD 2 on 1 CPU core (reputed to help single player / multiplayer with COD2 patched to 1.3)...

Code: Select all

cd <path to COD2 folder>
env WINEPREFIX="<COD2 wineprefix path>" WINEDEBUG=-all nice -n -10 taskset -c 1 wine CoD2MP_s.exe +set com_introplayed 1
(I think that command should run should work!! Set cd path to path of COD2 install folder and WINEPREFIX to the path of your Wineprefix containing COD2)

Perhaps try out the -ck patch kernel (Brain Fuck Scheduler) or -pf patched kernel (which includes the ck patchset). "Reputed" to lower kernel scheduling overheads for Desktop Linux... There are PPA's for this available I believe.

As long as your DE disables compositing when a Wine game is running full screen - then it shouldn't add much too much overhead. I'm mainly a KDE user and I know this box has a checkbox for doing this. Obviously I cannot speak for Xfce or Cinnamon. So just check this is the case...

Please note that we are unable to provide support for PlayOnLinux here. I would generally recommend sticking to the "development branch" of Wine. Currently this is at version 1.7.14.

Bob
Locked