Gallium D3D9 "Nine" Support Gets New Patches To Help Fight Lag Without Tearing
While most Linux gamers these days are mesmerized by DXVK for mapping Direct3D 10/11 to Vulkan for better handling Windows games on Linux, for those with older Direct3D 9 era games there is still the Gallium Nine initiative for D3D9 implemented as a Mesa Gallium state tracker. A new patch series posted this weekend will make that Gallium Nine experience even better.
Axel Davy who has been the lead developer on the Gallium D3D9 state tracker posted a set of two patches that allow the thread_submit=true option to be used with tearfree_discard=true option.
Combining these two options will allow for triple buffering behavior -- which is not part of the D3D9 specification but reduces possible tearing -- while pairing it with the other option allows for reducing lag and making the FPS performance feel smoother. That thread_submit option uses a CPU thread to delay sending of the last rendered buffer to the X.Org Server until it is finished rendering; this is done as with the default behavior it is prone to possibly miss a page-flip event and thus keeping the previous buffer around for a longer period of time. Previously these two options couldn't be combined together to have the best experience, but now they can with these newest patches.
The thread_submit=true tearfree_discard=true options are now recommended for use with Gallium Nine for D3D9 games that don't support vsync and where you don't want to experience any screen tearing while gaming. For games supporting vsync, only the thread_submit option should be needed. These options don't affect Mesa outside of the Nine state tracker.
More details in this patch series for what will hopefully soon be in Mesa 19.0.
Axel Davy who has been the lead developer on the Gallium D3D9 state tracker posted a set of two patches that allow the thread_submit=true option to be used with tearfree_discard=true option.
Combining these two options will allow for triple buffering behavior -- which is not part of the D3D9 specification but reduces possible tearing -- while pairing it with the other option allows for reducing lag and making the FPS performance feel smoother. That thread_submit option uses a CPU thread to delay sending of the last rendered buffer to the X.Org Server until it is finished rendering; this is done as with the default behavior it is prone to possibly miss a page-flip event and thus keeping the previous buffer around for a longer period of time. Previously these two options couldn't be combined together to have the best experience, but now they can with these newest patches.
The thread_submit=true tearfree_discard=true options are now recommended for use with Gallium Nine for D3D9 games that don't support vsync and where you don't want to experience any screen tearing while gaming. For games supporting vsync, only the thread_submit option should be needed. These options don't affect Mesa outside of the Nine state tracker.
More details in this patch series for what will hopefully soon be in Mesa 19.0.
18 Comments