Sunsetting LDR and DirectX 8 Support

bobatealee

Well-Known Member
VF4 Supporter
The year is 2023, and Team Fortress 2 is a very old game. Back in 2007, the Wii was still in its prime, the GeForce FX5500 was a good card, and the future of PC gaming was Games for Windows – LIVE.

After 16 years, the environment has changed. As we aim to improve the TF2 Classic experience for modern PCs, we've planned out some major changes we're hoping to slowly roll out in the near future. Today, we're here to talk about some of these changes.

Forcing HDR (Patch 2.1.2)​

Believe it or not, HDR (High Dynamic Range) rendering in Source is completely different from what would be considered HDR today. It simulates HDR internally and collapses the image down to LDR. Practically speaking, if you have HDR enabled, that means you're using LDR with bloom and auto-exposure effects.

However, due to HDR and LDR coexisting, every map has to be built twice. This is extremely inefficient, as it makes maps take longer to compile and take up more disk space. Furthermore, if a mapper accidentally only built HDR data, lighting wouldn't work at all for players using LDR.

As such, we are forcibly enabling HDR rendering in Patch 2.1.2. This should not have a big performance impact. Additionally, this update will add a slider to our video settings that will allow the user to tweak the bloom effect. If completely disabled, the game should look the same as it did with HDR disabled.

Ending DirectX 8 Support (Patch 2.1.2)​

Older Source games usually allow users to set a lower DirectX level using a launch option like -dxlevel. This forcibly disables a number of graphical features, and is popular among configs and users trying to squeeze out extra frames.

Unfortunately, this has heavy implications for development. Shaders have to be written twice, once for DirectX 8, and once for DirectX 9. DirectX 8 shader development is a lot of effort only to supplement a small user base.

To make matters more complex, there are two "shader models" for Source, Shader Model 2.0b and 3.0, and shaders also have to be written according to the shader model the game is using. Video cards limited to SM 2.0b were already considered "low-end" back in 2008.

Due to all of this, we are standardizing and forcing DirectX 9 with SM 3.0 in Patch 2.1.2 (also known as "dxlevel 95") for TF2 Classic. This is primarily due to a major upcoming shader overhaul that will add new capabilities, fix countless issues, and improve rendering performance.

For mappers, the end of DirectX 8 support means we will also discontinue support for SDK 2013's map compiler tools (vbsp, vvis, vrad). If you're still using these, please consult our wiki guide on how to update your toolset.

Ending Native Linux Client Support (Soon)​

Some time after we roll out the first two changes in Patch 2.1.2, we are planning to eventually end native Linux Client support. The aging OpenGL wrapper that Valve used when porting the game to Linux is incredibly restrictive, as it does not support SM 3.0, preventing us from fixing some graphical issues or adding new shader features.

The OpenGL renderer in itself has several Linux-exclusive rendering and performance issues that we are unable to address. As such, we will instead pivot towards supporting Proton, Valve's compatibility layer for Windows games running on Linux, and focus on fixing any bugs that manifest with it.

Proton's Vulkan-based backend renderer, DXVK, should have better performance and fewer issues for Linux users. Note that this change will NOT affect Linux servers.

Final Notes​

In short, we are force-enabling HDR rendering, forcing the use of DirectX 9 SM 3.0, and dropping support for stock SDK 2013 map compiler tools in Patch 2.1.2. Additionally, we are planning to discontinue native Linux support for clients at a later date.

We're very excited for all of these changes, and will be looking into adding new video options (possibly even graphical presets!) that provide a more accessible and reliable way to get playable frame rates on low-end machines.
 
to be fair TF2C already runs a hell of a lot better than live TF2 does because it isn't bloated with 15+ years of code. my setup gets me about 200+ fps on TF2C and about 90-80 on live
also worth considering that enimona actually care about the quality of the maps they release, unlike valve who just shoves unoptimized and broken maps in without a second thought. i remember reading one of the maps in the summer "update" let RED players just waltz into BLU spawn and camp them with ease, which is as funny as it is embarrassing
 

Funding Progress To Date

VaultF4 on Steam


48178 Members
(9395 Online 669 In-Game)
Join the group
Back
Top Bottom