Microsoft DirectStorage is designed to reduce storage-related overhead in modern Windows games by allowing game data to move from fast storage toward the GPU more efficiently. Because VKD3D-Proton provides Direct3D 12 compatibility for Windows games running through Proton on Linux, it is reasonable to ask whether DirectStorage features are also supported in this environment. The answer depends on which DirectStorage functionality a game uses and how that functionality interacts with the Linux and Vulkan stack.
VKD3D-Proton has added support for technologies required by some modern Direct3D 12 games, but DirectStorage should not be treated as a simple feature that can be enabled with one VKD3D-Proton setting. DirectStorage involves several components, including the game, Microsoft’s API, storage hardware, decompression, the operating system, Proton, and the graphics API. On Linux, Proton and related components have to provide compatible behavior for the Windows game while working with Linux storage and Vulkan infrastructure. As a result, DirectStorage compatibility can vary between games and implementations.
What Microsoft DirectStorage Does
DirectStorage is a Microsoft API intended to improve how games load large amounts of data from storage.
Traditional game-loading pipelines can involve several stages between the SSD and the GPU. Data may be read from storage, processed by the CPU, decompressed, copied through memory, and eventually uploaded to the graphics hardware.
DirectStorage is designed to reduce some of this overhead, particularly when games use fast NVMe storage and large quantities of compressed assets.
Modern games can contain substantial amounts of:
- Textures
- Geometry
- Animation data
- Audio
- World assets
- Shader-related data
Fast storage can provide high throughput, but storage speed alone does not determine how quickly a game can make that data available for rendering. The software pipeline also matters.
Where VKD3D-Proton Fits
DirectStorage and VKD3D-Proton are related to modern Windows gaming on Linux, but they are not the same component.
A simplified Proton graphics path looks like:
Windows Game
↓
Direct3D 12
↓
VKD3D-Proton
↓
Vulkan
↓
Linux Graphics Driver
↓
GPU
DirectStorage operates primarily around the game’s asset-loading and storage pipeline rather than being a Direct3D 12 rendering feature.
This distinction is important because installing or updating VKD3D-Proton does not automatically mean that every DirectStorage feature used by a game is supported.
Proton may need to provide compatibility for the Windows-side APIs while translating or adapting their behavior to Linux.
Is DirectStorage the Same as Direct3D 12?
No.
Direct3D 12 is Microsoft’s graphics API. DirectStorage is a storage and data-loading API.
A game can use Direct3D 12 for rendering without relying on DirectStorage. Likewise, a game can use DirectStorage as part of its asset-loading system while using other components for graphics.
This means that VKD3D-Proton supporting a game’s Direct3D 12 rendering does not automatically establish full DirectStorage compatibility.
When troubleshooting a DirectStorage-related issue, you therefore need to distinguish between graphics compatibility and storage-pipeline compatibility.
How DirectStorage Works With Modern Games
A game using DirectStorage can organize its asset pipeline around fast storage and efficient decompression.
A simplified process may look like:
Game Assets
↓
NVMe SSD
↓
DirectStorage
↓
Decompression
↓
Game Memory / GPU
↓
Rendering
The exact implementation depends on the game.
DirectStorage can reduce CPU involvement in certain parts of the data path, which can be useful for games that stream large assets while the player moves through a world.
The benefit is therefore not simply “faster loading.” It can also involve reducing CPU overhead and improving asset streaming behavior.
Does Linux Have to Implement DirectStorage Directly?
Not necessarily in the same way Windows does.
Proton’s purpose is to allow Windows games to operate in a Linux environment. That can involve compatibility layers that implement or translate Windows APIs using Linux equivalents.
For DirectStorage-related functionality, the important question is whether the required Windows API behavior is implemented sufficiently for the specific game.
A game may therefore work correctly without exposing the exact same underlying operating-system implementation used by Windows.
This is one reason compatibility should be considered on a game-by-game basis.
DirectStorage Compatibility Can Depend on the Game
One of the biggest factors is how a particular game uses DirectStorage.
Games can use different versions and features of Microsoft’s storage APIs. They can also use different decompression methods and asset-streaming architectures.
As a result, two games that both advertise DirectStorage support can behave differently when run through Proton.
One title might have a storage pipeline that works normally, while another could depend on functionality that is not available or behaves differently under Linux.
Therefore, the presence of DirectStorage in a game’s Windows system requirements does not by itself guarantee identical behavior through Proton.
DirectStorage and GPU Decompression
One of the more important developments around DirectStorage is GPU-based decompression.
The general idea is to move certain decompression workloads away from the CPU and toward the GPU. This can be useful for games that continuously stream large quantities of compressed data.
The potential advantages include:
- Lower CPU overhead
- Faster asset processing
- More efficient data streaming
- Better utilization of fast storage
- Reduced CPU bottlenecks in suitable workloads
However, GPU decompression involves more than simply having a modern graphics card.
The game, DirectStorage implementation, compression format, driver, graphics API, and compatibility environment all have to work together.
VKD3D-Proton Is Not a DirectStorage Toggle
There is no universal VKD3D-Proton launch option that turns DirectStorage support on.
You should not expect a setting such as:
VKD3D_ENABLE_DIRECTSTORAGE=1
to universally activate Microsoft’s storage technology.
DirectStorage support depends on the broader Proton environment and the implementation required by the particular game.
This is different from some VKD3D-Proton configuration options that affect rendering behavior.
If a game has a DirectStorage-related problem, changing unrelated VKD3D-Proton graphics settings may not address the underlying issue.
What Happens When a DirectStorage Game Runs Through Proton?
When a Windows game runs through Proton, its Windows API calls are handled by Proton’s compatibility components.
The exact path depends on the API being used.
For graphics, Direct3D 12 calls can be handled through VKD3D-Proton and ultimately reach Vulkan.
Storage-related APIs follow a different compatibility path.
This means that a game can have:
Direct3D 12 → VKD3D-Proton → Vulkan
for rendering while its storage operations are handled by other Proton components.
This separation explains why VKD3D-Proton should not be considered the sole component responsible for DirectStorage functionality.
Does DirectStorage Require an NVMe SSD?
DirectStorage is primarily designed around modern high-speed storage, especially NVMe SSDs.
However, having an NVMe SSD does not automatically make every game faster.
The actual benefit depends on:
- Game asset architecture
- Storage throughput
- Compression
- CPU performance
- Decompression workload
- GPU capabilities
- Game engine implementation
- Operating-system and compatibility-layer behavior
A game that does not heavily stream assets may see little practical difference.
For Proton users, the storage device is only one part of the complete pipeline.
Can DirectStorage Improve Game Loading on Linux?
It can potentially improve asset loading and streaming when the game’s storage pipeline is compatible with the Proton environment.
However, you should not assume that enabling or supporting DirectStorage will automatically produce dramatically shorter loading times.
Loading performance can be limited by many other factors.
For example, a game may spend significant time initializing shaders, compiling resources, creating graphics pipelines, or performing CPU-side processing after the required data has already been read from storage.
In that situation, faster storage access alone cannot eliminate the remaining workload.
DirectStorage and Shader Compilation Are Different Issues
This distinction is especially important for Proton users.
A game can experience shader compilation stutter even when its storage performance is excellent.
DirectStorage primarily concerns asset loading and data movement. Shader compilation involves preparing graphics shaders for execution.
Therefore, if a Direct3D 12 game has shader-related stuttering, changing storage-related settings is unlikely to solve the problem.
Similarly, if asset streaming is slow, changing shader settings may not address the storage bottleneck.
Keeping these issues separate makes troubleshooting much more efficient.
How to Check Whether a Game Uses DirectStorage
The first place to check is the game’s official documentation or system requirements.
Some games explicitly mention DirectStorage support. Others may document it in technical presentations, developer blogs, patch notes, or graphics settings.
You can also examine the game’s installation files, but simply finding DirectStorage-related DLLs does not prove that the game is actively using every DirectStorage feature.
The most useful information is documentation from the game’s developer or publisher describing the storage technology and features used by the title.
Why DirectStorage Performance Can Differ From Windows
Even when a game works correctly through Proton, performance characteristics can differ from Windows.
Proton is providing a compatibility environment, so the complete data path is not necessarily identical to a native Windows installation.
Differences can occur in:
- File-system behavior
- API implementation
- Decompression
- Driver behavior
- Memory transfers
- GPU interaction
- Asset streaming
- CPU overhead
Therefore, a game supporting DirectStorage on Windows does not necessarily produce exactly the same storage performance on Linux.
Compatibility and performance are separate questions.
Does VKD3D-Proton Need a Specific Version?
If a particular game depends on newer Direct3D 12 functionality, using a current Proton release can be useful because Proton components are updated over time.
However, updating VKD3D-Proton alone should not be viewed as a guaranteed DirectStorage fix.
Proton is a collection of components, and game compatibility can depend on changes outside VKD3D-Proton itself.
If a game has recently received a Proton-specific compatibility improvement, testing a newer Proton version may be more appropriate than manually replacing individual VKD3D-Proton files.
Should You Use Proton-GE for DirectStorage Problems?
Proton-GE is a community-maintained Proton distribution containing additional changes beyond standard Proton releases.
It can sometimes be useful for testing game compatibility, but switching to Proton-GE is not a universal DirectStorage solution.
If a game behaves differently under Proton-GE, that result can provide useful troubleshooting information. However, it does not necessarily mean that the issue was caused specifically by VKD3D-Proton or DirectStorage.
For reproducible troubleshooting, test one Proton version at a time and keep the rest of the configuration unchanged.
How Storage Speed Affects DirectStorage
A fast SSD gives DirectStorage more opportunity to reduce storage-related bottlenecks.
For example, an NVMe SSD can provide significantly higher throughput than an older mechanical hard drive.
But the game must actually be designed to take advantage of that bandwidth.
If the game cannot process assets quickly enough after they are read, increasing storage throughput further may have little effect.
This is why DirectStorage should be viewed as an entire asset-streaming pipeline rather than simply a feature that makes an SSD faster.
Can DirectStorage Reduce CPU Usage?
One of DirectStorage’s goals is to reduce CPU overhead associated with moving and processing game data.
The actual reduction depends on how the game uses the technology.
A game that heavily streams compressed assets may have more opportunity to benefit than a game that loads relatively small amounts of data.
On Linux through Proton, the resulting CPU behavior also depends on the compatibility implementation and the game’s specific storage workload.
Monitoring CPU utilization while comparing native Windows and Proton behavior can help identify whether storage processing is contributing to a performance limitation.
What to Do if a DirectStorage Game Has Problems
If a DirectStorage-enabled game does not behave correctly through Proton, start with the simplest checks.
Make sure the game is running on a current Proton release that is known to work with the title. Confirm that Vulkan is functioning correctly and that the graphics driver is properly installed.
Then test the game without unnecessary launch options.
Avoid changing several Proton, VKD3D-Proton, Vulkan, and storage variables simultaneously. If the game starts behaving differently, you will have no reliable way to identify which change caused the result.
Testing with another Proton version can help determine whether the behavior is related to a compatibility change.
Do Not Confuse DirectStorage With DirectX 12 Support
A game launching successfully with Direct3D 12 through VKD3D-Proton does not prove that its complete DirectStorage pipeline is working.
These are separate technologies with different responsibilities.
A useful troubleshooting model is:
Direct3D 12 Rendering
↓
VKD3D-Proton
↓
Vulkan
while storage operations should be considered separately:
Game Storage Requests
↓
DirectStorage Compatibility
↓
Linux Storage System
↓
SSD
The two pipelines eventually interact because loaded assets must reach the rendering system, but they should not be treated as one feature.
A Practical Way to Test DirectStorage-Related Behavior
If you want to investigate a game’s DirectStorage behavior on Linux, keep the test controlled.
Use the same game version, graphics settings, Proton version, and storage device when comparing configurations.
Monitor:
- Game loading times
- Asset streaming
- CPU utilization
- GPU utilization
- Storage activity
- Stuttering
- Texture or geometry pop-in
- Crashes
- Overall stability
If changing Proton versions affects the behavior, record the exact versions used.
This makes it easier to determine whether a change is related to the Proton environment rather than simply being a difference in system load.
The Role of the SSD in Proton Gaming
Even without DirectStorage, an SSD can significantly improve general game loading compared with a mechanical drive.
Games installed on NVMe storage can benefit from faster file access, particularly when loading large collections of assets.
However, Proton games still depend on the game engine’s loading design and the compatibility environment.
A fast SSD cannot eliminate CPU processing, shader compilation, graphics initialization, or other workloads that occur during startup.
Therefore, moving a Proton game to an NVMe drive can help storage performance without guaranteeing that every loading or stuttering issue will disappear.
What You Should Expect From DirectStorage Support
The most realistic expectation is that DirectStorage compatibility is a game- and implementation-dependent feature rather than a simple VKD3D-Proton switch.
A game may run correctly through Proton while using its storage pipeline differently from Windows. Another game may encounter a compatibility problem with a specific DirectStorage feature.
For that reason, users should evaluate actual game behavior rather than assuming that the presence of DirectStorage in the Windows version guarantees identical Linux behavior.
Conclusion
VKD3D-Proton should not be considered the component that independently enables Microsoft DirectStorage. VKD3D-Proton handles Direct3D 12 graphics translation, while DirectStorage belongs to the game’s storage and asset-streaming pipeline. Proton can provide compatibility for Windows APIs in this area, but the exact behavior depends on the game’s implementation and the surrounding Linux environment.
For users running DirectStorage-enabled games through Proton, the practical approach is to keep Proton and graphics drivers current, use a fast SSD, and test the specific game rather than relying on a universal configuration. If problems occur, isolate storage, graphics, and Proton variables separately. This provides a much clearer way to determine whether the issue is related to DirectStorage compatibility or another part of the game’s Linux setup.