Question / Help Screen tearing with Fullscreen Projector on the GAMING PC. 2 PC Setup Elgato HD60 Pro. [RESOLVED]

LaZeR_Strike

New Member
I've been trying to setup a 2 pc stream configuration for the past week and I've finally managed to set everything up , regarding audio and video they work perfectly. Now unfortunately i ran into a very strange issue, when im sending the video feed from my gaming pc to the streaming rig (to the elgato hd60 ) when i start the full screen projector from the obs on my gaming rig my gaming monitor becomes noticeably choppy (it has the same frame rate 144Hz but the recordings look fantastic no loss in quality nothing on the streaming rig) now I've searched a lot for the past 2 days and i cant find anything regarding the issue.Do you guys happen to know why that happens and how can i fix it (its still at 144Hz but even scrolling down through webpages you can clearly see its choppy ).
Posting a log file seems irrelevant because the fullscreen projector doesn't show in there.
I've never had this issue while i was recording with only 1 PC and frankly it only happens when i start the fullscreen projector and its only visable on the gaming PC as i said.
 

LaZeR_Strike

New Member
You know what , it actually got even more complicated.I managed to get it to work without any issues by opening other applications on the gaming PC and then closing them ,once i reach a point where its stable it stays like that for the rest of the time im recording or streaming.But when i start a new fullscreen projector it still reverts to its choppy state and i have to go through the said process.This makes no sense to me at all it just seems like an OBS bug which HAS to be addressed by the devs or something.
I'm also adding the log but as i said there is no fullscreen projector in it.
 

Attachments

  • 2018-07-30 06-03-13.txt
    4.9 KB · Views: 184
Last edited:

LaZeR_Strike

New Member
Thanks for all of the feedbacks with the help of
randomdoohickey I managed to resolve the issue.

I came to a conclusion that its either Elgato's fault at being unable to work properly while the fullscreen projector is running at 60 fps or the fullscreen projector being bugged in the OBS Studio itself.Honestly i think it might be both , because sometimes the 60 fps fullscreen projector will work without any screen tearing and other times it WONT.

Now How I resolved this issue step by step (if you have already set up everything and this is your only issue ).

ON the OBS studio running on the GAMING PC.
1.In the video options set both the BASE and the OUTPUT resolutions at 1920x1080 ( or 1280x720 ) but both SHOULD BE THE SAME.
2.Set the downscale filter to lancsoz (even tho there is no scaling it help for some unknown reason thanks OBS)
3.Set the COMMON FPS VALUES AT 30!!! very important.
4.Apply exit and then right click on your previewed window and deselect Enable Preview (Very important)

On the OBS studio running on the STREAMING PC.
1.In the video options set both the BASE and the OUTPUT resolutions at 1920x1080 ( or 1280x720 ) but both SHOULD BE THE SAME and both SHOULD BE THE SAME as the GAMING PC ( you either set them at 1080p or 720p different resolutions will produce screen tearing on the STREAM/RECORDING)
2.Keep all other settings as you'd wish i kept mine at 60 FPS and for some unknown reason (because obviously there's an issue with either OBS or Elgato ) the STREAM/RECORDING is in fact at 60 FPS with no screen tearing even tho in theory the video signal being sent should be at 30 FPS but its NOT.

That's it Start your Fullscreen Projector on your Gaming PC and enjoy there should not be ANY screen tearing ANYWHERE. My gaming monitor runs at 144Hz while the Elgato record and streams at 60 Hz.
Honestly OBS studio will probably fix this in its upcoming versions but for now this is the only way i managed to get everything working.
Edited the flare to RESOLVED i hope this helps a lot of folks who are facing the same issue due to the incompetence of the software.
 
Last edited:

I3ordo

Member
I would go with similar if i had setup the second pc but, Projectors in my PC are stuttery messs... It looks like if you have a poor GPU like my 980ti and hooked to 3 60hz monitors, you cant have projectors worth capturing. My last ditch effort is frame limiting OBS via separate NVinspector profile. But then, if you set it to 60 fps , you get one projector (preview window does count as one, but studio mode counts as two) which is at 60fps. So go studio mode and create one projector , OBS will be alarming about the stream being 20fps.

This was the only way i could get a decent Projector window.

Extra info: If the texture units in your GPU gets strained under load, "Projectors" are the first thing OBS stop caring to maintain the fps of, Second place on the "dropables" list are:
(Game/Display/Window capture sources which is horrible imo)
third element on that dispensibles list is the rendered frame, which shows up in stats window.

The order makes sense though as you can get away with a skipped frame on sources but it would look horribly broken if you game played so smoothly but Face cam disappearing occasionally.

But i would rather have the whole frame skipped so that it would report in the stats window as "dropped frames due to GPU source load."

i may be wrong in some of my assumptions but i standby the fact that stats window is useless at indicating the quality of the stream/recording.
 
Last edited:

Dan39

New Member
I found this forum thread while looking to fix screen tearing with the OBS fullscreen projector preview in linux. I am replying now to this relatively old thread in case anyone else finds it while searching like I did. The "fixes" mentioned here weren't really relevant to my scenario. I am running OBS under X11, in Rocky Linux 8, with Intel UHD Graphics P630. I had already tried setting every xorg.conf option possible to make it tear free, including the TearFree option, and using a compositing window manager, and tried with both intel and modesetting xorg drivers. Nothing else would screen tear, but OBS fullscreen projector still would.

What ended up fixing it for me was starting obs with the vblank_mode=3 environment variable set like "vblank_mode=3 obs".

It is also possible to configure the option via the drirc configuration file, but the env var method seemed a bit easier and then I won't forget about the config file.

What I think the issue comes down to is OBS (or QT? not sure) I think uses some OpenGL and/or DRI stuff that is able to pretty much bypass all of X11 / xorg driver and talk to the graphics "card" directly, so bypasses all of the screen tearing preventions in the xorg driver. Without the FPS output by OBS matching the graphics hz perfectly it will keep causing screen tearing. Turning on the vblank mode to 3 forces it to "Synchronization with the vertical refresh" which should prevent ever having a screen tear.

See links for more info:

 
Top