ValveSoftware / ValveSoftware/Proton

exFAT support

Open
#3,835 12 comments 17 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Feature Request
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:

steam-867510.log

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.