Hi all,
Anyone have any experience with the wine-pba patchset? (Persistent Buffer Allocator)
The one I know of hasn't been rebased for a long time and so won't apply on current wine, although I see Lutris does make use of it, but not sure if only on older wine versions. Is there some way to get it compiled into current wine so I can test it out? (or perhaps into wine-staging, if it requires that). If not, what's the last wine / wine-staging version that supported it?
I'm interested in comparing the performance between it and DXVK on some games I'm testing, especially those where DXVK seems to provide almost no benefit (or sometimes even worse performance!) over wined3d, which is a bit odd. I've seen numerous claims that wine-pba provides even greater performance than DXVK on certain titles, so I'm curious.
At this point, it might also be something on my end regarding Vulkan and why DXVK doesn't really shine. If PBA gives a large performance gain, then it would be interesting to see why DXVK is so slow (otherwise it could just be the game itself that's the problem).
Overall I think it would be nice to experiment with it.
Thanks, Gabriel
On Fri, Jun 7, 2019 at 4:24 PM Gabriel Ivăncescu gabrielopcode@gmail.com wrote:
I'm interested in comparing the performance between it and DXVK on some games I'm testing, especially those where DXVK seems to provide almost no benefit (or sometimes even worse performance!) over wined3d, which is a bit odd. I've seen numerous claims that wine-pba provides even greater performance than DXVK on certain titles, so I'm curious.
The PBA patchset is a wined3d patchset. It doesn't have any influence on DXVK.
On Fri, 7 Jun 2019 at 19:24, Józef Kucia joseph.kucia@gmail.com wrote:
On Fri, Jun 7, 2019 at 4:24 PM Gabriel Ivăncescu gabrielopcode@gmail.com wrote:
I'm interested in comparing the performance between it and DXVK on some games I'm testing, especially those where DXVK seems to provide almost no benefit (or sometimes even worse performance!) over wined3d, which is a bit odd. I've seen numerous claims that wine-pba provides even greater performance than DXVK on certain titles, so I'm curious.
The PBA patchset is a wined3d patchset. It doesn't have any influence on DXVK.
If you're interested in doing performance work though, I'd argue it would be more interesting to try to close the gap for those cases where DXVK is currently faster than wined3d. It's great that DXVK is working so well for some people, but it's also ultimately a dead end.
On the subject of PBA, I'm not aware of a more recent rebase, although that doesn't necessarily mean there doesn't exist one. Matteo has a set of patches using a somewhat similar approach that you may find interesting though. Those aren't publicly available, but he may be willing to let you have a look if you ask nicely.
On 6/7/19 6:15 PM, Henri Verbeet wrote:
On Fri, 7 Jun 2019 at 19:24, Józef Kucia joseph.kucia@gmail.com wrote:
On Fri, Jun 7, 2019 at 4:24 PM Gabriel Ivăncescu gabrielopcode@gmail.com wrote:
I'm interested in comparing the performance between it and DXVK on some games I'm testing, especially those where DXVK seems to provide almost no benefit (or sometimes even worse performance!) over wined3d, which is a bit odd. I've seen numerous claims that wine-pba provides even greater performance than DXVK on certain titles, so I'm curious.
The PBA patchset is a wined3d patchset. It doesn't have any influence on DXVK.
If you're interested in doing performance work though, I'd argue it would be more interesting to try to close the gap for those cases where DXVK is currently faster than wined3d. It's great that DXVK is working so well for some people, but it's also ultimately a dead end.
Yeah, in most case DXVK seems to be indeed faster, sometimes it's slower though (I don't know if it's my setup, or the game), but I see a lot of people who test both DXVK and wined3d with pba claim that wine-pba is actually faster than DXVK by a nice margin (10%-20% or more) in many cases, which is why I want to test it out for myself. :-)
Since DXVK already uses persistent buffers, it's a much fairer comparison between an OpenGL backend and Vulkan if we also use pba for wined3d.
On the subject of PBA, I'm not aware of a more recent rebase, although that doesn't necessarily mean there doesn't exist one. Matteo has a set of patches using a somewhat similar approach that you may find interesting though. Those aren't publicly available, but he may be willing to let you have a look if you ask nicely.
That would be great. FWIW I don't mind if they're hacks at all or in crude condition, since it's just for testing purposes.
Matteo would you please let me try out your patchset?
On Fri, Jun 7, 2019 at 5:59 PM Gabriel Ivăncescu gabrielopcode@gmail.com wrote:
On 6/7/19 6:15 PM, Henri Verbeet wrote:
On Fri, 7 Jun 2019 at 19:24, Józef Kucia joseph.kucia@gmail.com wrote:
On Fri, Jun 7, 2019 at 4:24 PM Gabriel Ivăncescu gabrielopcode@gmail.com wrote:
I'm interested in comparing the performance between it and DXVK on some games I'm testing, especially those where DXVK seems to provide almost no benefit (or sometimes even worse performance!) over wined3d, which is a bit odd. I've seen numerous claims that wine-pba provides even greater performance than DXVK on certain titles, so I'm curious.
The PBA patchset is a wined3d patchset. It doesn't have any influence on DXVK.
If you're interested in doing performance work though, I'd argue it would be more interesting to try to close the gap for those cases where DXVK is currently faster than wined3d. It's great that DXVK is working so well for some people, but it's also ultimately a dead end.
Yeah, in most case DXVK seems to be indeed faster, sometimes it's slower though (I don't know if it's my setup, or the game),
What is your setup / what games, for reference?
but I see a lot of people who test both DXVK and wined3d with pba claim that wine-pba is actually faster than DXVK by a nice margin (10%-20% or more) in many cases, which is why I want to test it out for myself. :-)
Do you recall which GPU and drivers? FWIW wine-pba is mostly a proof-of-concept (if a VERY interesting one :), a number of things are simply ignored / not handled, which means applications might crash or otherwise not work correctly. Performance might also be affected, along the lines of "it's fast, but it's also wrong".
Since DXVK already uses persistent buffers, it's a much fairer comparison between an OpenGL backend and Vulkan if we also use pba for wined3d.
I don't know about fair but yes, we have room for improvement in wined3d.
On the subject of PBA, I'm not aware of a more recent rebase, although that doesn't necessarily mean there doesn't exist one. Matteo has a set of patches using a somewhat similar approach that you may find interesting though. Those aren't publicly available, but he may be willing to let you have a look if you ask nicely.
That would be great. FWIW I don't mind if they're hacks at all or in crude condition, since it's just for testing purposes.
Matteo would you please let me try out your patchset?
Sure, as Henri mentioned I don't have them in any public place at the moment and yeah, they are not exactly clean in places (the hope is to start upstreaming them in the near future though). I'll send you a separate email pointing to some place you can find them.
That is indeed interesting for more of us tho. The old PBA patchset had some issues where you ended up with a tweakable knob needed to be tweaked for some games to not crash.
Am i right in thinking that PBA would not have too much impact on vkd3d/d3d12? I guess it kind of works similar to DXVK that the graphics work is handed over to libvkd3d rather than wined3d doing "the work" so to speak?
Feel free to mail me a link too for this, and ill fiddle around with it some :)
Sveinar
----- On Jun 12, 2019, at 10:37 AM, Matteo Bruni matteo.mystral@gmail.com wrote:
On Fri, Jun 7, 2019 at 5:59 PM Gabriel Ivăncescu gabrielopcode@gmail.com wrote:
On 6/7/19 6:15 PM, Henri Verbeet wrote:
On Fri, 7 Jun 2019 at 19:24, Józef Kucia joseph.kucia@gmail.com wrote:
On Fri, Jun 7, 2019 at 4:24 PM Gabriel Ivăncescu gabrielopcode@gmail.com wrote:
I'm interested in comparing the performance between it and DXVK on some games I'm testing, especially those where DXVK seems to provide almost no benefit (or sometimes even worse performance!) over wined3d, which is a bit odd. I've seen numerous claims that wine-pba provides even greater performance than DXVK on certain titles, so I'm curious.
The PBA patchset is a wined3d patchset. It doesn't have any influence on DXVK.
If you're interested in doing performance work though, I'd argue it would be more interesting to try to close the gap for those cases where DXVK is currently faster than wined3d. It's great that DXVK is working so well for some people, but it's also ultimately a dead end.
Yeah, in most case DXVK seems to be indeed faster, sometimes it's slower though (I don't know if it's my setup, or the game),
What is your setup / what games, for reference?
but I see a lot of people who test both DXVK and wined3d with pba claim that wine-pba is actually faster than DXVK by a nice margin (10%-20% or more) in many cases, which is why I want to test it out for myself. :-)
Do you recall which GPU and drivers? FWIW wine-pba is mostly a proof-of-concept (if a VERY interesting one :), a number of things are simply ignored / not handled, which means applications might crash or otherwise not work correctly. Performance might also be affected, along the lines of "it's fast, but it's also wrong".
Since DXVK already uses persistent buffers, it's a much fairer comparison between an OpenGL backend and Vulkan if we also use pba for wined3d.
I don't know about fair but yes, we have room for improvement in wined3d.
On the subject of PBA, I'm not aware of a more recent rebase, although that doesn't necessarily mean there doesn't exist one. Matteo has a set of patches using a somewhat similar approach that you may find interesting though. Those aren't publicly available, but he may be willing to let you have a look if you ask nicely.
That would be great. FWIW I don't mind if they're hacks at all or in crude condition, since it's just for testing purposes.
Matteo would you please let me try out your patchset?
Sure, as Henri mentioned I don't have them in any public place at the moment and yeah, they are not exactly clean in places (the hope is to start upstreaming them in the near future though). I'll send you a separate email pointing to some place you can find them.
On Wed, 12 Jun 2019 at 16:16, Sveinar Søpler cybermax@dexter.no wrote:
Am i right in thinking that PBA would not have too much impact on vkd3d/d3d12? I guess it kind of works similar to DXVK that the graphics work is handed over to libvkd3d rather than wined3d doing "the work" so to speak?
That's correct.
Henri
On 6/12/19 11:37 AM, Matteo Bruni wrote:
On Fri, Jun 7, 2019 at 5:59 PM Gabriel Ivăncescu gabrielopcode@gmail.com wrote:
On 6/7/19 6:15 PM, Henri Verbeet wrote:
On Fri, 7 Jun 2019 at 19:24, Józef Kucia joseph.kucia@gmail.com wrote:
On Fri, Jun 7, 2019 at 4:24 PM Gabriel Ivăncescu gabrielopcode@gmail.com wrote:
I'm interested in comparing the performance between it and DXVK on some games I'm testing, especially those where DXVK seems to provide almost no benefit (or sometimes even worse performance!) over wined3d, which is a bit odd. I've seen numerous claims that wine-pba provides even greater performance than DXVK on certain titles, so I'm curious.
The PBA patchset is a wined3d patchset. It doesn't have any influence on DXVK.
If you're interested in doing performance work though, I'd argue it would be more interesting to try to close the gap for those cases where DXVK is currently faster than wined3d. It's great that DXVK is working so well for some people, but it's also ultimately a dead end.
Yeah, in most case DXVK seems to be indeed faster, sometimes it's slower though (I don't know if it's my setup, or the game),
What is your setup / what games, for reference?
I'm using the Nvidia Vulkan beta driver 418.52.10 (for DXVK) currently on a (somewhat dated) GTX 750 Ti card. Suffice to say it doesn't have that much horsepower for most games to run at 60 FPS, even on Windows, although ideally wine should have a 10%-20% perf hit, if it's possible (I know it's complicated, but one can dream).
As such I'm mostly looking at more indie games (preferably free to test) because those tend to have lower graphics requirements. One recently released game that is using UE4 that I found on Steam and I'm having difficulties with DXVK with is Kurtzpel. For some reason DXVK keeps on having a black screen randomly on launch so it's difficult to test (I tried workarounds suggested and it happens only some times). However, even when it works, the performance is quite bad compared to wined3d.
Reports on ProtonDB suggest that the game should work fine with DXVK albeit with some graphical glitches, so I'll also give proton a try in the near future for it, but first I wanted to see how wine-pba vs DXVK is handled.
The reason I ask for PBA is because, obviously, if I end up finding the bottleneck is PBA and it's "already solved" (just not upstreamed yet) it would be quite a wasted effort. Also, I'm aware that 32-bit games will suffer from PBA due to the limited address space, unfortunately. That's not the case here, though.
but I see a lot of people who test both DXVK and wined3d with pba claim that wine-pba is actually faster than DXVK by a nice margin (10%-20% or more) in many cases, which is why I want to test it out for myself. :-)
Do you recall which GPU and drivers? FWIW wine-pba is mostly a proof-of-concept (if a VERY interesting one :), a number of things are simply ignored / not handled, which means applications might crash or otherwise not work correctly. Performance might also be affected, along the lines of "it's fast, but it's also wrong".
Sorry, I have no idea, I think it was a post on stackoverflow or reddit with people sharing their experiences, I'm not even sure if they posted specs honestly. It's just what I remembered seeing.
Sure, as Henri mentioned I don't have them in any public place at the moment and yeah, they are not exactly clean in places (the hope is to start upstreaming them in the near future though). I'll send you a separate email pointing to some place you can find them.
Thank you, and also I'm really looking forward to seeing them upstreamed at some point. :-)
It's great that DXVK is working so well for some people, but it's also ultimately a dead end.
How so?
Regards, Fabian Maurer
On Fri, 7 Jun 2019 at 20:51, Fabian Maurer dark.shadow4@web.de wrote:
It's great that DXVK is working so well for some people, but it's also ultimately a dead end.
How so?
I wrote a more elaborate explanation a while ago; it shouldn't be too hard to find in the mailing list archives. The short version is that Wine's own Vulkan D3D backend should make DXVK superfluous in the long term.
On 6/7/19 10:53 AM, Józef Kucia wrote:
On Fri, Jun 7, 2019 at 4:24 PM Gabriel Ivăncescu gabrielopcode@gmail.com wrote:
I'm interested in comparing the performance between it and DXVK on some games I'm testing, especially those where DXVK seems to provide almost no benefit (or sometimes even worse performance!) over wined3d, which is a bit odd. I've seen numerous claims that wine-pba provides even greater performance than DXVK on certain titles, so I'm curious.
The PBA patchset is a wined3d patchset. It doesn't have any influence on DXVK.
And from what I understand, DXVK has always used persistently mapped buffers along the same lines as Andrew Comminos' patchset.