Forums
May 03, 2024, 02:55 AM

Author Topic: wkWineVSync  (Read 789 times)

0 Members and 1 Guest are viewing this topic.

Offline pisto

  • New Member
  • *

  • Italy Italy
  • Posts: 2
    • View Profile
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.
« Last Edit: January 12, 2014, 12:39 AM by pisto »

Re: wkWineVSync
« Reply #1 on: January 12, 2014, 01:41 AM »
wow, hey pisto, any plans about rubber updates/ :D

Offline pisto

  • New Member
  • *

  • Italy Italy
  • Posts: 2
    • View Profile
Re: wkWineVSync
« Reply #2 on: January 12, 2014, 01:50 AM »
I let Kawoosh handle that.

Re: wkWineVSync
« Reply #3 on: January 12, 2014, 02:01 AM »
he is too lazy to make something new :(

Offline StepS

Re: wkWineVSync
« Reply #4 on: January 12, 2014, 03:54 AM »
he is too lazy to make something new :(
that depends :)
one thing is: you tell him to go find some meat, but the other thing: you give him some raw meat and he does the thing. He's too lazy to search.
Dec 30 2013 23:59:44 <StepS> windowed mode isn't the only thing you need about frontend
Dec 30 2013 23:59:49 <StepS> you need it to be actually bigger
Dec 31 2013 00:00:13 <StepS> it actually is very small on my 15-inch full HD screen
Dec 31 2013 00:00:25 <StepS> while running at 640x480 or stretched mode makes it fuzzy
Dec 31 2013 00:00:44 <StepS> this problem has been around since the Worms Armageddon's release and no one has even tried to beat it
[...]