You are not logged in.

#1 2019-06-25 02:51:25

chra
Member
Registered: 2019-01-04
Posts: 46

xorg "TearFree" option causes background windows to freeze in XFCE

In XFCE the only way I could get rid of screen tearing was to use the "TearFree" option in /etc/X11/xorg.conf.d/20-intel.conf:

Section "Device"
  Identifier  "Intel Graphics"
  Driver      "intel"
  Option      "TearFree" "true"
EndSection

Unfortunately it seems that this causes programs such as kitty, trello, spotify and skype to freeze when they lose focus. The freezing doesn't happen at an exact time. It seems very random. Sometimes the windows freeze straight away, other times they last hours before freezing. When I notice they are frozen I can never get them back. The windows act like they are not in focus and I can't do anything with them so I have to close them.

I am using intel integrated graphics on the Thinkpad X1 Carbon Gen 6, and hence use the xf86-video-intel driver.
uname -a gives Linux 5.1.12-arch1-1-ARCH #1 SMP PREEMPT.

I made a post about this a while ago where I solved the issue by switching to the modesetting driver https://bbs.archlinux.org/viewtopic.php?id=244807, however, I only just now discovered that this happens only when I set the "TearFree" setting to true. I don't really want to use the modesetting driver if I don't have to.

Offline

#2 2019-06-25 07:16:23

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 23,179

Re: xorg "TearFree" option causes background windows to freeze in XFCE

If the modesetting driver fixes this for you, what for and why do you have reservations to use it? Many of the intel devs are actively improving the modesetting driver, while xf86-video-intel is in a perpetual limbo, where it's still useful for a few very specific use cases, it hasn't seen an official release in years and only sees very sporadic development.

Online

#3 2019-06-25 08:11:29

chra
Member
Registered: 2019-01-04
Posts: 46

Re: xorg "TearFree" option causes background windows to freeze in XFCE

V1del wrote:

If the modesetting driver fixes this for you, what for and why do you have reservations to use it? Many of the intel devs are actively improving the modesetting driver, while xf86-video-intel is in a perpetual limbo, where it's still useful for a few very specific use cases, it hasn't seen an official release in years and only sees very sporadic development.

The modesetting driver doesn't fix screen tearing. I am using it writing this and I am still seeing the same amount of tearing. It only fixes an issue that only happens when I try to fix the screen tearing by using the "TearFree" option. However, the modesetting driver doesn't offer this option.

Offline

#4 2019-06-25 08:18:50

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 23,179

Re: xorg "TearFree" option causes background windows to freeze in XFCE

To "generally" fix tearing you will want to use a compositor, this page suggests that there might be a checkbox to tick to enable xfwm's vsync, alternatively try something like compton.

Online

#5 2019-06-25 08:32:20

chra
Member
Registered: 2019-01-04
Posts: 46

Re: xorg "TearFree" option causes background windows to freeze in XFCE

V1del wrote:

To "generally" fix tearing you will want to use a compositor, this page suggests that there might be a checkbox to tick to enable xfwm's vsync, alternatively try something like compton.

I have also tried both of those options. Unfortunately I still run into the same issues. My compton config is below.

backend = "glx";
glx-no-stencil = true;
vsync = true;
unredir-if-possible = true;

# Shadow
shadow = true; # Enabled client-side shadows on windows.
shadow-radius = 7; # The blur radius for shadows. (default 12)
shadow-offset-x = -7; # The left offset for shadows. (default -15)
shadow-offset-y = -7; # The top offset for shadows. (default -15)
shadow-exclude = [
 "n:e:Notification",
 "n:e:Docky",
 "g:e:Synapse",
 "g:e:Conky",
 "n:w:*Firefox*",
 "n:w:*Chromium*",
 "n:w:*dockbarx*",
 "class_g ?= 'Cairo-dock'",
 "class_g ?= 'Xfce4-notifyd'",
 "class_g ?= 'Xfce4-power-manager'",
 "class_g ?= 'Notify-osd'",
 "_GTK_FRAME_EXTENTS@:c"
];

# Opacity
detect-client-opacity = true;

# Window type settings
wintypes:
{
 dock = { shadow = false; };
 dnd = { shadow = false; };
 tooltip = { shadow = false; };
};

Offline

#6 2019-06-25 10:19:15

jonno2002
Member
Registered: 2016-11-21
Posts: 703

Re: xorg "TearFree" option causes background windows to freeze in XFCE

use xfwm4-git from the aur, it seems to work with modesetting driver and there is no tearing

Last edited by jonno2002 (2019-06-25 10:21:12)

Offline

#7 2019-06-25 11:02:19

chra
Member
Registered: 2019-01-04
Posts: 46

Re: xorg "TearFree" option causes background windows to freeze in XFCE

jonno2002 wrote:

use xfwm4-git from the aur, it seems to work with modesetting driver and there is no tearing

I just tried that and I get tearing. I even tried the recommended settings in the comments:

xfconf-query -c xfwm4 -p /general/vblank_mode -s xpresent

Offline

#8 2019-06-25 11:26:52

jonno2002
Member
Registered: 2016-11-21
Posts: 703

Re: xorg "TearFree" option causes background windows to freeze in XFCE

ok last hope then is to try xf86-video-intel-git with tearfree enabled, which is what i was using until xfwm4-git went to 4.14 from 4.13

EDIT: just tried the xfconf vblank 'xpresent' and i got tearing, changed it back to 'auto' which is the default value and the tearing is gone, thats using xfwm4-git-4.14pre1+80+g8a16ca2e6-1 and modesetting

Last edited by jonno2002 (2019-06-25 14:19:14)

Offline

#9 2019-06-27 06:02:13

chra
Member
Registered: 2019-01-04
Posts: 46

Re: xorg "TearFree" option causes background windows to freeze in XFCE

jonno2002 wrote:

ok last hope then is to try xf86-video-intel-git with tearfree enabled, which is what i was using until xfwm4-git went to 4.14 from 4.13

EDIT: just tried the xfconf vblank 'xpresent' and i got tearing, changed it back to 'auto' which is the default value and the tearing is gone, thats using xfwm4-git-4.14pre1+80+g8a16ca2e6-1 and modesetting

It seems using the 'auto' mode prevents tearing when I don't have an external monitor connected. I had only been testing it previously with an external monitor connected. What's weird is that if I plug in an external monitor and try it on my laptop's screen I get tearing.

I run a script that calls the below xrandr command when I connect my external monitor:

xrandr --output eDP-1 --primary --mode 2560x1440 --pos 3072x288 --rotate normal --output DP-1 --off --output DP-2 --off --output HDMI-1 --mode 1920x1080 --pos 0x0 --rotate normal --scale 1.6x1.6

Last edited by chra (2019-06-27 06:10:39)

Offline

#10 2019-06-27 06:18:34

seth
Member
Registered: 2012-09-03
Posts: 58,669

Re: xorg "TearFree" option causes background windows to freeze in XFCE

1 crtc produces 1 vblank signal ie. you cannot sync to two outputs - I would however expect the primary condition to be relevant - maybe the scale spoils it?
(But the IGP could simply prefer the external output unconditionally, the nvidia blob lets you select the syncing output, but I'm not aware of such feature otherwise)

Offline

#11 2019-06-27 06:48:28

chra
Member
Registered: 2019-01-04
Posts: 46

Re: xorg "TearFree" option causes background windows to freeze in XFCE

seth wrote:

1 crtc produces 1 vblank signal ie. you cannot sync to two outputs - I would however expect the primary condition to be relevant - maybe the scale spoils it?
(But the IGP could simply prefer the external output unconditionally, the nvidia blob lets you select the syncing output, but I'm not aware of such feature otherwise)

Yeah I just tested it. It seems to be the scale doing it.

Offline

Board footer

Powered by FluxBB