ValveSoftware / ValveSoftware/Proton
IsADirectoryError: trying to copy openvr_api_dxvk.dll
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 32.8k
- Forks
- 1.6k
- PR merge metrics
- PR metrics pending
Description
When I run a VR game I get a lot of the tracebacks in my logs.
I have no idea if they are serious or not, but I couldn't find any info about them:
Traceback (most recent call last):
File "/home/user/.local/share/Steam/steamapps/common/Proton 4.11/proton", line 709, in <module>
g_session.init_session()
File "/home/user/.local/share/Steam/steamapps/common/Proton 4.11/proton", line 552, in init_session
g_compatdata.setup_prefix()
File "/home/user/.local/share/Steam/steamapps/common/Proton 4.11/proton", line 334, in setup_prefix
try_copy(g_proton.lib_dir + "wine/dxvk/openvr_api_dxvk.dll", self.prefix_dir + "/drive_c/windows/syswow64/")
File "/home/user/.local/share/Steam/steamapps/common/Proton 4.11/proton", line 61, in try_copy
shutil.copy(src, dst)
File "/usr/lib/python3.7/shutil.py", line 248, in copy
copyfile(src, dst, follow_symlinks=follow_symlinks)
File "/usr/lib/python3.7/shutil.py", line 121, in copyfile
with open(dst, 'wb') as fdst:
IsADirectoryError: [Errno 21] Is a directory: '/home/user/SteamLibrary/steamapps/compatdata/620980/pfx//drive_c/windows/syswow64/'
It is indeed true that syswow64 is a directory...
I guess the openvr_api_dxvk.dll should be copied into this directory..?
BTW the openvr_api_dxvk.dll (somehow) managed to live in this directory/location (already)...
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the setup_prefix call on line 334 and try_copy in the proton script at line 61, then reproduce the VR-game launch to inspect the traceback. Check the handling of openvr_api_dxvk.dll when the destination is the syswow64 directory. Done means the launch no longer reports IsADirectoryError and the DLL is placed in that directory.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100