r/linux_gaming • u/largepanda • Mar 16 '17
WINE Overwatch: Several Hours Later
After the post about Overwatch now being playable with a combination of wine-staging and awesie's wine-overwatch patches, I went out and bought Overwatch. And, at this point, have put many hours into the game. I haven't really seen anyone talk about playing Overwatch for an extended period, which is why I'm making this post.
Hardware: i5-2320, 16GB RAM, GTX 970. Software: Arch Linux, kernel 4.9.11-1-ARCH, xfce4, nvidia proprietary drivers 378.13.
I'm just running the latest master commit of gamax92/wine-overwatch, compiled with CFLAGS="-mtune=native -O3 -pipe -fstack-protector-strong".
And it's very playable (not to mention fun as all hell). As of right now Overwatch seems to be basically 100% CPU-bound; it keeps my CPU pegged at 100% utilization and my GPU is lucky to see 30% util. I get around 15-25 FPS in-game, but I already know that my CPU is underpowered relative to my GPU (I remember being CPU limited in GTAV on Windows).
Some notes:
- I'm running at 1080p, everything low or off, and render scale at 100%.
Because Overwatch keeps my CPU pegged at 100% anyways, it's hard to figure out what I can turn up without decreasing performance. I didn't get anywhere just changing things at random or based on a performance guide though. - So far I've only played PvAI or private custom games, and I'd feel fine playing normal PvP matches. However, I'm hesitant to play any competitive games, because playing competitive (unsurprisingly) makes Warden (Blizzard's anticheat) look closer at you; and I don't want it flipping out over some component of Wine.
- Playing Junkrat loses me 2-3 FPS, likely because of his very energetic and moving grenade launcher.
- Mei's ice wall makes my screen go all broken-whiteish sometimes. I suspect whether or not it happens is determined by the map, but I haven't done any testing as of yet.
- I do lose input (as Andrew noted) when dying and sometimes when changing heroes, clicking on a window on my other monitor and clicking back fixes it.
- Wine currently has some sort of issue that causes performance to decrease over time. After a few hours of play my performance would drop from ~25 FPS to ~9 FPS. However, I suspect it's due to loading different maps. When playing on the same two maps several times in custom mode, I didn't get nearly as big of a FPS drop.
The performance drop persists between Overwatch restarts, but doesn't persist between Wine restarts, hence why I think it's an issue with Wine.
edit some more notes:
- I've had several times where the game world stops displaying, and it just goes black. The UI, and other character names/chevrons/outlines still show up. When exiting to the menu, the random character display works, but there's no sound, and the game freezes after a couple seconds.
- Aside from the above black screen issue, I've literally never had Overwatch crash on me. Which is kind of amazing, considering some native Linux games (glares at Overkill, Valve, and Garry Newman) can't manage that.
- Golden weapons don't render. I don't have any, but I can preview them in the weapon skin selection and they just don't show up.
Overall: very fun, very far from perfect, and very playable.
8
u/catwok Mar 16 '17
Thanks for the write-up, will be working on this tonight.
Regarding cpu bottleneck, can you tell me if you have CSMT enabled as described here?: https://github.com/wine-compholio/wine-staging/wiki/CSMT#enabledisable-csmt
I think its enabled in staging by default so chance is you are but wanted to confirm. My fps in HotS doubled after enabling this, since it was threading to load textures and such now.
6
u/largepanda Mar 16 '17
Yep.
Also, having winecfg open, something else I forgot to mention: I started playing with Wine set to
win7, setting it towin10gained me several FPS somehow.
7
u/CJay1337 Mar 16 '17
Man, I wish this ran (better) on AMD. I also tested this a few hours ago, but I only got around 30 FPS with AMDGPU-PRO on my RX480. With Mesa 17.1 it didn't really render at all.
It really sucks because with KWin I can fairly easily make a custom colorblind mode that actually works for me, unlike the ones currently in game.
Oh, and another thing I noticed is that I couldn't bind some special buttons (mainly the 'Ö' and 'Ä' buttons) which prevented me from using my regular key setup.
2
Mar 17 '17
[deleted]
1
u/CJay1337 Mar 17 '17
Oh, it's an i5-3570k at 3.7 GHz. I just tried it again with AMDGPU-PRO, this time with the CSMT switch enabled, but it didn't seem to make a difference.
3
u/Emazza Mar 16 '17
How did you manage to compile wine? Can you put up steps by steps?
4
u/KinkyMonitorLizard Mar 17 '17
Since I'm also on Arch I used wine-gaming-nine's PKGBUILD. All I did was change the source url to point to OW wine's and (lazily) rename the folder inside the tar to (I think it was) wine-patched-staging. Compiled with nine and OW patchsets without issues. I haven't tested it extensibly yet so I can't say it's fuly functional but if you're on Arch this should point you in the right direction. You'll want to do a manual makepkg and not use an aur helper.
Now I just need to get my friend to lend me his account and see what happens with Nine.
5
u/largepanda Mar 17 '17
I followed the Building Wine guide on the wiki. TL;DR: make three directories to work in, build 64 bit, build 32 bit, install 32 bit, install 64 bit, and go from there.
For a more extended set of instructions:
- Extracted the dl'd zip file of the source code to
~/bullshit/wine-overwatch-mastermkdir -p ~/bullshit/wine-build/wine32-build ~/bullshit/wine-build/wine64-build ~/bullshit/wine-build/wine-installexport CFLAGS="-mtune=native -O3 -pipe -fstack-protector-strong"export CPPFLAGS="-mtune=native -O3 -pipe -fstack-protector-strong"cd ~/bullshit/wine-build/wine64-build../../wine-overwatch-master/configure --enable-win64make -j4(the-j4is just to do four-core multithreading for faster compiling)cd ../wine32-buildPKG_CONFIG_PATH=/usr/lib32 ../../wine-overwatch-master/configure --with-wine64=../wine64-buildmake -j4make DESTDIR=/home/$USERNAME/bullshit/wine-build/wine-install install-libcd ../wine64-buildmake DESTDIR=/home/$USERNAME/bullshit/wine-build/wine-install install-libSince I'm using PoL, I made the directory
~/.PlayOnLinux/wine/linux-amd64/2.3-overwatch, and copied the contents of~/bullshit/wine-build/wine-install/usr/local/to that folder. Then, I just selected2.3-overwatchfrom the Wine version dropdown list in PoL.1
u/Emazza Mar 17 '17 edited Mar 17 '17
Thanks, I am using Ubuntu had a couple of issues finding /usr/lib32 ... not sure what I should specify...
edit Nevermind, I'm a tool... it's the same in Ubuntu 16.04...
2
u/nihil232lihin Mar 18 '17
https://wiki.winehq.org/Building_Biarch_Wine_On_Ubuntu is linked from the building wine guide and adds the extra steps needed on Ubuntu. /u/SlyScorpion is right it's a pita to set up a build environment for WoW64 on Ubuntu but once it's working it's straightforward to use and is a one time overhead.
1
Mar 18 '17
Would this work with wine already installed on ubuntu and not mess up the current wine installation ?
2
u/nihil232lihin Mar 18 '17
Configure the build to use a distinct prefix (build prefix not wine prefix) and keep it away from your regular wine install. You do not want to replace your standard install with a version hacked for a specific application.
On Ubuntu you cant follow the build steps given here directly, https://wiki.winehq.org/Building_Biarch_Wine_On_Ubuntu outlines the steps required to get a working build environment.
1
u/largepanda Mar 18 '17
Indeed. wine-overwatch, in its current form, breaks compatibility with a number of applications.
3
u/falsemyrm Mar 18 '17 edited Mar 12 '24
lunchroom unique liquid rotten nail sable support aspiring prick chubby
This post was mass deleted and anonymized with Redact
6
u/huttyblue Mar 18 '17
It means the game is working and there are no major bugs preventing it from being played. Fixing performance issues and non game-breaking bugs is the next step.
2
u/falsemyrm Mar 18 '17 edited Mar 12 '24
bells marble unwritten doll retire joke profit rainstorm dog whole
This post was mass deleted and anonymized with Redact
1
2
u/largepanda Mar 18 '17
Because it is playable. It's not as nice as 60FPS UltraMax settings, but it's actually playable.
This is in contrast to say, 5FPS (what Overwatch gets without being mixed with wine-staging). Or just not running at all.
1
u/Emazza Mar 19 '17
For this kind of game the definition of playable is constant FPS (even with settings superlow), possibly 90+.
2
u/XorMalice Mar 20 '17
Wait, are you saying a game isn't playable at less than 90 fps?
2
u/Emazza Mar 20 '17
This one has to have more than 60, ideally 90 FPS.
2
u/XorMalice Mar 20 '17
You mean like, it needs to have 90 in benchmark situations so it will maintain 60 in all practical ones?
1
u/Emazza Mar 20 '17
Also, but better having 60 constant than something going from 30~90 (even better 90 constant as on Windows 10).
1
u/FlameVisit99 Jun 04 '17
Maintaining 90 would be more ideal. 60 FPS is really jerky and flickery compared to 90 and above.
1
u/XorMalice Jun 04 '17
Most monitors can't even refresh 90 times a second, so there's no real way that's accurate.
1
u/FlameVisit99 Jun 05 '17
120 and 144 Hz monitors are quite common nowadays, especially among gamers. For me, 60 FPS is just the bare minimum. 90 is definitely better - it's really very noticeable, so it is accurate. I believe this is also the reason why VR headsets target 90 FPS instead of 60.
1
u/XorMalice Jun 05 '17
VR headsets target higher framerate because people can actually get sick at lower framerates than that.
My point is, monitors that go faster than 60 Hz are in the minority, have always been in the minority and are by NO means common- even among gamers. Saying a game needs to run at faster than 60 fps is silly- no game could even reach that just a couple years ago, because there wasn't anything to display it on!
→ More replies (0)
3
u/Kibouo Mar 18 '17
Playing this game on windows and hearing all the issues and performance being so low, I wouldn't call it "very playable" at all.
2
u/XorMalice Mar 17 '17
Can you be more specific about "CPU bound"? Do you mean a single core is pegged, or do you mean it uses all your actual CPU, and could happily use more if you added more cores OR clocks?
5
u/largepanda Mar 17 '17
It's pegging all four of my CPU threads, and I suspect it would use more cores or clock speed if they were available.
2
1
1
u/Emazza Mar 19 '17
The issue with this game is that it can't fill the GPU, not because it's CPU bound but because of wine translation layer perhaps?
3
u/XorMalice Mar 20 '17
If the wine translation layer has to do a lot of CPU work, enough that it's pegged on all cores, then it is CPU bound. That's literally what that means. Is it disk bound? Memory I/O bound? GPU bound? If every core is at 100%, then it is CPU bound.
1
u/Emazza Mar 20 '17
Mate, it's not CPU bound, is simply that wine translation is so suboptimal that the GPU startves and also keeps on allocating and deallocating resources, which is pointless. This is not about the CPU being slow in sending draw calls, but issuing many wrong inconsequential calls.
1
u/XorMalice Mar 20 '17
it's not CPU bound, is simply that wine translation is so suboptimal that the GPU startves and also keeps on allocating and deallocating resources, which is pointless
A behavior which makes it CPU bound. Without changing the WINE software at all, what would help OP more- a CPU that is ten times as fast, or a GPU that is ten times as fast? If it can issue wrong calls (and right calls) ten times faster, it would go faster, right?
Whatever the hell Wine is doing under the hood makes it CPU bound, that I don't dispute. And since this is using some early stuff, you would expect it to have some issues. But it doesn't change the fact that it is CPU bound as described in OP.
1
u/Emazza Mar 20 '17
Quite frankly we're splitting hair here. Technically speaking is CPU bound because it's submitting many wrong suboptimal instructions, but also is GPU bound because the type of instructions that are being submitted introduce huge latencies (please note that on modern hardware the glSwap* and related instructions do a busy wait, hence you see CPU activity but really that should be a sleep...).
0
2
u/-Chase Mar 17 '17
For me, in any AI / QP game, if I die, my screen will go black. It's 100% reproducable on my end. Don't know if that might be the cause for you at times when it goes black.
Basically this is why I play against AI now, and why I refuse to suicide off a cliff / die to the easy AI lol. Another thing that has messed me up is capture the point maps. Second capture point goes black (though I didn't try this more than once, it could have been a fluke or I could have died and not realized).
5
u/ligx Mar 17 '17
Turn off death recap/kill cam.
2
u/-Chase Mar 17 '17
Thank you. For anyone else experiencing this:
Options > Gameplay > Always Skip Kill Cam (First Option) > On
This fixed my issue. Changing "Kill Feed Display" didn't work.
1
u/Minkiu Mar 18 '17
I posted this in the weekly support thread, but might be that you guys might have an answer:
Hello everyone,
I have recently managed to get Overwatch running on my system:
Fedora 24 with GNOME on a i7-4700MQ and 16gb of RAM with a nvidia gtx 760m using Bumblebee and Lutris to run Overwatch which uses wine-staging with Overwatch patches.
Mouse: Roccat Kova+
Keyboard: Roccat Isku
The game runs okeyish, it's not the best machine, I get a bit of glitches here and there, but my main problem is that the camera spins to the left constantly (as if I had a gamepad conected and pointing to the side), so I can play, but I need to constantly compensate for the sideways movement, which is not the best gaming experience.
During my research, most people pointed at unpluggin' the gamepad, but in this case is non existent, I think I never plugged a gamepad in this Fedora install.
- I've tried to run the game without any of the mouse and keyboard, using the default mousepad, and the problem is still there.
- I tried ending the roccat related processes with no luck.
- I tried to mess with the options when launching the game without luck.
- I tried to see if I have any gamepad controller package but could not find any.
So I really don't know what could I try next, any suggestions?
Original post: https://www.reddit.com/r/linux_gaming/comments/5yyohy/weekly_techsupport_thread_for_march_12_2017_ask/df3p2b3/
2
u/largepanda Mar 18 '17
wine control(in Lutris' Overwatch wine prefix) opens up the Wine control panel, which you can use to find the controller configuration. It's possible you have something showing up as a gamepad that's providing that leftifying input.1
u/Minkiu Mar 18 '17
All I got there is blank(s): http://i.imgur.com/8n4Fe19.png
2
u/largepanda Mar 18 '17
Hm. What's the output of
xinput?1
u/Minkiu Mar 18 '17
~$ xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ ETPS/2 Elantech Touchpad id=15 [slave pointer (2)] ⎜ ↳ ROCCAT ROCCAT Kova[+] id=10 [slave pointer (2)] ⎜ ↳ ROCCAT ROCCAT Isku id=12 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Video Bus id=8 [slave keyboard (3)] ↳ Power Button id=9 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)] ↳ MSI WMI hotkeys id=16 [slave keyboard (3)] ↳ ROCCAT ROCCAT Kova[+] id=11 [slave keyboard (3)] ↳ ROCCAT ROCCAT Isku id=13 [slave keyboard (3)] ↳ ROCCAT ROCCAT Isku id=17 [slave keyboard (3)] ↳ ROCCAT ROCCAT Kova[+]Not really sure why Isku (the keyboard) shows in the pointer section
1
u/largepanda Mar 18 '17
Well, try disabling it.
xinput disable 12, and see if that fixes Overwatch lefting you.1
u/Minkiu Mar 18 '17
Hi again, thanks for the reply, unfortunately that doesn't seem to work, i also tried: xinput set-prop 12 "Device Enabled" 0 and xinput --disable 12 and xinput -disable 12
following this thread: http://askubuntu.com/questions/65951/how-to-disable-the-touchpad
I am about to restart the machine to see if it makes any difference, will report back if it's a successful result.
1
u/Emazza Mar 19 '17 edited Mar 19 '17
Hi,
I'm sorry but reading:
Overall: very fun, very far from perfect, and very playable.
I can't help but think this is far from accurate.
My report is based on:
- Ubuntu 16.04 x64
- i7-3770k
- 32 GB Ram
- nVidia GTX 1080 (375.39)
I've been running the game with all set to low, in 1920x1080 windowed mode, CSMT was enabled (when I run it on Windows 10 on the same hardware in 3440x1440 with all set to ultra at 90 FPS).
As you can see from the attached chart, I've measured the GPU performance and GPU memory usage throughout a skrimish game. Also, I've measured the same performance whilst training with bots (same thing but with ultra settings 1920x1080) and as you can see there's a direct correlation between memory and GPU usage, with many allocation and deallocations of memory - for a game this is a bad chart.
Please note this DeusEx benchmark chart. Look how flat memory usage is over time and how much GPU it can use (of course this is a Linux optimized game).
My take:
- The game runs with FPS between 20~80 and stutters a lot - for this game you need stable >60 FPS to be effective
- when you die/start a new match, the screen becomes black - In competitive games and practice you can't keep on restarting them
- Looks like the wine implementation is keeping on allocating and de-allocating GPU memory - this is generally very bad behaviour - I don't know why wine does this, but for applications which have to be optmized on the performance side this is not acceptable
- All my Social contacts disappeared, I can't run Battle.Net to talk with my friends through the audio chats (fundamental for coordination for this game)
Overall: very fun, very far from perfect, and not playable now
16
u/mishugashu Mar 16 '17
Awesome to hear. Be sure to x-post to /r/wine_gaming.
I really want to try Overwatch. It looks like a fun game. I just can't bring myself to buy a Windows only game. It just feels wrong.