Steam for Linux

Steam for Linux

HUGE TF2 performance increase
On my computer (AMD e-300 APU) playing TF2 yielded about 1-2 FPS, after decreasing graphics settings all the way, it was at about 3-5 FPS. After adding -dxlevel 80 to the command line, I had it at a playable 10-15 FPS.
< >
Сообщения 115 из 15
dxlevel? I thought it was an OpenGL port? why does your direct x level command work then? Is valve only using emulation of directX through Wine.org like technology? x.x
Автор сообщения: spantherixGER
dxlevel? I thought it was an OpenGL port? why does your direct x level command work then? Is valve only using emulation of directX through {ССЫЛКА УДАЛЕНА} like technology? x.x

It's not like wine. AIUI they effectively translate from directx->opengl in a way that should get near native performance.

Same thing they did on the Mac.
The dxlevel switch is probably hardcoded deep inside source engine to enable/disable effects corresponding to what various directx versions support. On linux this probably toggles the opengl implementations of these effects.
Автор сообщения: mruuh
The dxlevel switch is probably hardcoded deep inside source engine to enable/disable effects corresponding to what various directx versions support. On linux this probably toggles the opengl implementations of these effects.

Makes sense. I'll give it a go.
My fps did not changed. But TF2 load time reduced to reasonable. No longer hangs after closing settings dialog. Also in-steam browser no longer hangs showing mouse hover texts. Big development.
Автор сообщения: axeolin
Автор сообщения: spantherixGER
dxlevel? I thought it was an OpenGL port? why does your direct x level command work then? Is valve only using emulation of directX through Wine.org like technology? x.x

It's not like wine. AIUI they effectively translate from directx->opengl in a way that should get near native performance.

Same thing they did on the Mac.
Actually it is like wine, wine's translator just isn't as good as source's apparently.
Отредактировано Jenny of Worms; 6 дек. 2012 г. в 4:57
So, let set required OpenGL version to 2.1!
Автор сообщения: brpylko Ubuntu 12.10 64 bit
Actually it is like wine, wine's translator just isn't as good as source's apparently.

It's not like wine. WIne is running directx and windows dlls in order to run a windows binary.

Steam is running native linux binaries.

If Steam on linux were like wine, they would have just installed the windows version of TF2.

There are similar "run windows programs on Mac" too, which Steam on Mac is not using.
Отредактировано Michael; 6 дек. 2012 г. в 7:58
Sorry, I should have been clearer, its directx capablity is like how winelib handles directx.
Автор сообщения: brpylko Ubuntu 12.10 64 bit
Sorry, I should have been clearer, its directx capablity is like how winelib handles directx.

rbarris worked on the port and posted some info to SPUF at the time.

Unfortunately SPUF is down (actually not sure why that's unfortunate, but ...)

The thread is called "Is Source on OS X really openGL native?" if you want to google later.

Here's some quotes though

In response to someone saying "sounds like wine?"

He said "No. With Wine, a Windows-built .exe is loaded into a UNIX process and then tricks are done to make to able to run.

On Mac Source, all of the source code has been compiled native. Specific modules have been replaced with ones that can drive OS X API's, like graphics and sound. All the OpenGL code lives in a little lib called "shaderapidx9" which is shorthand for "the shading subsystem that can run on dx9-class hardware". That's sort of the grand central station for graphics API traffic coming out of the engine and down into the OS&driver."

And, speaking in general about how it worked he said

"I wrote the native OpenGL module for Source Mac. It presents a DX9 compatible interface to the engine, engine calls me, I call GL, dots appear"

To me that's not like wine, especially not in the context that the question was asked at the top of the thread. YMMV.

But, I'm assuming they've done a similar thing for Linux as Mac. It's not really clear if that's the case from the talks I've watched and blog posts on Valve Linux, but the fact things like dxlevel work suggests they might have.
Everything I've read about it says they are, effectively, converting DX calls into OpenGL calls on the fly. The game is still written using DirectX.
If you read Faster Zombies! it explains a little about Valves porting techniques.

http://blogs.valvesoftware.com/linux/faster-zombies/
Here you go;

http://blogs.valvesoftware.com/linux/faster-zombies/#comment-3986

Valve Linux team says:
August 2, 2012 at 3:00 pm
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.
Автор сообщения: Fuzz
Everything I've read about it says they are, effectively, converting DX calls into OpenGL calls on the fly. The game is still written using DirectX.

That is true. In fact, it probably would have been better if they just wrapped it in Wine, considering the fact that it's just painful to play with a dual core processor.
I wonder if this abstraction layer is really a dynamic translator or something more like a wrapper of the OpenGL calls...
< >
Сообщения 115 из 15
Показывать на странице: 1530 50

Дата создания: 5 дек. 2012 г. в 14:13
Сообщений: 15