00:15 Microlinux: Does anyone knows how to disable nine just from cmdline?
00:16 Microlinux: It should be just for built-in?
00:20 Microlinux: So, override
00:22 Microlinux: For some reason ninewinecfg doesn't allow to reenable it on box86
00:23 Microlinux: Mattia placed another ticket on nine on panfrost
06:30 q4a: Microlinux: that's bug, that I tried to fix. Nine replace current d3d9.dll and when you disable it - you are left without d3d9.dll at all.
06:34 q4a: you can reinstall / restore manually (in windows/system32 + windows/syswow64) and then test my fix: d3d9.dll ma https://github.com/q4a/wine-nine-standalone/actions/runs/4332784270
06:34 q4a: s/d3d9.dll ma//
14:45 orbea: q4a: is this a new bug or something that happens on specific circumstances? i dont recall ever have problems disabling nine before
16:04 q4a: orbea: it's more about switching between Nine and original d3d9.dll. It was reported here: https://github.com/iXit/wine-nine-standalone/issues/136
16:11 dhewg: I think it's still a new problem, maybe related to newer wine versions
16:12 dhewg: it worked as-is for years, all that was replaced/deleted were fake dlls
16:12 dhewg: but even with that, it's definitely nicer to keep backups and restore them
16:25 q4a: dhewg: we can discuss notes here (if it will be better) or here is my last comments:
16:25 q4a: https://github.com/iXit/wine-nine-standalone/pull/147#issuecomment-1455089747
16:43 dhewg: yeah, I still need to test that
16:44 dhewg: looks good so far, but gimme a bit
16:44 q4a: Ok. Thanks!
16:44 dhewg: it's been so long, I need to look a bit closer to get back in the game
16:45 dhewg: There's much room for improvements, some old and maybe outdated ways of doing things get confusing
16:46 dhewg: maybe we can clean it up further so it's less
17:05 orbea: glad to see nine is not dying in favor of dxvk, nothing against dxvk, but nine is nice :)
17:16 q4a: I would like to see good vulkan drivers on low spec ARM SBC, but It will not happen soon and Nine gives better performance. So it is better to choose the right tool (driver) for each task (game).
17:21 q4a: zmike has very interesting main branch with readme: "To run with any 32bit DXVK-compatible (Vulkan-supporting) Source engine game, use a steam command line of `LD_PRELOAD=/path/to/nine_sdl.so %command% -vulkan`."
17:21 q4a: https://github.com/zmike/Xnine
17:22 q4a: So it's possible to use Nine for native games, that uses DXVK.
17:46 dhewg: q4a: https://github.com/dhewg/wine-nine-standalone/commit/0d7b70266555a39e75afb1f18a92c41a3db2dd0a
17:47 dhewg: I may miss something proton specific, but does that work for you?
17:50 orbea: q4a: even if low spec ARM SBC get good vulkan drivers, will it ever be more performant than native nine?
17:51 orbea: probably doesn't matter for most people in practice given most nine games dont demand that much perf
17:51 q4a: dhewg: ok. I'll add comments and test it.
17:54 q4a: orbea: I don't think so. I have old (~2013 ) AMD A6-5200 APU with Vulkan support and Nine has much better perfomance in my games)
17:55 orbea: yea, i would suspect the conversion process has some inherent performance loss that would be hard to overcome
17:56 DavidHeidelberg[m]: q4a: I played most of mine games on the A8-3870K with Nine :) loved the Bioshock back then.
17:57 DavidHeidelberg[m]: orbea: anything lowend will never be more performant than native Nine ever I think :) (because with VK you always sacrifice at least many CPU cycles and extra memory allocations)
17:58 DavidHeidelberg[m]: question is how will low-end hold in scenarios as VK -> zink -> nine. I think in these cases DXVK may be better solution
17:58 orbea: fewer conversion processes so makes sense
18:00 dhewg: q4a: ok so the remaining issue is that if the before-nine d3d9.dll was already a symlink?
18:04 q4a: dhewg: it's 1 problem, but I need some time to test your changes.
18:04 q4a:Testing right now
18:05 dhewg: np, just trying to get the picture
18:06 dhewg: but that original symlink, is that your setup or is that how proton is shipped?
18:14 q4a: dhewg: I done with my tests - all good except case when original d3d9.dll is symlink.
18:17 q4a: Proton copied full d3d9.dll (without symlink) and created symlink for d3d8.dll. So, I would like to keep original d3d9.dll (in any case - if it's symlink or not)
18:19 DavidHeidelberg[m]: q4a: we need to integrate directly into wine
18:19 q4a: I didn't dig in Proton and some dat it can start adding symlinks to d3d9.dll.
18:20 DavidHeidelberg[m]: Since I visited XDC 2023 and spoke to Wine people, I think it should be possible they would allow us to integrate.
18:21 q4a: That will be good. I would like to help, if/when I will nedded
18:22 DavidHeidelberg[m]: on of simplest ideas could be if wine could be instructed to offer alternative d3d9.dll (so instead of native d3d9.dll, it would use d3d9-nine.dll which would look like d3d9.dll for the app). Or something like that. I have no idea how to implement it, but previously why wine-nine-standalone was born was reluctancy from wine side to integrate Nine
18:29 q4a: dhewg: I added this tweak and it helped me: https://github.com/q4a/wine-nine-standalone/commit/71a93220aeab5fd04964c95f402094310ae3db51
18:29 q4a: *for symlink case
18:31 q4a: hehe... https://github.com/dhewg/wine-nine-standalone/commit/512528d517d7d55c45701f0cdf9e2e4fb8656cf9
18:31 dhewg: yeah sry, was just looking here again
18:32 dhewg: it's all rather a mess, I think that check makes it clean?
18:32 dhewg: at least it doesn't blindly wipe any symlinks
18:35 dhewg: does that work for you?
18:41 q4a: dhewg: Yes. It works. But I have 2 questions: do you need 1) `HeapFree(GetProcessHeap(), 0, fn);`? 2) readlink works booth with real file and symlinks?
18:45 dhewg: it does, but we pass a windows path, which gets converted and the mem needs to be freed
18:46 dhewg: and you can't pass a wine windows path to the linux libc
18:46 dhewg: you'll just get -EWTF
18:47 dhewg: I squashed it all together and kept you as author: https://github.com/dhewg/wine-nine-standalone/commit/3bba100b836570a406d4aaeb0d335a8dcea8289e
18:47 dhewg: if that's okay with you I'll push it after some more tests
18:48 DavidHeidelberg[m]: s/originla/original
18:49 dhewg: thx
18:50 q4a: Thx. I'll force pushed it to PR?
18:51 dhewg: I could just push it, but we can do that too so the PR gets marked as merged correctly
18:53 q4a: I pushed to PR
18:56 q4a: + replace `originla` with `original` in commit message)
18:56 dhewg: DavidHeidelberg[m]: just read about the integration, that's sounds nice
18:56 dhewg: and surprising
18:56 dhewg: but in any case, I think how nine presents frames need to be reworked
18:57 dhewg: that's just all so incredibly ugly
18:58 dhewg: and to some extend that also plays a role if nine could go split mingw/unix to make it work with wow64 like recent wine does
18:58 DavidHeidelberg[m]: dhewg: maybe with Collabora pushing the Wine + Wayland, the Nine could slide with it :D (haha, there will be lot of challenges... lot of)
18:58 dhewg: so a pure 64bit nine for 32bit games too
18:59 DavidHeidelberg[m]: but since Nine is DRI3 ready, the Wayland switch shouldn't be hopefully that much painful
18:59 q4a: I think that microlinux and many other Nine users will be grateful. Just check how many videos he with NIne tests) https://www.youtube.com/@microlinux/videos
18:59 DavidHeidelberg[m]: I think when people will know about it, they'll be pretty happy :)
18:59 dhewg: and yes, wayland plays a role too, right now there're alot spots with only work with x11
19:00 q4a: Wayland switch - is what I was thinking))
19:00 dhewg: I barely run games anymore though, so I may not be up to the current state
19:01 DavidHeidelberg[m]: dhewg: heh, that's mine issue too. I play like cs 1.6 time to time :D and that run on GL or d3draw?
19:01 dhewg: no clue ;)
19:01 q4a: I like to run games, but mostly for testing purposes)
19:02 dhewg: but monkey island 1/2 ee was on sale recently on gog
19:02 dhewg: which I grabbed
19:02 dhewg: both d3d9 heh
19:02 DavidHeidelberg[m]: I would love to play Bioshock again :) and maybe Starcraft II which I started playing because of Nine :D
19:03 q4a: dhewg: will you accept PR or need more testing? https://github.com/iXit/wine-nine-standalone/pull/147
19:04 dhewg: merged, thanks for your work
19:04 q4a: Thanks!
19:05 q4a: I'll be AFK for a while
19:06 DavidHeidelberg[m]: sarnex_: does sarnex still plays CS:GO? :D
19:07 sarnex: not in years :)
20:39 q4a: I'm back) Another thing, which I would like to see - is good integration to proton. Proton already has vars like PROTON_USE_WINED3D. So I would like to see PROTON_USE_NINE =)
20:41 q4a: steam already works on powerful ARM SoC with rk3588 with box86
20:42 DavidHeidelberg[m]: For this, I think we have to convince Valve that Nine is amazing :P
20:42 DavidHeidelberg[m]: imho Steam Deck could benefit from it in terms of battery life
20:43 q4a: Hm.. that could be interesting)
21:33 dhewg: iirc there was an issue about that on valve's repo?
21:36 q4a: about Nine? nine was requested a long time ago: https://github.com/ValveSoftware/Proton/issues/66
21:37 DavidHeidelberg[m]: I meant for Valve, we would have to form some team working on it actively and try to convince them to "invest" into Nine
21:42 q4a: May be just check Proton code, add Nine support, create PR and prove, that it will not break anything + allow to use Nine?)
21:42 q4a: https://github.com/ValveSoftware/Proton/blob/f4c090a221bba9a7bc0e5eb61b793bfd1f48c332/proton#L907 - here is PROTON_USE_WINED3D switch)
21:44 q4a: Or you think, that Valve will fix Nine driver in Mesa, if people will send issues about it?
21:49 q4a: I don't think so. My favorite test game Sea Dogs: To Each His Own (app id 223330) did not fixed booth Valve and DXVK devs:
21:49 q4a: https://github.com/ValveSoftware/Proton/issues/1887
21:49 q4a: https://github.com/doitsujin/dxvk/issues/2457
21:49 DavidHeidelberg[m]: I think Valve following one path. That path is DXVK and vkd3d-proton
21:50 DavidHeidelberg[m]: If you bring MR, I'll support it for sure, but I don't believe in huge chances of success without additional convincing Valve.
21:50 q4a: Then why did they add PROTON_USE_WINED3D?
21:51 DavidHeidelberg[m]: fallback?
21:52 DavidHeidelberg[m]: Be aware, I'm pretty pesimistic in general, so I could be wrong in my predictions ;-)
21:54 q4a: Yep.. I think, that goal - is to give people way to play games using steam => get more money. So if something will work better in Nine - that will be good for Valve.
21:55 q4a: + Valve always can say: "We hear you/your needs and add Nine support/close old issue" =)
22:00 DavidHeidelberg[m]: Sure sure, but they currently have solution which is working well enough.
22:00 DavidHeidelberg[m]: Nine is mostly useful when battery or hardware is the limiting factor. For regular gaming with Steam, DXVK on powerful computers is enough.
22:01 DavidHeidelberg[m]: So, if we want acceptance from Valve, it must cover some of theirs needs. Only thing which I currently think of is the Steam Deck battery life.
22:01 DavidHeidelberg[m]: I don't think Valve has any ARM devices currently (hopefully in future? :P )
22:05 q4a: Steam Deck battery life - good case. Another thing - if nine will be supported in Wine - it will goes to proton too and last thing to do will be just add a switch?
22:08 DavidHeidelberg[m]: q4a: for integration in Wine, we'll have to start discussion with d3d wine team how to do that correctly. I don't think throwing some code at them will work :D (we tried many years back :D )
22:09 DavidHeidelberg[m]: but then if Proton doesn't strip that parts, it could work
22:11 q4a: Ok. It's time to sleep and think about it in the morning.
22:16 DavidHeidelberg[m]: Good night q4a
22:20 q4a: good night