I have tried various (almost all) nvidia proprietary drivers on my machine and vsync issue is still persisting. Nouveau drivers in not an option as I want to SVP (https://www.svp-team.com/wiki/Main_Page) for playing videos which require nvidia proprietary drivers. Please help if someone has sorted out this problem in Loki or any previous version of elementary OS. Any advice will be appreciated.
Assuming that you're using prime profiles and not bumblebee, you're wanting primesync described here: https://devtalk.nvidia.com/default/topic/957814/prime-and-prime-synchronization/
To easily enable this in Loki, make sure that you have the latest OS updates and proprietary Nvidia drivers enabled.
Do the following steps from the terminal:
sudo nano /etc/modprobe.d/nvidia-graphics-drivers.conf
2.) Change the line that says
3.) Press Ctrl+x to exit and press "y" to indicate that you like to save your change.
sudo update-initramfs -u
5.) Reboot your computer.
These steps will enable primesync through the Nvidia proprietary drivers. If you have issues, just change modeset back to 0 and update your initramfs again!
If you have further issues, you can try updating your intel graphics firmware for Skylake, Kabylake, or Broxton: https://01.org/linuxgraphics/downloads/firmware
If you're still having issues using the power-saving, intel GPU under the prime profiles, you can try changing your ACPI OS Interface string to make your bios/efi DSDT behave a little better under linux.
sudo nano /etc/default/grub
If that doesn't work, try
GRUB_CMDLINE_LINUX="acpi_osi=! acpi_osi=\"Windows 2009\""
When all else fails, reinstall your nvidia graphics package:
sudo apt --reinstall install nvidia-(your version here: i.e. "nvidia-375")