http://bugs.winehq.org/show_bug.cgi?id=19626
Summary: Half-life engine's software rendering is ridiculously slow on Intel GMA 945 Product: Wine Version: 1.1.26 Platform: PC-x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: richardcavell@mail.com
When I play Half-Life on Wine in software rendering mode, the screen renders really slowly. About one frame every five to ten seconds. What is actually being displayed is graphically correct, it's just ridiculously slow.
While watching the screen, the top rasterline is updated to the new frame, then the one below it, then the one below that, and so on, until the line being updated reaches the bottom of the screen. It then starts on a new frame. There is no tearing within the middle of a line. The lines are output at a perfectly constant speed. If I increase the resolution, it is slower to update an entire frame. My computer is easily able to render Duke Nukem 3D at fast frame rate, so there has to be a bottleneck or bug somewhere. People who have non-Intel graphics hardware don't get this problem.
I suspect that Wine is incorrectly waiting for VSync after outputting each raster line.
The problem occurs also with any Half-Life engine derivative (Counter-Strike, Condition Zero, etc). Half-Life is capable of rendering in OpenGL, software rendering or Direct3D, selectable from a menu.
I'm on 64-bit Ubuntu Karmic with all current updates applied. Half-Life and Steam have updated themselves. Intel video drivers are version 2.8.0. Wine version 1.1.26. Xserver-xorg version 7.4. Second-generation MacBook using an Intel GMA 945.
Jaunty uses version 2.6.3 of the Intel drivers, and Half-Life and its derivatives are basically completely unuseable on those drivers - they're just too buggy.
I'm happy to perform any experiments that people suggest. Running hl.exe from console doesn't give any printf output, since the main Half-Life engine isn't actually in that executable.
Richard