ValveSoftware / ValveSoftware/Proton
exFAT support
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 32.8k
- Forks
- 1.6k
- PR merge metrics
- PR metrics pending
Description
Feature Request
I confirm:
- that I haven't found another request for this feature.
- that I have checked whether there are updates for my system available that
contain this feature already.
Description
Support for exFAT filesystem, which now has a kernel module, works both on Windows and Linux and no longer requires FUSE. CPU overhead is much lower than ntfs-3g, being very noticeable on loading games.
The dosdevices directory normally has many files with illegal characters (mainly :) for exFAT, being impossible to use an exFAT partition with the compatdata directory, unless if a symbolic link is made pointing to a directory in a partition with a different filesystem type.
Justification [optional]
This use case of sharing very large installed programs happens more often with games, so it may be seen more relevant to the Proton project than to the Wine project.
With Ubuntu 20.04 release, exFAT became natively supported on Ubuntu. Compared to ntfs-3g, which is most often used to have files (and games) available to Windows and Linux, there is a much lower CPU load when using the exFAT filesystem. This results in much lower loading times compared to using ntfs-3g. One game where this is very noticeable is Microsoft Flight Simulator X: Steam Edition (314160).
What seems to be one problem is that exFAT does not support the : character, which is used for the files inside the dosdevices directory. This causes some errors where it fails to create and find files/directories. The following log has the errors when trying to open PHOTON CUBE:
Risks [optional]
Being c:, d: the normal way on Windows, a change to make dosdevices show c without the : would require some way to add the : again somehow when searching files. There is a possibility this can cause a regression, and this code seems that was added at least 15 years ago.
A possible issue is that more problems with exFAT may arise, so doing this (seemingly complex) change to dosdevices may not be enough.
Lack of journaling.
References [optional]
https://source.winehq.org/git/wine.git/?a=search&h=HEAD&st=commit&s=dosdevices
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
The issue does not name a repository file, test, or entry point. Start by tracing how Proton/Wine handles the dosdevices directory and review the referenced Wine search for related changes. Done means exFAT-backed compatdata works without breaking existing Windows drive-path behavior, with regression coverage identified for the affected cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux
- Domain
- operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100