Sunsetting LDR and DirectX 8 Support
August 12, 2023 - bobatealee
Tags:
announcement
development
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.
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.
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.
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.
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.
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.
Community Roundups!
June 4, 2023 - bobatealee
Tags:
community
fun

Okay, forget about everything I said in that previous post because I just found out about something that screams "one-stop shop for all things TF2 Classic" more than concept art and download pages.
…Drumroll please…
Featuring community content on the blog. That's right—send in your videos, fanart, maps, mods, or anything else to our email. You could have the chance to be featured in one of our community roundup posts, exclusively here on the TF2 Classic website! There's only so much content we can squeeze into a showcase, so put your best foot forward! Hell, I'll be blunt: make us look good.
So what are you waiting for? Email us!
Site updates, now live!
June 4, 2023 - bobatealee
Tags:
fun
Those of you who haven't been minced up by electric fans, vaporized in flak cannon misfires, or addled with traumatic brain injuries might have noticed a few changes here on the TF2 Classic website. Make no mistake—I've been chipping away at a whole bunch of different parts of it for the last few months. One of my two goals has always been to make the site as polished and accessible as it can be, down to the most meticulous details like making patch notes easier to read or adding keyboard navigation support.
We'll be talking about something slightly less boring today, and that's the other of the two goals: turning the website into a one-stop shop for all things TF2 Classic. It's something I've been working towards for a long time, and boy, are we just getting started! Let's take a look at just some of the stuff recently added.
Our first item on the docket is the handy server list, which got a much needed upgrade. You can now view a server's current map, right from the site! Watch Arena servers empty out in real time!
Now for some more helpful news: you can now link to specific sections on most pages, and the download page has been simplified. It's never been easier to set a mysterious executable loose onto the most expensive thing you own.
You (kinda) asked, and we (kinda) delivered! Fight or Flight concept art, now up exclusively on the artwork page! Go ahead take a l-
Hold on, I'm getting a call.
(…Yeah…really?…Okay, I'll tell 'em…)
We'll be talking about something slightly less boring today, and that's the other of the two goals: turning the website into a one-stop shop for all things TF2 Classic. It's something I've been working towards for a long time, and boy, are we just getting started! Let's take a look at just some of the stuff recently added.

Our first item on the docket is the handy server list, which got a much needed upgrade. You can now view a server's current map, right from the site! Watch Arena servers empty out in real time!

Now for some more helpful news: you can now link to specific sections on most pages, and the download page has been simplified. It's never been easier to set a mysterious executable loose onto the most expensive thing you own.

You (kinda) asked, and we (kinda) delivered! Fight or Flight concept art, now up exclusively on the artwork page! Go ahead take a l-
Hold on, I'm getting a call.
(…Yeah…really?…Okay, I'll tell 'em…)