#428 Does not launch with `wine-staging` on Arch

Kapalı
FichteFoll tarafından 1 yıl önce kere açıldı · 14 yorum
FichteFoll 1 yıl önce olarak yorumlandı

As mentioned by @rodwood_tide already in #422, the game refuses to launch with wine-staging since the last update. Before the patch, on Tuesday, it still worked for me with 8.7. Afterwards I updated wine and genshin and it didn't launch anymore. Switching to wine, also 8.8, worked. (In hindsight, maybe it even worked on 8.8 before the patch, but I don't exactly remember when I did what.)

I wasn't able to get any informative logs of the launch failure. The process just exist quickly after launching. Will paste them later after retrying (want to finish my stuff first).

As mentioned by @rodwood_tide already in https://notabug.org/Krock/dawn/issues/422#issuecomment-36325, the game refuses to launch with `wine-staging` since the last update. Before the patch, on Tuesday, it still worked for me with 8.7. Afterwards I updated wine and genshin and it didn't launch anymore. Switching to `wine`, also 8.8, worked. (In hindsight, maybe it even worked on 8.8 before the patch, but I don't exactly remember when I did what.) I wasn't able to get any informative logs of the launch failure. The process just exist quickly after launching. Will paste them later after retrying (want to finish my stuff first).
Krock 1 yıl önce olarak yorumlandı
Sahibi

Would you please be so nice to give this 1-byte modification a try?

Workaround: dd if=<(echo -ne "\xc3") of=UnityPlayer.dll bs=1 seek=$((0x01829E50)) conv=notrunc

Revert to patched state: dd if=<(echo -ne "\x48") of=UnityPlayer.dll bs=1 seek=$((0x01829E50)) conv=notrunc

If that does not work either, I will list wine-staging as broken in TROUBLESHOOTING.md.

Would you please be so nice to give this 1-byte modification a try? Workaround: `dd if=<(echo -ne "\xc3") of=UnityPlayer.dll bs=1 seek=$((0x01829E50)) conv=notrunc` Revert to patched state: `dd if=<(echo -ne "\x48") of=UnityPlayer.dll bs=1 seek=$((0x01829E50)) conv=notrunc` If that does not work either, I will list wine-staging as broken in TROUBLESHOOTING.md.
igorlima 1 yıl önce olarak yorumlandı

Not OP, but can reproduce it as well, and Krock's workaround allows the game to run with wine-staging 8.8.

Not OP, but can reproduce it as well, and Krock's workaround allows the game to run with wine-staging 8.8.
Krock 1 yıl önce olarak yorumlandı
Sahibi

Thank you for testing. I will provide an improved patch in approx. 24 hours. If the server begins to send problematic payload in the meantime, I will try to include a workaround for that as well.

EDIT 2023-06-02: Due to lack of time, this will be addressed in the next few days. It is time to change the syscall approach because they are now captured and likely handled by an alternating function.

Thank you for testing. I will provide an improved patch in approx. 24 hours. If the server begins to send problematic payload in the meantime, I will try to include a workaround for that as well. EDIT 2023-06-02: Due to lack of time, this will be addressed in the next few days. It is time to change the syscall approach because they are now captured and likely handled by an alternating function.
FichteFoll 1 yıl önce olarak yorumlandı
Poster

I can confirm this.

I can confirm this.
Alex72 1 yıl önce olarak yorumlandı

Most mysterious thing is, Wine-Staging 8.8 didn't introduce any changes compared to 8.7. Like, at all. Some patches were merged into vanilla Wine 8.8 and that's basically it.

I've myself skipped 8.8 and updated straight onto Wine-Staging 8.9. No issues so far, no extra tweaks required.

Do you use some kind of a third-party wine-staging build like wine-tkg? What is your distro?

Most mysterious thing is, Wine-Staging 8.8 didn't introduce any changes compared to 8.7. Like, at all. Some patches were merged into vanilla Wine 8.8 and that's basically it. I've myself skipped 8.8 and updated straight onto Wine-Staging 8.9. No issues so far, no extra tweaks required. Do you use some kind of a third-party wine-staging build like wine-tkg? What is your distro?
FichteFoll 1 yıl önce olarak yorumlandı
Poster

Whops, I completely forgot to mention my distro. I'm on Arch and used the official package on its repos (for both wine and wine-staging).

Whops, I completely forgot to mention my distro. I'm on Arch and used the official package on its repos (for both `wine` and `wine-staging`).
FichteFoll 1 yıl önce olarak yorumlandı
Poster

I also tried downgrading to wine-staging 8.7 (from my cache) and that also can't launch the game, so it's likely that it is indeed related to this version (or the patch) in particular since it definitely worked last week on 3.6.

Since wine-staging 8.9 is out now for Arch, I also tested that just now and that also can't launch the game

Here are also some logs:

~/games/genshin-impact/…/Genshin Impact/Genshin Impact Game Σ WINEPREFIX=$HOME/games/genshin-impact wine launcher.bat
002c:fixme:winediag:LdrInitializeThunk wine-staging 8.9 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
002c:err:wineboot:process_run_key Error running cmd L"C:\\windows\\system32\\winemenubuilder.exe -a -r" (126).
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
012c:fixme:file:NtLockFile I/O completion on lock not implemented yet
012c:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0148:err:setupapi:create_dest_file failed to create L"C:\\windows\\system32\\d3d12.dll" (error=80)
wine: configuration in L"/home/fichte/games/genshin-impact" has been updated.

~/games/genshin-impact/…/Genshin Impact/Genshin Impact Game ж 0178:fixme:heap:EnumSystemFirmwareTables (0x4649524d, 0000000000000000, 0)                                                                                                                                                                     [fichte@pinaceae]
017c:fixme:kernelbase:AppPolicyGetThreadInitializationType FFFFFFFFFFFFFFFA, 000000000194FE10
0178:fixme:toolhelp:CreateToolhelp32Snapshot Unimplemented: heap list snapshot
0178:fixme:toolhelp:Heap32ListFirst : stub
0178:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION


~/games/genshin-impact/…/Genshin Impact/Genshin Impact Game λ wine --version
wine-8.9 (Staging)
I also tried downgrading to `wine-staging` 8.7 (from my cache) and that also can't launch the game, so it's likely that it is indeed related to this version (or the patch) in particular since it definitely worked last week on 3.6. Since `wine-staging` 8.9 is out now for Arch, I also tested that just now and that also can't launch the game Here are also some logs: ``` ~/games/genshin-impact/…/Genshin Impact/Genshin Impact Game Σ WINEPREFIX=$HOME/games/genshin-impact wine launcher.bat 002c:fixme:winediag:LdrInitializeThunk wine-staging 8.9 is a testing version containing experimental patches. 002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org. 002c:err:wineboot:process_run_key Error running cmd L"C:\\windows\\system32\\winemenubuilder.exe -a -r" (126). 007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005 007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005 007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005 007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005 012c:fixme:file:NtLockFile I/O completion on lock not implemented yet 012c:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION 0148:err:setupapi:create_dest_file failed to create L"C:\\windows\\system32\\d3d12.dll" (error=80) wine: configuration in L"/home/fichte/games/genshin-impact" has been updated. ~/games/genshin-impact/…/Genshin Impact/Genshin Impact Game ж 0178:fixme:heap:EnumSystemFirmwareTables (0x4649524d, 0000000000000000, 0) [fichte@pinaceae] 017c:fixme:kernelbase:AppPolicyGetThreadInitializationType FFFFFFFFFFFFFFFA, 000000000194FE10 0178:fixme:toolhelp:CreateToolhelp32Snapshot Unimplemented: heap list snapshot 0178:fixme:toolhelp:Heap32ListFirst : stub 0178:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION ~/games/genshin-impact/…/Genshin Impact/Genshin Impact Game λ wine --version wine-8.9 (Staging) ```
Alex72 1 yıl önce olarak yorumlandı

Hm, both Wine-Staging 8.7 and Wine-Staging 8.9 work fine for me (I'm on Gentoo and I can keep both versions simultaneously). So if I were to guess this is not Wine-Staging's fault per se.

Try using a new wineprefix. If this fails, it very well might be that it's Arch that has a broken Wine-Staging package.

Hm, both Wine-Staging 8.7 and Wine-Staging 8.9 work fine for me (I'm on Gentoo and I can keep both versions simultaneously). So if I were to guess this is not Wine-Staging's fault per se. Try using a new wineprefix. If this fails, it very well might be that it's Arch that has a broken Wine-Staging package.
Krock 1 yıl önce olarak yorumlandı
Sahibi

@FichteFoll In the doctor branch you can now find a new version of the patch. The "anti-Windows" mechanism is now very obvious but also the most reliable one. I could use existing obfuscation functions but at this point I am not sure whether it's worth the effort.

Please let me know if the patch as of f31584d0 fixes your issue. If so, I will update the CN/BB versions as well.

Even if this is an Arch-specific issue, it is somewhat possible that the current code could misbehave due to progress in Wine towards handling syscalls.

@FichteFoll In the `doctor` branch you can now find a new version of the patch. The "anti-Windows" mechanism is now very obvious but also the most reliable one. I could use existing obfuscation functions but at this point I am not sure whether it's worth the effort. Please let me know if the patch as of https://notabug.org/Krock/dawn/commit/f31584d0 fixes your issue. If so, I will update the CN/BB versions as well. Even if this is an Arch-specific issue, it is somewhat possible that the current code could misbehave due to progress in Wine towards handling syscalls.
FichteFoll 1 yıl önce olarak yorumlandı
Poster

The patch in the doctor branch does not work for me on wine-staging 8.9. The process launches and stays, but instead of seeing GI start up, I instead get a Wine Debugger window with a flashing cursor and no content. This remained unchanged for a minute or so until I closed that, causing the other wine processes to terminate as well.

After additionally applying the anti-login-crash patch, the game opens up properly.

Edit: note that I had the same experience with wine 8.9. It didn't launch without the second patch.

The patch in the `doctor` branch does not work for me on wine-staging 8.9. The process launches and stays, but instead of seeing GI start up, I instead get a Wine Debugger window with a flashing cursor and no content. This remained unchanged for a minute or so until I closed that, causing the other wine processes to terminate as well. After additionally applying the anti-login-crash patch, the game opens up properly. Edit: note that I had the same experience with `wine` 8.9. It didn't launch without the second patch.
Krock 10 ay önce olarak yorumlandı
Sahibi

@FichteFoll Is there any update in this regard for game version 3.8?

Does the issue still occur with wine-staging 8.9 in particular? If so, I will add this version to the list of bugged/broken builds in TROUBLESHOOTING.md.

@FichteFoll Is there any update in this regard for game version 3.8? Does the issue still occur with wine-staging 8.9 in particular? If so, I will add this version to the list of bugged/broken builds in TROUBLESHOOTING.md.
Alex72 10 ay önce olarak yorumlandı

I can only confirm that 3.8.0 and later builds run fine on Wine-Staging 8.9 and 8.11 on my end.

I can only confirm that 3.8.0 and later builds run fine on Wine-Staging 8.9 and 8.11 on my end.
FichteFoll 10 ay önce olarak yorumlandı
Poster

Wine and wine-staging 8.11 work fine with 3.8 (patchless).

Wine and wine-staging 8.11 work fine with 3.8 (patchless).
Krock 6 ay önce olarak yorumlandı
Sahibi

Obsolete. Please reply here if the issue still persists.

Obsolete. Please reply here if the issue still persists.
Krock 6 ay önce kapattı
Giriş yap bu konuşmaya katılmak için.
Kilometre Taşı Yok
Atanan Kişi Yok
4 Katılımcı
Yükleniyor...
İptal
Kaydet
Henüz bir içerik yok.