Linux Tear free multi-monitor Kodi setup possible on Linux?
#1
Hi,

previously I have been using a NVIDIA GPU on Xubuntu.

One output of the GPU is connected to a standard PC monitor for work/desktop usage.

The other output is connected to a TV for Kodi usage.

The only way I was able to get a tear free experience in Kodi was to disable desktop compositing and to set up both displays as separate X screens as described over there:

http://us.download.nvidia.com/XFree86/Li...er-15.html

The NVIDIA Control Panel actually allows to do this rather easily in it's GUI.

Anyway, setting it up like that resulted in tearing on the desktop (first X screen) but at least got rid of the tearing in Kodi (second X screen).

However, I am now using a little Intel Bay Trail NUC.

The problem is the same as with the NVIDIA card.

There is always tearing in Kodi. Disabling the desktop compositing in Xubuntu (Xfwm4) does not help.

I assume that setting up two separate X screens would help.

But the Intel driver does not have an easy GUI way to set up separate X screens like the NVIDIA Control Panel does.

So, I am wondering:

Is it really necessary to set up separate X screens and to disable desktop compositing to get a tear free Kodi experience on the second display (TV)?

Isn't it possible to get a tear free desktop experience on the first display (PC monitor) and a tear free Kodi experience on the second display (TV) at the same time?

Regards
Reply
#2
Have you enabled the TearFree option in /etc/X11/xorg.conf? On my Intel chip it was tearing quite badly until I set that option.
Reply
#3
(2016-06-01, 02:27)danomac Wrote: Have you enabled the TearFree option in /etc/X11/xorg.conf?

I have already tried to use xf86-video-modesetting instead of xf86-video-intel as described over there: https://www.reddit.com/r/archlinux/comme...ideointel/. But with xf86-video-modesetting it was tearing just as bad as with xf86-video-intel, so I am now back to xf86-video-intel.

I am not sure if TearFree=True is enabled in xf86-video-intel though. I have not enabled it manually, so if Xubuntu 16.04 doesn't enable it by default, I'd say it's not enabled. I am going to check and will try to enable it and then will report back.

By the way, the Arch Linux Wiki says that TearFree is no longer needed when using DRI3:

https://wiki.archlinux.org/index.php/int...free_video

Is that correct?

Does enabling TearFree actually do anything when using DRI3? Or is TearFree=True being ignored when using DRI3?

Regards
Reply
#4
It says on the wiki page it should not be needed, but I guess that could also mean in some cases it is needed... I'd still try it and check the xorg log to see if it's being enabled.

I have a couple of Celeron NUCs and the tearing was so bad on 1080i content recorded from my antenna it was borderline unwatchable (as in multiple tears) before I enabled the TearFree option, then it went completely away after it was enabled.

Edit: I'm pretty sure TearFree is not enabled by default, you'll probably have to set it yourself.
Reply
#5
If the screens are cloned then one is always likely to be wrong.

I can't remember ever testing 2 on my baytrail, but on my amd (with non-compositing desktop) I just bring up the TV like -

xrandr --output HDMI-A-0 --auto && xrandr --output HDMI-A-0 --below DVI-D-0

Your connector names will likely be different just do xrandr to see them.

For me using fluxbox to get kodi to appear on TV when starting it, the mouse cursor needs to be on the TV.

Technically on AMD 2 screens is suboptimal (IIRC disables h/w pageflips) but it works with good opengl vsync for me.

Of course you could just turn off your monitor with xrandr when using kodi on TV or even spawn another xserver with startx (untested).
Reply
#6
(2016-06-01, 19:17)AndyFurniss Wrote: If the screens are cloned then one is always likely to be wrong.

They are not cloned. The PC monitor is connected via VGA and is set up as the main monitor and the TV is connected via HDMI and is set up to extend the main monitor on the right side of the main monitor.

(2016-06-01, 19:17)AndyFurniss Wrote: For me using fluxbox to get kodi to appear on TV when starting it, the mouse cursor needs to be on the TV.

Hmmm, I am quite sure that it is possible to select which display Kodi should use via Settings -> System -> Video Output.

I can not check right now, but I am fairly sure that I can select between HDMI-1 and VGA-1 in the Kodi settings.

Strangely though it is not mentioned in the Wiki and also not present on that screenshot:

http://kodi.wiki/view/Settings/System#Video_output

Huh

Maybe the screenshot doesn't show it because it only shows up if more than one display is connected.

You might want to have a look though, as it might very well be possible that you can configure Kodi directly to use the TV.
Reply
#7
Enabling TearFree did solve the issue Big Grin.

And enabling TearFree also works with DRI3 Wink.

Really makes you wonder why TearFree is not enabled by default...
Reply
#8
Because the implementation of TearFree sucks. You really don't want to have it enabled if not in a situation like you. With TearFree enabled the driver eats video frames and makes decisions it is not supposed to when doing video playback.
Reply
#9
(2016-06-05, 19:56)FernetMenta Wrote: Because the implementation of TearFree sucks. You really don't want to have it enabled if not in a situation like you. With TearFree enabled the driver eats video frames and makes decisions it is not supposed to when doing video playback.

So what do you suggest for a tearfree experience?

As a matter of fact, the tearing was even present with a single monitor...
Reply
#10
I have been using various system for the past years and never experienced any tearing issues. But I don't use those crappy compositing window managers.
Reply
#11
(2016-06-05, 20:54)FernetMenta Wrote: But I don't use those crappy compositing window managers.

As already mentioned, I have compositing disabled in the xfwm4 settings.
Reply
#12
Replaced xf86-video-intel with xf86-video-modesetting and replaced xfwm4 with Compton now.

With xf86-video-modesetting and Compton (compton -b --paint-on-overlay --backend=glx --glx-swap-method=buffer-age) tearing is gone everywhere now Smile.
Reply

Logout Mark Read Team Forum Stats Members Help
Tear free multi-monitor Kodi setup possible on Linux?0