Matoking / protontricks

A wrapper that does winetricks things for Proton enabled games, requires Winetricks.
GNU General Public License v3.0
1.57k stars 35 forks source link

flatpak com.github.Matoking.protontricks missing system files needed to install dlls #224

Closed abc-mikey closed 8 months ago

abc-mikey commented 1 year ago

Describe the bug

Errors are being thrown during installs using winetricks inside the flatpaked protontricks due to missing system files that need to be made available inside the flatpak.

/bin/bash: /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libtinfo.so.6: no version information available (required by /bin/bash)
...
/usr/lib/i386-linux-gnu/GL/default/share/libdrm/amdgpu.ids: No such file or directory

These files are available on my system and in some fatpak runtimes on my system.

/usr/share/libdrm/amdgpu.ids
/var/lib/flatpak/runtime/org.freedesktop.Platform.GL.default/x86_64/20.08/9cd4870f9e8b7ba2198596df48372f1e1196af5e029cc678e78855e2b5f4a2be/files/share/libdrm/amdgpu.ids
/var/lib/flatpak/runtime/org.freedesktop.Platform.GL.default/x86_64/22.08/abee275b6a5b094d49a289430687fc7cbcfd7470f49faabe68f4d926bb760f24/files/share/libdrm/amdgpu.ids
/var/lib/flatpak/runtime/org.freedesktop.Platform.GL.default/x86_64/22.08-extra/39d4171ee0ababb7e9568ec43f2097bb5c19be55af47c76f029a8884f066e3fd/files/share/libdrm/amdgpu.ids
/var/lib/flatpak/runtime/org.freedesktop.Platform.GL.default/x86_64/21.08/455319fb180e673a05b1156dabba36dd41fd13ccaa71a9fe477710eddbc8f2a0/files/share/libdrm/amdgpu.ids
/var/lib/flatpak/runtime/org.freedesktop.Platform.GL32.default/x86_64/22.08/fca3c1d88f1c6de02f66df02fe176738b552b130a584e76ed04d2744844b95ae/files/share/libdrm/amdgpu.ids
/usr/lib64/libtinfo.so.6
/usr/lib/libtinfo.so.6
/var/lib/flatpak/runtime/org.freedesktop.Platform/x86_64/20.08/1ce3c741ef40a1ce6328d80ae2a9d8203f74dcbae1324d31a66b03e090f25616/files/lib/x86_64-linux-gnu/libtinfo.so.6
/var/lib/flatpak/runtime/org.freedesktop.Platform/x86_64/22.08/4ba47479a973c9a243112c43f8f58244af34457611e2a26bba8595d08a2b31d7/files/lib/x86_64-linux-gnu/libtinfo.so.6
/var/lib/flatpak/runtime/org.gnome.Platform/x86_64/43/e730a6237e9bb1ac59805e5c734fc5156229fbcb107213272826ea755d98ae40/files/lib/x86_64-linux-gnu/libtinfo.so.6
/var/lib/flatpak/runtime/org.freedesktop.Platform.Compat.i386/x86_64/22.08/e933fe88e87e1114ff6ed854b152d05837a39c478e195d89e760598f96638d7d/files/libtinfo.so.6
/var/lib/flatpak/runtime/org.kde.Platform/x86_64/5.15-21.08/ec3331446a3fb6e8f293a3bc2fae03342cc6732a2d0f8422201241a29e630e18/files/lib/x86_64-linux-gnu/libtinfo.so.6
/var/lib/flatpak/runtime/org.freedesktop.Sdk/x86_64/22.08/2652112cf6f02f590602d3379a36a0e59d801a120f8ba4bb43170e75e3ab73da/files/lib/x86_64-linux-gnu/libtinfo.so.6

To Reproduce

Run in series of steps each starting a bash shell due to issues with messed up output and with interactive input when run without launching subshells), but the same error occurs when installing via the gui.

Steps to reproduce the behavior:

  1. flatpak run --command=bash com.github.Matoking.protontricks
  2. protontricks -c bash <APPID>
  3. winetricks vcrun2022

Similar errors also occur when trying to install dotnet6.

Expected behavior

The necessary system files to be available to winetricks to be able to install dlls into the wine prefixes.

System (please complete the following information):

Additional context

Selected output generated by commands above (just the tail end with the error) it's failing on installing: vc_redist.x64.exe. It has already succeed in installing: vc_redist.x86.exe.

Using native,builtin override for following DLLs: vcruntime140_1
Executing /home/steam/.var/app/com.github.Matoking.protontricks/cache/protontricks/proton/Proton Experimental/bin/wine C:\windows\syswow64\regedit.exe C:\windows\Temp\override-dll.reg
/bin/bash: /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libtinfo.so.6: no version information available (required by /bin/bash)
Executing /home/steam/.var/app/com.github.Matoking.protontricks/cache/protontricks/proton/Proton Experimental/bin/wine64 C:\windows\regedit.exe C:\windows\Temp\override-dll.reg
/bin/bash: /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libtinfo.so.6: no version information available (required by /bin/bash)
grep: warning: stray \ before /
------------------------------------------------------
warning: Checksum for /home/steam/.var/app/com.github.Matoking.protontricks/cache/winetricks/vcrun2022/vc_redist.x64.exe did not match, retrying download
------------------------------------------------------
Executing cd /home/steam/.var/app/com.github.Matoking.protontricks/cache/winetricks/vcrun2022
Downloading https://aka.ms/vs/17/release/vc_redist.x64.exe to /home/steam/.var/app/com.github.Matoking.protontricks/cache/winetricks/vcrun2022

04/29 13:47:42 [NOTICE] Downloading 1 item(s)

04/29 13:47:42 [NOTICE] CUID#7 - Redirecting to https://download.visualstudio.microsoft.com/download/pr/8b92f460-7e03-4c75-a139-e264a770758d/26C2C72FBA6438F5E29AF8EBC4826A1E424581B3C446F8C735361F1DB7BEFF72/VC_redist.x64.exe

04/29 13:47:42 [NOTICE] CUID#9 - Redirecting to https://download.visualstudio.microsoft.com/download/pr/8b92f460-7e03-4c75-a139-e264a770758d/26C2C72FBA6438F5E29AF8EBC4826A1E424581B3C446F8C735361F1DB7BEFF72/VC_redist.x64.exe

04/29 13:47:43 [NOTICE] CUID#10 - Redirecting to https://download.visualstudio.microsoft.com/download/pr/8b92f460-7e03-4c75-a139-e264a770758d/26C2C72FBA6438F5E29AF8EBC4826A1E424581B3C446F8C735361F1DB7BEFF72/VC_redist.x64.exe

04/29 13:47:43 [NOTICE] CUID#12 - Redirecting to https://download.visualstudio.microsoft.com/download/pr/8b92f460-7e03-4c75-a139-e264a770758d/26C2C72FBA6438F5E29AF8EBC4826A1E424581B3C446F8C735361F1DB7BEFF72/VC_redist.x64.exe

04/29 13:47:43 [NOTICE] CUID#11 - Redirecting to https://download.visualstudio.microsoft.com/download/pr/8b92f460-7e03-4c75-a139-e264a770758d/26C2C72FBA6438F5E29AF8EBC4826A1E424581B3C446F8C735361F1DB7BEFF72/VC_redist.x64.exe
[#1ede5f 22MiB/24MiB(90%) CN:1 DL:5.9MiB]
04/29 13:47:46 [NOTICE] Download complete: /home/steam/.var/app/com.github.Matoking.protontricks/cache/winetricks/vcrun2022/vc_redist.x64.exe

Download Results:
gid   |stat|avg speed  |path/URI
======+====+===========+=======================================================
1ede5f|OK  |   5.7MiB/s|/home/steam/.var/app/com.github.Matoking.protontricks/cache/winetricks/vcrun2022/vc_redist.x64.exe

Status Legend:
(OK):download completed.
Executing cd /home/steam/.var/app/com.github.Matoking.protontricks/cache/winetricks/vcrun2022
------------------------------------------------------
SHA256 mismatch!

URL: https://aka.ms/vs/17/release/vc_redist.x64.exe
Downloaded: 26c2c72fba6438f5e29af8ebc4826a1e424581b3c446f8c735361f1db7beff72
Expected: ce6593a1520591e7dea2b93fd03116e3fc3b3821a0525322b0a430faa6b3c0b4

This is often the result of an updated package such as vcrun2019.
If you are willing to accept the risk, you can bypass this check.
Alternatively, you may use the --force option to ignore this check entirely.

Continue anyway?
------------------------------------------------------
Press Y or N, then Enter: y
Executing /home/steam/.var/app/com.github.Matoking.protontricks/cache/protontricks/proton/Proton Experimental/bin/wine vc_redist.x64.exe
/bin/bash: /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libtinfo.so.6: no version information available (required by /bin/bash)
05e8:fixme:heap:RtlSetHeapInformation HEAP_INFORMATION_CLASS 1 not implemented!
/usr/lib/i386-linux-gnu/GL/default/share/libdrm/amdgpu.ids: No such file or directory
05e8:fixme:advapi:DecryptFileW (L"C:\\windows\\Temp\\{491B7166-986E-4E4C-98CA-508D8F95A8BB}\\", 00000000): stub
0604:fixme:heap:RtlSetHeapInformation HEAP_INFORMATION_CLASS 1 not implemented!
/usr/lib/i386-linux-gnu/GL/default/share/libdrm/amdgpu.ids: No such file or directory
0604:fixme:advapi:DecryptFileW (L"C:\\windows\\Temp\\{4555F90B-25A2-4ACF-9105-601BDECD1192}\\", 00000000): stub
/usr/lib/i386-linux-gnu/GL/default/share/libdrm/amdgpu.ids: No such file or directory
060c:fixme:imm:ImeSetActiveContext (0002003E, 1): stub
060c:fixme:imm:ImmReleaseContext (00020040, 0002003E): stub
0618:fixme:shell:SHAutoComplete stub
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  10 (X_UnmapWindow)
  Resource id in failed request:  0x1e00001
  Serial number of failed request:  141
  Current serial number in output stream:  143
05e8:fixme:ver:GetCurrentPackageId (0057FE94 00000000): stub
You opted in, so reporting 'vcrun2022 ' to the winetricks maintainer so he knows which winetricks verbs get used and which don't.  Use --optout to disable future reports.
Matoking commented 1 year ago

A lot of the messages under the Flatpak version are benign and can be ignored for the most part, the libtinfo.so.6 in particular.

The following error

X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  10 (X_UnmapWindow)
  Resource id in failed request:  0x1e00001
  Serial number of failed request:  141
  Current serial number in output stream:  143
05e8:fixme:ver:GetCurrentPackageId (0057FE94 00000000): stub

is likely the culprit here (more details in #166). It's a pain in the ass, and I haven't been able to fix it so far, though I've made an upstream bug report to the Steam Runtime project. The real problem probably lies with the interaction between system and runtime X11 libraries, so it isn't necessarily a bug with the Steam Runtime itself.

In your case, running Protontricks with --no-bwrap might get the window to show up properly and installation to continue properly.

As for the underlying problem, since I haven't been able to solve the problem, I'll probably try to figure out a workaround for it. bwrap is required for older distros, so I'd rather not disable it across the board if I can help it.

Matoking commented 8 months ago

166 has been fixed for quite some time. Closing the issue.