What does the “dxlevel” config setting do in the TF2 Linux client

linuxteam-fortress-2

Linux doesn't have DirectX. I don't know if Valve made some kind of compatibility layer, or did a proper port to OpenGL (I expect the latter).

Either way – does this setting do anything for the Linux client?

Best Answer

From my understanding of it, the Source engine on Linux and Mac environments still thinks it's making DirectX calls -- Valve have made a library that sits in the middle and translates these to OpenGL.

Because the -dxlevel setting changes what features/whatever of DirectX are used, and the system still thinks it's using DirectX, then it still pays attention to this setting and the calls being made to the library in the middle are different as a result, which may result in changes to perceived performance.

In a blog comment the Valve Linux team said something which promotes this.

We use a modified abstraction layer (based on the original Mac OS X work) that translates Direct3D calls to the proper OpenGL calls. This layer has received the most work but changes have also been made above this layer that resulted in improved performance.