English
Main Menu
My panel

  • Welcome to The Ultimate Site of Worms Armageddon. Please log in or sign up.
Active chat preview

This box automatically views your last visited chat.

wkWineVSync

Started by pisto, January 12, 2014, 12:32 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

pisto

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.

Impossible

wow, hey pisto, any plans about rubber updates/ :D

pisto

I let Kawoosh handle that.

Impossible

he is too lazy to make something new :(

StepS

Quote from: Impossible on January 12, 2014, 02:01 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
[...]