While you're here, please consider supporting GamingOnLinux on:
Reward Tiers: Patreon. Plain Donations: PayPal.
This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!
You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Reward Tiers: Patreon. Plain Donations: PayPal.
This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!
You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register
- Funded in 5 minutes - the open source modular mini computer 'Pilet' is on Kickstarter
- The Awesome Games Done Quick Humble Bundle is a good deal not to be missed
- GPD WIN 4 handheld plans to support Valve's SteamOS in 2025 (updated: nope) [updated]
- There is no AMD Z2 Steam Deck model coming - Valve
- Steam / Steam Deck Beta update brings improvements for Startup Animations, Steam Input and more
- > See more over 30 days here
Recently Updated
- While Palworld enjoys a resurgence Valve dropped the rating to Steam Deck Unsupported
- GPD WIN 4 handheld plans to support Valve's SteamOS in 2025 (updated: nope)
- Valve confirms a public beta of SteamOS is coming as 'SteamOS expands beyond Steam Deck'
- Discord Canary on Linux breaks Wayland screen-sharing support for now
- Wireless HORIPAD for Steam gets a firmware fix for the Steam Deck OLED
-
Mecha Comet looks like a fun little modular Linux handh…
- R Daneel Olivaw -
Refurbished Steam Deck LCD and Steam Deck OLED back in …
- Moxon -
The Dark Eye: Chains of Satinav adventure game from Dae…
- mylka -
Mecha Comet looks like a fun little modular Linux handh…
- Doktor-Mandrake -
Google and The Linux Foundation team up for 'Supporters…
- Linux_Rocks - > See more comments
View PC info
Will reboot and snap a shot using windows on the same spot and see what fps that is.
Same position but now on Windows. Using same ultra settings as 1080p picture above but with one change, removed vsync (since my monitor is only 60Hz).
"big square in Novigorad" ~110-120fps
EDIT: First one with img-tag and other raw link:
![](https://i.imgur.com/4Hf0nLW.png)
https://imgur.com/a/R28JA
Weird, any ideas what I should check in imgur? I posted the "to the wall" or whatever that is. :-D
Needed to do some email-verification thingy that took a few minutes after I posted.
Thanks,
Anders
View PC info
View PC info
EDIT:
Did a new run at the same spot using ultra 1080p version with d3d_perf enabled, referenced in a bugzilla somewhere.
Spoiler, click me
1493 warn:d3d_perf:resource_check_usage WINED3DUSAGE_DYNAMIC used without WINED3DUSAGE_WRITEONLY.
877 warn:d3d_perf:wined3d_debug_callback 0x7f1bdaa894a0: "Buffer performance warning: Buffer object 1024 (bound to GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (0), GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (1), and GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (2), usage hint is GL_STREAM_DRAW) is being copied/moved from VIDEO memory to HOST memory.".
877 warn:d3d_perf:wined3d_debug_callback 0x7f1bdaa894a0: "Buffer performance warning: Buffer object 157 (bound to GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (0), GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (1), and GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (2), usage hint is GL_STREAM_DRAW) is being copied/moved from VIDEO memory to HOST memory.".
877 warn:d3d_perf:wined3d_debug_callback 0x7f1bdaa894a0: "Buffer performance warning: Buffer object 2288 (bound to GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (0), GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (1), and GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (2), usage hint is GL_STREAM_DRAW) is being copied/moved from VIDEO memory to HOST memory.".
6 warn:d3d_perf:wined3d_debug_callback 0x7f1bdaa894a0: "Buffer performance warning: Buffer object 2621 (bound to GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (1), GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (2), and GL_ARRAY_BUFFER_ARB, usage hint is GL_STREAM_DRAW) is being copied/moved from VIDEO memory to HOST memory.".
6 warn:d3d_perf:wined3d_debug_callback 0x7f1bdaa894a0: "Buffer performance warning: Buffer object 2756 (bound to GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (0), GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (1), GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (2), GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (3), GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (4), and GL_AR"....
1 warn:d3d_perf:wined3d_debug_callback 0x7f1bdaa894a0: "Buffer performance warning: Buffer object 3187 (bound to GL_ARRAY_BUFFER_ARB, usage hint is GL_STREAM_DRAW) is being copied/moved from VIDEO memory to DMA CACHED memory.".
486 warn:d3d_perf:wined3d_debug_callback 0x7f1bdaa894a0: "Buffer performance warning: Buffer object 3187 (bound to GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (0), GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (1), and GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (2), usage hint is GL_STREAM_DRAW) is being copied/moved from VIDEO memory to HOST memory.".
877 warn:d3d_perf:wined3d_debug_callback 0x7f1bdaa894a0: "Buffer performance warning: Buffer object 957 (bound to GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (0), GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (1), and GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (2), usage hint is GL_STREAM_DRAW) is being copied/moved from VIDEO memory to HOST memory.".
If interesting I can upload the entire log, the above is the "sort | uniq -c" version.
I am playing on wine-staging 2.20 with good results as described in my post. On weekend I was curious with the bugfixes for wine 2.21 and tried vanila 2.21. I had to apply the reg hacks. After starting TW3 I continued my old save in Velen (little time after the hanging man tree where y meet the priest who tells y to burn the corpses). The performance was about 1/3 of staging 2.20, around 15-20 fps. As I ignited the fire over the corpses the fps dropped below 1 fps and stayed there.
The biggest problem that I have atm with 2.20 staging is that TW3 (and my whole system) freezes after a short time of playing my save in Velen. Therefore I cant do a test in Novigrad. Sorry. I have to wait for staging 2.21.
View PC info
These are both expected issues with known workarounds.
For more details, see:
https://bugs.winehq.org/show_bug.cgi?id=43273
https://bugs.winehq.org/show_bug.cgi?id=42592
Also take a look at the howto, since it looks like you missed it: https://appdb.winehq.org/objectManager.php?sClass=version&iId=34698#notes
Basically, to avoid low performance, you need this staging patch:
https://github.com/wine-compholio/wine-staging/tree/master/patches/wined3d-buffer_create
To avoid the freeze, you either need to use Wine master which already has a fix, or apply a patch and revert to 2.20. See https://bugs.winehq.org/show_bug.cgi?id=43273#c57
You don't need to use whole staging, I prefer to use regular Wine master, with a minimal set of patches. See above in the howto.
compiled wine master with wined3d-buffer_create wined3d-GenerateMips d3d11-Deferred_Context xaudio2-get_al_format. I dont get freezes anymore and the performance is ok - the fps seems to be a bit lower as with a full staging. Will post pics when I am in Novigrad.
edit: Do y use special CFLAGs (eg CFLAGS="-Ofast -march=native" ) or something like that when y compile wine? I did just a standard compile without CFLAGs. Will it make a significant difference?
View PC info
I don't think it makes a big difference. I use -O3 and -march=znver1 (not -march=native, since I compile inside a VM and KVM/Qemu and virt-manager have hard time detecting Ryzen properly). If you are compiling straight on the same OS, then -march=native should be enough.
I installed m-bab 4.14.0-kernel with new firmware package. I will first test the new compiled wine and after I will test 4.14.0. From 4.14.0 I will post later pics with the performance
CPU: Octa core AMD Ryzen 7 1700 Eight-Core (-HT-MCP-) cache: 4096 KB
clock speeds: max: 3800 MHz 1: 3800 MHz 2: 3800 MHz 3: 3800 MHz 4: 3800 MHz 5: 3800 MHz 6: 3800 MHz
7: 3800 MHz 8: 3800 MHz 9: 3800 MHz 10: 3800 MHz 11: 3800 MHz 12: 3800 MHz 13: 3800 MHz 14: 3800 MHz
15: 3800 MHz 16: 3800 MHz
Graphics: Card: Advanced Micro Devices [AMD/ATI] Vega [Radeon RX Vega]
Display Server: X.Org 1.19.5 drivers: ati,amdgpu (unloaded: modesetting,fbdev,vesa,radeon)
Resolution: [email protected]
OpenGL: renderer: AMD VEGA10 (DRM 3.23.0 / 4.14.0+, LLVM 5.0.0)
version: 4.5 Mesa 17.3.0-rc3 - padoka PPA
Game started with taskset -c 8-15 wine (to avoid inter-ccx-communication). Everything maxed out except hairworks off. Resolution 1600x900 for screenshots with watch amdgpu_pm_info
Novigrad:
![](https://i.imgur.com/nIQdKi8.jpg)
looks like it snowed, the ground looks so metallic
![](https://i.imgur.com/jtx1fYa.jpg)
I had a hard time to make the GPU to speed the clock up. Almost it stayed at 99x Mhz. I tested with Crysis 2 and Wine-Gallium-Nine 2.19. The same. Its very hard to speed the Vega up. I tested with Tomb Raider 2013 and had to max out everything to ramp the clock up to 15xx. On Win10 the Vega clocks up very very quickly and is around 14xx or 15xx MHz.
![](https://i.imgur.com/OyQsmCK.jpg)
The GPU-Load-graph looks strange - around 70% and not higher. No obvious bottleneck, CPU isnt 100% at no core.
View PC info
May be your GPU is set to run in power conserving mode, instead of performance? There should be kernel variable that specifies that (I don't remember what it is, I can look it up).
View PC info
sudo cat /sys/class/drm/card0/device/power_dpm_state
it can be set to balanced, performance or auto. Try setting it to auto. It will make good dynamic clocking. Or set to performance to always use max (though it will be heating up too much).
echo auto > /sys/class/drm/card0/device/power_dpm_state -> invalid argument
echo "balanced" > /sys/class/drm/card0/device/power_dpm_state -> accepted but
cat /sys/class/drm/card0/device/power_dpm_state
performance
Its strange. I think we will have to wait till 4.15 and all patches from amd.
That may not be correct. I assume your taskset disabled four cores, so you're running at 4 cores. But you're cpu display shows the 8 threads. What is unclear is how those 8 threads are loading the four cores and what exactly the meaning of the % is. But if it's written as percentage of core load, then the sum of the first picture is 367%, which is pretty close to 400%. So it's likely that at least one is maxed out.
I'm not sure why they didn't keep it the way they did in the early days of hyperthreading. Back then you only saw the load for cores you had in total and the hyperthreading stuff wasn't actually displayed separately.
View PC info
Possibly. Looks like now things are still messy.
View PC info
* Built my own from 2.20 sources
* Applied all staging patches
* Modified 0001-wined3d-Do-not-pin-large-buffers.patch to use 0x80000 instead of 0x10000
* Used -O3 and -march=native
EDIT: Results 15-20% fps improvement. :-)
So 28-32 fps while in the wilds and roughly 22-24 in Novigorad.
Massive improvement to 2.20 vanilla as with build above even fighting is now smoother (at 30fps level but still!).
Most improved in the wilds, not so much in Novigorad.
![](https://i.imgur.com/OwOExYJ.png)
![](https://i.imgur.com/EQiOjBl.png)
![](https://i.imgur.com/1ngsa0u.png)
![](https://i.imgur.com/EOlNX89.png)
Still slow when storms and in Novigorad though:
![](https://i.imgur.com/z6TY3Tv.png)
![](https://i.imgur.com/2GAmIFq.png)
Sorry if I'm spamming to many pictures, just let me know if that is the case. :-)
View PC info
View PC info
Spoke a little too soon, was awhile since I visited hanged mans tree. Got better results with vanilla staging there as well (than I remembered). Still an improvement with custom build but not as much. :-/
View PC info
View video on youtube.com
I wonder how much they'll cost. I'm going to buy one for TW3 in Wine eventually. Though 3 power connectors and 3 fans look a bit crazy. Hopefully 56 model will be less of a beast.
Thx, that a good point. Never thought this way 4c/8t = 400% because its 100% per physical core. For me it was always 8threads = 800% and as long as one thread isnt 100% there is no bottleneck.
But make perfect sense.
Shmerl, I have bought my Vega for around 400 Euros and paid around 100 Euros for the Morpheus II and two Ncotua 120 mm fans. So in total 500 Euros. The Vega is cool and quite. This is a very good video for mounting the Morpheus:
https://www.youtube.com/watch?v=THaMlkNDzYs
If y dont wanna wait for custom solutions - funny sidenote: In this video he benches the Vega performance with TW3 :)
So sad that it seems to be in a rough state for Linux atm :(
View PC info