You are not logged in.

#1 2017-08-14 10:36:12

Sleepful
Member
Registered: 2017-08-14
Posts: 30

Screen Tear on Intel Integrated Graphics + Compton

Screen tear is driving me crazy, manifests itself mostly while scrolling on the web, and while watching videos (VLC, youtube, etc)

I'm using bspwm (simple window manager) with Compton

The command I use to start Compton is:

compton --backend glx -vsync opengl-swc -b

I've tried using different vsync options from compton to no avail, i believe the vsync option on compton helps a little bit (tearing isn't as bad on youtube) but it does not fix the problem.


I don't know if this is relevant but I'll mention it:

1) My laptop has "Optimus Technology" (the way they implemented integratedGPU + graphics card on the laptop) and for this I installed Bumblebee, which shouldn't be causing a problem at all but I figured I'd mention it.


2) I had to add the screenresolution to the xorg config files at /etc/X11/xorg.conf.d/10-monitor.conf with the help of xrandr, in it there's a -vsync flag which i tried turning on and off but didn't do anytihng, here's what it looks like:

Section "Monitor"
    Identifier "eDP-1"
    Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -HSync -VSync
    Option "PreferredMode" "1920x1080_60.00"
EndSection

3) I also tried creating a 10-modesetting.conf file too, but it did not do anything:

Section "Device"
	Identifier "Device0"
	Driver "modesetting"
EndSection

4) And finally, I tried installing Hardware Video acceleration, but it also did not do anything, I installed these packages:

libva-intel-driver    libva-vdpau-driver

Specs:

laptop: XPS 15 9530

output of lspci -k for the gpus (nvidia card doesn't have a module loaded because i got Bumblebee installed)

00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
	Subsystem: Dell Device 05fe
	Kernel driver in use: i915
	Kernel modules: i915
02:00.0 3D controller: NVIDIA Corporation GK107M [GeForce GT 750M] (rev ff)
	Kernel modules: nouveau, nvidia_drm, nvidia

pls help

Last edited by Sleepful (2017-08-14 10:38:46)

Offline

#2 2017-08-14 10:44:22

ugjka
Member
From: Latvia
Registered: 2014-04-01
Posts: 1,962
Website

Re: Screen Tear on Intel Integrated Graphics + Compton

try xf86-video-intel driver, modesetting driver uses glamour for rendering which is opengl so compton may not have any effect

Offline

#3 2017-08-14 11:17:18

Sleepful
Member
Registered: 2017-08-14
Posts: 30

Re: Screen Tear on Intel Integrated Graphics + Compton

ugjka wrote:

try xf86-video-intel driver, modesetting driver uses glamour for rendering which is opengl so compton may not have any effect

As per your suggestion I installed the driver and rebooted, I still have the problem.

I also tried making a 20-intel.conf with these parameters but it did not change anything

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

(i assume that xf86-video-intel is running, otherwise making the .conf file without the driver wouldn't allow me to start X)

Offline

#4 2017-08-14 11:22:42

ugjka
Member
From: Latvia
Registered: 2014-04-01
Posts: 1,962
Website

Re: Screen Tear on Intel Integrated Graphics + Compton

can you try compton with these settings

compton --backend glx --paint-on-overlay --refresh-rate 60 --glx-no-stencil --glx-no-rebind-pixmap --glx-swap-method -1

Offline

#5 2017-08-14 11:36:42

Sleepful
Member
Registered: 2017-08-14
Posts: 30

Re: Screen Tear on Intel Integrated Graphics + Compton

ugjka wrote:

can you try compton with these settings

compton --backend glx --paint-on-overlay --refresh-rate 60 --glx-no-stencil --glx-no-rebind-pixmap --glx-swap-method -1

not any better

Offline

#6 2017-08-14 11:48:15

ugjka
Member
From: Latvia
Registered: 2014-04-01
Posts: 1,962
Website

Re: Screen Tear on Intel Integrated Graphics + Compton

are you sure it is intel that is running?

Offline

#7 2017-08-14 12:26:09

Sleepful
Member
Registered: 2017-08-14
Posts: 30

Re: Screen Tear on Intel Integrated Graphics + Compton

ugjka wrote:

are you sure it is intel that is running?

i believe so, but i don't know how to check. Do you know how?

Offline

#8 2017-08-14 13:01:03

Chazza
Wiki Maintainer
Registered: 2013-06-02
Posts: 506

Re: Screen Tear on Intel Integrated Graphics + Compton

Sleepful wrote:
ugjka wrote:

try xf86-video-intel driver, modesetting driver uses glamour for rendering which is opengl so compton may not have any effect

As per your suggestion I installed the driver and rebooted, I still have the problem.

I also tried making a 20-intel.conf with these parameters but it did not change anything

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

(i assume that xf86-video-intel is running, otherwise making the .conf file without the driver wouldn't allow me to start X)

Apparently, the TearFree option doesn't work with DRI3 (which is what xf86-video-intel defaults to these days). Try adding:

Option "DRI" "2"

to your 20-intel.conf

Side note - have a look at your Xorg log to see what driver is being used. If you find something like this:

[    34.559] (II) LoadModule: "intel"
[    34.559] (II) Loading /usr/lib/xorg/modules/drivers/intel_drv.so

then it's the Intel driver that's running.

Last edited by Chazza (2017-08-14 13:14:45)

Offline

#9 2017-08-14 17:48:48

justasug
Member
Registered: 2014-08-03
Posts: 174

Re: Screen Tear on Intel Integrated Graphics + Compton

Chazza wrote:

Apparently, the TearFree option doesn't work with DRI3 (which is what xf86-video-intel defaults to these days). Try adding:

Option "DRI" "2"

to your 20-intel.conf

Might not be helpful, but I'm using DRI3 with TearFree and it gets rid of tearing for me.

[    21.479] (II) LoadModule: "dri3"
[    21.479] (**) intel(0): TearFree enabled

I read the comments on the bug report and according to the person reporting it, it also works for them, but breaks upon watching full-screen video. It doesn't for me. I'm now confused, because user Chris Wilson in the bug report says it's not supposed to work (he's the one who wrote it).

Offline

#10 2017-08-14 18:12:09

ugjka
Member
From: Latvia
Registered: 2014-04-01
Posts: 1,962
Website

Re: Screen Tear on Intel Integrated Graphics + Compton

it depends what video player you use and how it renders the video

Offline

#11 2017-08-14 22:18:42

Sleepful
Member
Registered: 2017-08-14
Posts: 30

Re: Screen Tear on Intel Integrated Graphics + Compton

Chazza wrote:

Side note - have a look at your Xorg log to see what driver is being used. If you find something like this:

[    34.559] (II) LoadModule: "intel"
[    34.559] (II) Loading /usr/lib/xorg/modules/drivers/intel_drv.so

then it's the Intel driver that's running.

oh ok yep, definitely the intel as per Xorg.0.log, it also says `"LoadModule: "dri3"; Module already built-in`, and the same for dri2

[     4.327] (II) LoadModule: "glx"
[     4.327] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
...
[     4.333] (II) LoadModule: "intel"
[     4.333] (II) Loading /usr/lib/xorg/modules/drivers/intel_drv.so
[     4.335] (II) Module intel: vendor="X.Org Foundation"

Offline

#12 2017-08-14 22:51:29

Sleepful
Member
Registered: 2017-08-14
Posts: 30

Re: Screen Tear on Intel Integrated Graphics + Compton

Chazza wrote:

Apparently, the TearFree option doesn't work with DRI3 (which is what xf86-video-intel defaults to these days). Try adding:

Option "DRI" "2"

to your 20-intel.conf

Didn't help either hmm/

I don't know if some level of tearing is to be expected? But it doesn't make sense since I get no tearing on windows no matter how many videos i have open.

Is there no way of figuring out where/why the tearing is happening? Instead of just randomly trying things like "try something new, reboot, open up videos to see if the problem is still there, yep it's still there".


Here's the complete xorg log https://pastebin.com/QVw5KtbY (it says tearfree disabled, but i get the same problems when it's enabled)

Do you think that installing another compositor could fix the issue?

I've been avoiding this because the other options like Compiz seem to be filled with features for Desktop Environments (which I don't use), so I'm not sure what to try/do.

Last edited by Sleepful (2017-08-14 23:10:06)

Offline

#13 2017-08-15 04:55:37

i_love_r34
Member
From: Mexico
Registered: 2016-02-14
Posts: 87

Re: Screen Tear on Intel Integrated Graphics + Compton

Try to change from SNA to UXA:

Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "AccelMethod"  "uxa"
EndSection

Offline

#14 2017-08-15 06:45:29

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,877

Re: Screen Tear on Intel Integrated Graphics + Compton

My laptop has "Optimus Technology" (the way they implemented integratedGPU + graphics card on the laptop) and for this I installed Bumblebee, which shouldn't be causing a problem at all

There's actually *much* potential for problems here.

If you can, try to switch off the GPU in the BIOS/UEFI settings.

Otherwise:
Ensure you're not decoding the video on the nvidia card (no optirun, no vdpau backend) nor run the compositor on it.
Best try uncomposted behavior and use mplayer/mpv for CLI output and more control over the used decoder and sink.
Easy test is to ensure that the nvidia kernel module isn't loaded or in use.

Another cause could be your handcrafted modeline, notably if the crtc does't actually run at 60fps but eg. 59.89 - why did you "have to"?
The -VSync switch there btw. is entirely unrelated to syncing frames to the vblank signal.

Offline

#15 2017-08-15 19:28:43

Sleepful
Member
Registered: 2017-08-14
Posts: 30

Re: Screen Tear on Intel Integrated Graphics + Compton

seth wrote:

Easy test is to ensure that the nvidia kernel module isn't loaded or in use.

Right, I'll try what you suggested soon, powertop shows this:

            100.0%        PCI Device: NVIDIA Corporation GK107M [GeForce GT 750M]

however lspci-k doesnt show any loaded kernel modules. So that's confusing.
Any tips on how to use mplayer/mpv to test? (I don't know the way that decoder/sink/etc work)

seth wrote:

Another cause could be your handcrafted modeline, notably if the crtc does't actually run at 60fps but eg. 59.89 - why did you "have to"?
The -VSync switch there btw. is entirely unrelated to syncing frames to the vblank signal.

as for the modeline, i was following the wiki here https://wiki.archlinux.org/index.php/xr … esolutions
The detected resolution was around  " 3840x2160     60.00 +  48.02 " according to xrandr (I think this is because the screen on the laptop is 4k), it made everything look extremely tiny and there was no "1920x1080" resolution to pick from, so i followed the wiki.
Also i left the +vsync switch there as it was, i just didn't know what to try anymore.

Last edited by Sleepful (2017-08-15 19:30:40)

Offline

#16 2017-08-15 19:44:16

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,877

Re: Screen Tear on Intel Integrated Graphics + Compton

see "lsmod" and before you do anything else, check whether you get the tearing with a native resolution of that monitor (tiny or not - we're gonna resolve that later and best by fixing the HiDPI issues, see https://wiki.archlinux.org/index.php/HiDPI for a start)

Offline

#17 2017-08-24 01:32:38

Sleepful
Member
Registered: 2017-08-14
Posts: 30

Re: Screen Tear on Intel Integrated Graphics + Compton

seth wrote:

see "lsmod" and before you do anything else, check whether you get the tearing with a native resolution of that monitor (tiny or not - we're gonna resolve that later and best by fixing the HiDPI issues, see https://wiki.archlinux.org/index.php/HiDPI for a start)

I had already looked at the HiDPI link actually, using xdpyinfo, here's xdpyinfo | grep -B2 resolution

screen #0:
  dimensions:    1920x1080 pixels (346x194 millimeters)
  resolution:    141x141 dots per inch

i even specifically set the dimensions to what the wiki said "the Dell XPS 9530 has 346mm x 194mm" (same model as my laptop) (Note: it did get a little better when i set the screen dimensions, however tearing is still there)

I also get tearing in the original resolution where everything is tiny. The problem existed before trying vdpau and compositor. The BIOS doesnt have an option to turn off the nvidia card, and here's lsmod

Module                  Size  Used by
snd_hda_codec_hdmi     49152  1
btusb                  40960  0
btrtl                  16384  1 btusb
btbcm                  16384  1 btusb
btintel                16384  1 btusb
uvcvideo               86016  0
bluetooth             475136  5 btrtl,btintel,btbcm,btusb
videobuf2_vmalloc      16384  1 uvcvideo
videobuf2_memops       16384  1 videobuf2_vmalloc
videobuf2_v4l2         20480  1 uvcvideo
videobuf2_core         36864  2 uvcvideo,videobuf2_v4l2
videodev              151552  3 uvcvideo,videobuf2_core,videobuf2_v4l2
joydev                 20480  0
mousedev               20480  0
media                  32768  2 uvcvideo,videodev
ecdh_generic           24576  1 bluetooth
bbswitch               16384  0
intel_rapl             20480  0
x86_pkg_temp_thermal    16384  0
intel_powerclamp       16384  0
coretemp               16384  0
kvm_intel             192512  0
kvm                   520192  1 kvm_intel
wl                   6377472  0
irqbypass              16384  1 kvm
pn544_mei              16384  0
crct10dif_pclmul       16384  0
mei_phy                16384  1 pn544_mei
crc32_pclmul           16384  0
pn544                  20480  1 pn544_mei
crc32c_intel           24576  0
hci                    24576  2 mei_phy,pn544
ghash_clmulni_intel    16384  0
iTCO_wdt               16384  0
dell_wmi               16384  0
nfc                    98304  2 hci,pn544
iTCO_vendor_support    16384  1 iTCO_wdt
pcbc                   16384  0
sparse_keymap          16384  1 dell_wmi
mxm_wmi                16384  0
dell_laptop            20480  0
dell_smbios            16384  2 dell_wmi,dell_laptop
dcdbas                 16384  1 dell_smbios
evdev                  24576  14
aesni_intel           167936  0
aes_x86_64             20480  1 aesni_intel
input_leds             16384  0
crypto_simd            16384  1 aesni_intel
snd_hda_codec_realtek    73728  1
glue_helper            16384  1 aesni_intel
rtsx_pci_ms            20480  0
cryptd                 20480  3 crypto_simd,ghash_clmulni_intel,aesni_intel
intel_cstate           16384  0
led_class              16384  2 input_leds,dell_laptop
snd_hda_codec_generic    69632  1 snd_hda_codec_realtek
i915                 1445888  15
intel_rapl_perf        16384  0
cfg80211              520192  1 wl
mac_hid                16384  0
psmouse               131072  0
pcspkr                 16384  0
memstick               16384  1 rtsx_pci_ms
i2c_i801               24576  0
lpc_ich                24576  0
intel_pch_thermal      16384  0
snd_hda_intel          36864  4
snd_hda_codec         106496  4 snd_hda_intel,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek
thermal                20480  0
drm_kms_helper        131072  1 i915
acpi_als               16384  0
snd_hda_core           65536  5 snd_hda_intel,snd_hda_codec,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek
ac                     16384  0
drm                   299008  6 i915,drm_kms_helper
kfifo_buf              16384  1 acpi_als
dptf_power             16384  0
snd_hwdep              16384  1 snd_hda_codec
industrialio           57344  2 acpi_als,kfifo_buf
fan                    16384  0
snd_pcm                86016  4 snd_hda_intel,snd_hda_codec,snd_hda_core,snd_hda_codec_hdmi
int3403_thermal        16384  0
intel_gtt              20480  1 i915
snd_timer              28672  1 snd_pcm
battery                20480  0
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
snd                    69632  16 snd_hda_intel,snd_hwdep,snd_hda_codec,snd_timer,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek,snd_pcm
sysimgblt              16384  1 drm_kms_helper
mei_me                 36864  0
processor_thermal_device    16384  0
fb_sys_fops            16384  1 drm_kms_helper
soundcore              16384  1 snd
i2c_algo_bit           16384  1 i915
mei                    77824  4 mei_phy,mei_me,pn544_mei
int3406_thermal        16384  0
dell_smo8800           16384  0
wmi                    16384  2 dell_wmi,mxm_wmi
intel_soc_dts_iosf     16384  1 processor_thermal_device
shpchp                 32768  0
int3402_thermal        16384  0
dell_rbtn              16384  0
video                  36864  4 dell_wmi,dell_laptop,int3406_thermal,i915
int3400_thermal        16384  0
int340x_thermal_zone    16384  3 int3402_thermal,int3403_thermal,processor_thermal_device
ie31200_edac           16384  0
acpi_thermal_rel       16384  1 int3400_thermal
tpm_tis                16384  0
tpm_tis_core           20480  1 tpm_tis
tpm                    49152  2 tpm_tis,tpm_tis_core
button                 16384  1 i915
rfkill                 20480  7 bluetooth,nfc,dell_laptop,dell_rbtn,cfg80211
sch_fq_codel           20480  2
ip_tables              24576  0
x_tables               28672  1 ip_tables
ext4                  540672  1
crc16                  16384  2 bluetooth,ext4
jbd2                   90112  1 ext4
fscrypto               24576  1 ext4
hid_multitouch         20480  0
mbcache                16384  1 ext4
usbhid                 45056  0
hid                   114688  2 usbhid,hid_multitouch
sd_mod                 49152  2
ahci                   36864  1
libahci                28672  1 ahci
rtsx_pci_sdmmc         24576  0
xhci_pci               16384  0
mmc_core              122880  1 rtsx_pci_sdmmc
serio_raw              16384  0
ehci_pci               16384  0
xhci_hcd              188416  1 xhci_pci
libata                208896  2 ahci,libahci
ehci_hcd               73728  1 ehci_pci
atkbd                  24576  0
libps2                 16384  2 atkbd,psmouse
usbcore               208896  7 uvcvideo,usbhid,ehci_hcd,xhci_pci,btusb,xhci_hcd,ehci_pci
scsi_mod              155648  2 sd_mod,libata
rtsx_pci               49152  2 rtsx_pci_sdmmc,rtsx_pci_ms
usb_common             16384  1 usbcore
i8042                  24576  1 dell_laptop
serio                  20480  6 serio_raw,atkbd,psmouse,i8042

I think my only option is to install another distro and see if the problem persists, i'll give Debian a go i think

Last edited by Sleepful (2017-08-24 01:37:42)

Offline

#18 2017-08-28 08:01:56

Sleepful
Member
Registered: 2017-08-14
Posts: 30

Re: Screen Tear on Intel Integrated Graphics + Compton

I'm soon going to give up, just trying some last efforts. I tried Sway(tiling wm) in Wayland, and it seems like it removed the screen tear completely, however it was full of other problems, such as poor framerate, mouse input lag, and poor font rendering on some apps, so it wasn't a solution.

However this makes me think that the problem is with either Xorg or Compton compositor, or something in my config files (which i doubt given that the config files have actually reduced tearing). Not sure what to do now because if the problem is with Xorg itself then installing another distro that also uses Xorg will result in the same problem. I also stumbled with this https://unix.stackexchange.com/question … m-in-linux which pretty much says that Xorg has been a problem for a while now.

Not sure if I want to try another distro which might have different result if the drivers are different, if i want to try out other implementations of wayland such as KDE or Gnome, or if i want to try out KDE/Gnome on xorg since it has a different compositor (Not Compton) and that might make a difference, very sad because i really wanted to use a standalone wm :'(

Last edited by Sleepful (2017-08-28 08:02:43)

Offline

#19 2017-08-28 10:17:55

Sleepful
Member
Registered: 2017-08-14
Posts: 30

Re: Screen Tear on Intel Integrated Graphics + Compton

UPDATE:

The issue exists only in COMPTON

I'm using KDE plasma now, on Xserver, and it's smooth as it can ever be, didn't even have to adjust my resolution, so I am now 100% convinced that the problem is with Compton, and after trying so many combinations of parameters for it i believe there's no fixing it. I'm still open to suggestions to make compton work or using some alternative since I would still like to use my stand-alone wm, but at this point I've pretty much given up, I'll mark this as solved in a day or so.

Offline

#20 2017-08-28 11:40:02

brebs
Member
Registered: 2007-04-03
Posts: 3,742

Re: Screen Tear on Intel Integrated Graphics + Compton

Try ortle (AUR package) instead of compton.

I find that ortle provides a smoother vsync than compton, under Nouveau.

Edit: Here is a PKGBUILD for ortle-git:

pkgname=ortle-git
pkgver=21.006d8b9
pkgrel=1
pkgdesc="a simple compositing manager for X"
arch=('i686' 'x86_64')
url="https://github.com/aoba1217/ortle"
license=('BSD')
depends=('mesa' 'libxcomposite')
makedepends=('git' 'libgl')
provides=('ortle')
conflicts=('ortle')
source=("git+https://github.com/aoba1217/ortle.git")
sha256sums=('SKIP')

pkgver() {
  cd ortle
  printf "%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

build() {
  cd ortle
  make
}

package() {
  cd ortle
  install -Dm 755 ortle "$pkgdir/usr/bin/ortle"
  install -Dm 644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"

  install -d -m 755 "$pkgdir/usr/share/doc/$pkgname"
  install -m 644 *.md "$pkgdir/usr/share/doc/$pkgname/"
}

# vim:set ts=2 sw=2 et:

Last edited by brebs (2018-08-26 13:45:17)

Offline

Board footer

Powered by FluxBB