You are not logged in.
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 -bI'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"
EndSection3) I also tried creating a 10-modesetting.conf file too, but it did not do anything:
Section "Device"
Identifier "Device0"
Driver "modesetting"
EndSection4) And finally, I tried installing Hardware Video acceleration, but it also did not do anything, I installed these packages:
libva-intel-driver libva-vdpau-driverSpecs:
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, nvidiapls help
Last edited by Sleepful (2017-08-14 10:38:46)
Offline
try xf86-video-intel driver, modesetting driver uses glamour for rendering which is opengl so compton may not have any effect
Offline
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
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 -1Offline
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
are you sure it is intel that is running?
Offline
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
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.sothen it's the Intel driver that's running.
Last edited by Chazza (2017-08-14 13:14:45)
Offline
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 enabledI 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
it depends what video player you use and how it renders the video
Offline
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.sothen 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
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
/
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
Try to change from SNA to UXA:
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "AccelMethod" "uxa"
EndSectionOffline
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
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)
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
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
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 inchi 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,i8042I 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
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
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
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