Forums
May 08, 2024, 07:30 PM

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - pisto

Pages: [1]
1
Wormkit Modules / Re: wkWineVSync
« on: January 12, 2014, 01:50 AM »
I let Kawoosh handle that.

2
Wormkit Modules / wkWineVSync
« on: January 12, 2014, 12:32 AM »
Hello,
I am trying to fix the lack of vertical sync when running w:a in wine. Here's what I did so far: https://github.com/pisto/wkWineVSync
I need some feedback, because right now I do get vsync (so a capped framerate at 60 Hz), but I see a fixed tear in the upper part of the screen.

Installation
Place as any Wormkit module in your w:a folder. Make sure you activate vertical sync in the advanced options menu. The module should be compatible with any version of w:a (probably even ancient ones), future ones included (barring catastrophic changes in the DirectDraw engine).

Technical trivia
w:a in wine seems to be single buffered, and the API that it uses to have vertical sync regardless in Windows is a stub in wine. Yet there exist a similar API (http://www.opengl.org/registry/specs/SGI/video_sync.txt), which I'm calling explicitly in the module. It is and old API and probably being lesser and lesser honored by recent drivers: the proper way to have vertical sync is to use double buffering and set the swap control, but that means a big modification in either w:a or wine.

Compiling
The makefile should take care of everything for you. If you install the package that contains wineg++, whatever that is in your distro, you should be good. The source uses lightly C++11 (only auto typed variables if I recall correctly), so you cannot compile it with an archaic gcc or clang.

Pages: [1]