Half-Life 2 / Counter-Strike: Source under Wine

Evil wine at eternaldusk.com
Sun Oct 30 11:34:50 CST 2005

Thanks for the tip, James!  Disabling all the debugging had a much
bigger impact than I would have expected.  I've included my observations
and comments below, in hope that they might be of use to the devs
working on DX.

The Counter-Strike: Source Video Stress Test is now giving me 15.74fps
in 1024x768 windowed mode (vs. 24 in Cedega and 44 in Win98).  It's a
definite step in the right direction, but still a little too low to
prevent you from getting shot by any newb.  :)  I get the same speed at
lower resolutions, which indicates that I'm CPU-limited.  I can believe
that, since it's pegged-out the entire time I run the test.

I get pretty much the same performance whether I am windowing the game
by setting wine to emulate a desktop, or just passing -window to the
hl2.exe (15.2fps).

The odd thing to me is:  I get the same speed when running in fullscreen
mode.  This is even the case if I used XRandR to set my desktop to the
same resolution before starting Steam, so that I don't end up
accidentally scrolling across my virtual desktop when I move the mouse
down or to the right.  Doing that is also a help because it stops my
newsticker from drawing over the top of the game screen, but it seems to
have no impact on performance.

Do OpenGL applications typically perform the same in windowed mode as
fullscreen mode?  My experience programming with DirectX made me expect
fullscreen to run faster since the video card only has to flip the
backbuffer pointer instead of blitting from one chunk of memory to
another.  Of course, that all being handled by the video card, I suppose
this too is probably just a side-effect of my CPU-limited speed.

Here are the parameters I'm feeding to CS:S by the way, in case anyone's
interested:  "-heapsize 512000 -fullscreen -width 1024 -height 768". 
I've tried passing "-dxlevel 70" to the hl2.exe, but don't see much if
any performance difference.  It is interesting to not that if you don't
pass this parameter, you will see little white boxes indicating each
light source.  These boxes aren't clipped by any object.

Passing "-dxlevel 80" causes the menu screen to come up completely
white, making it unuseable.  Forcing DirectX 8.1 or 9.0 has the same
white-screen effect.

Restarting CS:S without exiting Steam completely can have flaky
results.  It might be related to the amount of time it actually takes
the game to cleanup and exit.  I've noticed that right after exiting the
game and then exiting Steam, it can take several minutes or longer (of
maxed out CPU utilization) before a command prompt returns.

Visually, I would say it looks better than I recall getting from
Cedega.  The textures on the monoliths were always plain and flat when I
was running Cedega.  I'm tempted to renew my Cedega subscription to make
sure I'm remembering right.

Anyway, it's looking very promising.  Keep up the great work!


James Liggett wrote:

>I have single player HL2 running decent. Not quite excellent, but
>playable. Try running steam with this command:
>WINEDEBUG="-all" wine steam.exe
>And you should get anywhere from 10-30 FPS. It's not the best in the
>world, but at least you can play. :) I have started a new game, and I am
>now in the beginning of the car sequence, and aside from some textures
>being lit up and the flashlight not working, it's pretty nice. But,
>beware of problems with pixel shaders. The make CS and HL2 deathmatch
>totally useless (they give a white screen in menu. It's not frozen, but
>you can't see anything.) I don't see that behavior with single player
>because of the animated menus. Plus, pixel shaders screw things up big
>time anyway. It inverts colors and makes it look like NPCs are holding
>tree trunks. I'll put up some shots up later so you can see what I mean.

More information about the wine-devel mailing list