I'm using proprietary nvidia-drivers with optimus support, and I notice severe screen tearing (like there is no vertical sync at all), and when I run nvidia-settings, there is no sync to vblank option (to set vertical sync). Is there any way to enable it? If not, does that work using bumblebee/primus ? Thanks in advance.

Xfce4 compositor doesn't support vsync, so no matter if I use bumblebee, primus, intel or nvidia, even though glxgears tells me that vsync is enabled (fps limited to 60), I get screen tearing. So, to that end, I just installed compton and it solved the problem with the intel driver and with primus/bumblebee.

The problem is that, at least here, primus/bumblebee gives me a serious performance hit, so I would like to use nvidia-only. But when I enable nvidia-only, there is no vsync at all. Does anyone know why?

I have no idea how NVIDIA Optimus work, but if it uses the standard nvidia driver you will need to export the nvidia-specific env variables:

Code:

__GL_SYNC_TO_VBLANK=1
__GL_SYNC_DISPLAY_DEVICE="DVI-D-0"

I am actually not sure if one needs to put something like "DVI-D-0" (display name by xrandr) or "DFP-0" (display name by nvidia driver) into the __GL_SYNC_DISPLAY_DEVICE variable.
Anyway, you can read more about this in the nvidia driver doc, chapter 11 (should have been installed with the driver into /usr/doc).[/code]

You can use the environment variable __GL_SYNC_DISPLAY_DEVICE to specify to which display device OpenGL should sync. You should set this environment variable to the name of a display device; for example "CRT-1". Look for the line "Connected display device(s):" in your X log file for a list of the display devices present and their names.

I'm using proprietary nvidia-drivers with optimus support, and I notice severe screen tearing (like there is no vertical sync at all), and when I run nvidia-settings, there is no sync to vblank option (to set vertical sync). Is there any way to enable it? If not, does that work using bumblebee/primus ? Thanks in advance.

Hi,

I have the same problem. I used to use bumblebee + primusrum, and there was no tearing (especially in games).

Now I have the proper optimus driver, there is more fps in games, but terrible tearing. The guys who made primus were known about fantastic performance with tearing (in comparation to eg. optirun), so maybe we should ask them how to configure nvidia without bumblebee, so we could have no tearing?

When prime is enabled, there is currently no synchronization between the source device producing the pixels and the sink device reading them. I.e., in a typical NVIDIA + Intel configuration, the Intel chip just scans out the shared buffer constantly, without regard to when the pixels are copied into it.

There is no synchronization between the images rendered by the NVIDIA GPU and the output device. This means that the output device can start reading the next frame of video while it is still being updated, producing a graphical artifact known as “tearing”. Tearing is currently expected due to limitations in the design of the X.Org X server.

I see ubuntu users have an nvidia-prime package https://github.com/tseliot/nvidia-prime that allows them to switch graphics between intel and nvidia (saving battery) and configure monitors with nvidia-settings.

Is it possible to use something like these binaries in gentoo?

It adds a prime section to nvidia-settings that you can turn on. My friend uses ubuntu, and it seems he does not have any tearing issues. He can use hdmi as well, and has 3 monitors working without issue._________________Andrew Rosborough
I run on a Dell Latitude with a Core i5 and 8GB Ram

I'm using proprietary nvidia-drivers with optimus support, and I notice severe screen tearing (like there is no vertical sync at all), and when I run nvidia-settings, there is no sync to vblank option (to set vertical sync). Is there any way to enable it? If not, does that work using bumblebee/primus ? Thanks in advance.