Intel UHD - Disable Vsync?

Hi all

I have a 10th gen i5 laptop here with Intel UHD graphics and i want to use it to play Zandronum (original DOOM but with mods and OpenGL basically)

I need to disable vsync as it's limiting me to 60 FPS and also causing jittery FPS drops which im almost certain isn't down to my machine.

How do i go about accessing Intel's driver settings, specifically the vsync option?

Thanks in advance for any help.

Hi Doomguy, welcome :slight_smile:

Intel has a bit of a history of not being able to disable v-sync, at least on windows.
It seems, however, that the Linux driver does have that potential.

Here is the page for info about the linux driver:
https://www.x.org/wiki/intel/

And this page the driveroptions:
https://www.x.org/releases/X11R7.7/doc/man/man4/intel.4.xhtml

One of those options is:

   Option "VSync" "boolean"

This option controls the use of commands to synchronise rendering with the vertical refresh of the display. Some rendering commands have the option to be performed in a "tear-free" fashion by stalling the GPU to wait
for the display to be outside of the region to be updated. This slows down all rendering, and historically has been the source of many GPU hangs.

      Default: enabled.

All intel config options are found here (in terminal):
man intel

And info how to use them in a config:
man 5 xorg.conf

1 Like

Thanks so much for the reply. Loads of info there! Great post.

Unfortunately I'm lacking the knowledge i think to carry out what i need but from what you are saying it makes sense why it's behaving the way it is.

I've used lesser machines on Windows and the FPS is always way, way higher. But that said, i can't stand Windows so i am trying to make it work the same way in Linux

Is xorg.conf a file you create in one of the directories checked and it's like a custom file to add parameters so custom commands can be used by the driver such as no vsync? Or am i completely off the mark? Going by what you said perhaps vsync isn't my only issue?

Sorry just unsure what i need to do here.

Is xorg.conf a file you create in one of the directories checked and it's like a custom file to add parameters so custom commands can be used by the driver such as no vsync?

Exactly :slight_smile:

xorg.conf is the configurationfile for your 'graphical desktop'
Nowadays it is possible to have a complete set of configurationfiles in a configurationdirectory

see this:
/usr/share/X11/xorg.conf.d

This directory contains several configfiles that are loaded in alphabetical order.
On my machine I have these files in the Xorg config directory:

10-amdgpu.conf
10-quirks.conf
10-radeon.conf
40-libinput.conf
70-wacom.conf

You could add a file named '20-intel.conf' here with the following payload:

Section "Device"
        Identifier "Device0"
        Driver "intel"
        Option "SwapbuffersWait" "false"
        Option "TearFree"        "false"
        Option "VSync"           "false"
EndSection

But there is another way which is probably a bit easier for you to do:
https://wiki.archlinux.org/title/intel_graphics#Disable_Vertical_Synchronization_(VSYNC)

quote:

Disable Vertical Synchronization (VSYNC)
Useful when:

Chomium/Chrome has lags and slow performance due to GPU and runs smoothly with --disable-gpu switch
glxgears test does not show desired performance
The intel-driver uses Triple Buffering for vertical synchronization; this allows for full performance and avoids tearing. To turn vertical synchronization off (e.g. for benchmarking) use this .drirc in your home directory:
~/.drirc

<device screen="0" driver="dri2">
    <application name="Default">
        <option name="vblank_mode" value="0"/>
    </application>
</device>

Let me know if any of this works on your hardware, ok ? :slight_smile: