You are not logged in.

#1 2021-09-14 12:42:46

kaiserkueche
Member
Registered: 2021-09-14
Posts: 22

[SOLVED] screen tearing that I can't resolve

Hello there. It's my first post, I consider myself still kind of a newbie although I've been using arch for 2 years.

So I have a screen tearing on my Asus Vivobook pro N552VW that I'm using in dual screen. I use i3-gaps as wm and use a manual startx (so xinit).

I tried resolving the problem with the wiki's troubleshooting but this command gives me this error back:

$ sudo nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
ERROR: Error resolving target specification '' (No targets match target specification), specified in assignment 'CurrentMetaMode=nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }'.

I also tried to enable it in the nvidia-settings' GUI, but as shown in the picture, all X server and X screen settings are missing. When starting the GUI, this message appears:

(nvidia-settings:2866): GLib-GObject-CRITICAL **: 14:04:05.154: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

https://i.imgur.com/mvCYNQz.png

and if you wanna see how strong my screen tearing / Vsync problem is, here you can see it here.

Here is my .xinitrc:

#!/bin/sh

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap

# merge in defaults and keymaps

if [ -f $sysresources ]; then
    xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
fi
if [ -f "$userresources" ]; then
    xrdb -merge "$userresources"
fi
if [ -f "$usermodmap" ]; then
    xmodmap "$usermodmap"
fi

# start some nice programs

if [ -d /etc/X11/xinit/xinitrc.d ] ; then
 for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
  [ -x "$f" ] && . "$f"
 done
 unset f
fi


exec setxkbmap -option caps:escape &
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
exec i3

I suspect having problem with nvidia not seeing the X server infos.


Mod Edit - Replaced oversized image with link.
CoC - Pasting pictures and code

Last edited by kaiserkueche (2021-09-14 20:38:27)

Offline

#2 2021-09-14 12:47:35

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,731

Re: [SOLVED] screen tearing that I can't resolve

It doesn't look like the nvidia card is attached to any screen so it will be irrelevant towards any tearing considerations (to confirm post

xrandr --listproviders
xrandr -q

) as you are not using a compositor, I suggest you set up a compositor, picom is a popular standalone choice.

Offline

#3 2021-09-14 13:14:01

kaiserkueche
Member
Registered: 2021-09-14
Posts: 22

Re: [SOLVED] screen tearing that I can't resolve

Thank you for the quick reply.

Here is the result:

Providers: number : 2
Provider 0: id: 0x46 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 4 associated providers: 0 name:modesetting
Provider 1: id: 0x25a cap: 0x0 crtcs: 0 outputs: 0 associated providers: 0 name:NVIDIA-G0

and

Screen 0: minimum 320 x 200, current 3840 x 1080, maximum 16384 x 16384
eDP-1 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 344mm x 194mm
   1920x1080     60.02*+  60.01    59.97    59.96    59.93  
   1680x1050     59.95    59.88  
   1400x1050     59.98  
   1600x900      59.99    59.94    59.95    59.82  
   1280x1024     60.02  
   1400x900      59.96    59.88  
   1280x960      60.00  
   1440x810      60.00    59.97  
   1368x768      59.88    59.85  
   1280x800      59.99    59.97    59.81    59.91  
   1280x720      60.00    59.99    59.86    59.74  
   1024x768      60.04    60.00  
   960x720       60.00  
   928x696       60.05  
   896x672       60.01  
   1024x576      59.95    59.96    59.90    59.82  
   960x600       59.93    60.00  
   960x540       59.96    59.99    59.63    59.82  
   800x600       60.00    60.32    56.25  
   840x525       60.01    59.88  
   864x486       59.92    59.57  
   700x525       59.98  
   800x450       59.95    59.82  
   640x512       60.02  
   700x450       59.96    59.88  
   640x480       60.00    59.94  
   720x405       59.51    58.99  
   684x384       59.88    59.85  
   640x400       59.88    59.98  
   640x360       59.86    59.83    59.84    59.32  
   512x384       60.00  
   512x288       60.00    59.92  
   480x270       59.63    59.82  
   400x300       60.32    56.34  
   432x243       59.92    59.57  
   320x240       60.05  
   360x202       59.51    59.13  
   320x180       59.84    59.32  
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
HDMI-2 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 509mm x 286mm
   1920x1080     60.00*+  50.00    59.94  
   1920x1080i    60.00    50.00    59.94  
   1600x1200     60.00  
   1680x1050     59.88  
   1280x1024     75.02    60.02  
   1440x900      59.90  
   1280x960      60.00  
   1360x768      59.95  
   1152x864      75.00  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    70.07    60.00  
   800x600       72.19    75.00    60.32    56.25  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       75.00    72.81    60.00    59.94  
   720x400       70.08

As for picom, i have it installed, but I only use it to have opacity on termite, I actually don't know how to use it ^^; I'll search about it.

Offline

#4 2021-09-14 15:33:09

seth
Member
Registered: 2012-09-03
Posts: 51,213

Re: [SOLVED] screen tearing that I can't resolve

Stepping through that video frame by frame, I couldn't see a single tearline.
As V1del pointed out, the nvidia settings won't matter - you've two outputs on the intel chip.
If you're trying to run sth. on the nvidia chip and (only) then get tearing, afaik prime sync is still broken.
Otherwise nb. that the IGP will only sync to one of the outputs (probably the primary one on HDMI-2)
Also notice that in case there's any external adapter involved, those are incredibly prone to mess the vblank signal.

Finally, since there's not a single tearline in that video: can you please briefly describe what you see (because not every artifact is "tearing") - if you mean the judder (hanging frames), that's a different problem when matching the input frequency to the output frequency.

Offline

#5 2021-09-14 16:13:13

kaiserkueche
Member
Registered: 2021-09-14
Posts: 22

Re: [SOLVED] screen tearing that I can't resolve

About the video, I did another here and filmed my screen instead of capturing it. It should be pretty noticeable now.
As shown in the xrandr -q, my main screen is the HDMI-2 screen, and the other is the one integrated in my laptop eDP-1.

as you are not using a compositor, I suggest you set up a compositor, picom is a popular standalone choice.

I checked out, and I actually already use picom with `vsync = true;` so it didn't help apparently.

the nvidia settings won't matter - you've two outputs on the intel chip.
If you're trying to run sth. on the nvidia chip and (only) then get tearing, afaik prime sync is still broken.

Okay so how could I chose to run smthg. on the nvidia chip? And what is "afaik prime sync" and IGP?

Offline

#6 2021-09-14 16:23:40

seth
Member
Registered: 2012-09-03
Posts: 51,213

Re: [SOLVED] screen tearing that I can't resolve

"As Far As I Know" - welcome to the internet tongue
https://bbs.archlinux.org/viewtopic.php?id=261935
https://en.wikipedia.org/wiki/Graphics_ … ssing_unit

You'd eg. use prime-run from https://archlinux.org/packages/extra/any/nvidia-prime/ or had your system configured to always run on the nvidia chip by https://wiki.archlinux.org/title/NVIDIA_Optimus

Please post your picom config and the output of "ps aux | grep picom"

Edit, there seem to be two tearlines, try to downgrade mesa: https://bbs.archlinux.org/viewtopic.php?id=269553

Last edited by seth (2021-09-14 16:26:00)

Offline

#7 2021-09-14 19:50:57

kaiserkueche
Member
Registered: 2021-09-14
Posts: 22

Re: [SOLVED] screen tearing that I can't resolve

ah I haven't seen afaik until now x)
"ps aux | grep picom"

kaiser      2449  2.8  0.4 361132 53592 ?        Sl   18:51   2:08 picom --config /home/kaiser/.config/picom/picom.conf
kaiser     11538  0.0  0.0  12208  2368 pts/0    S+   20:05   0:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude-dir=.idea --exclude-dir=.tox picom

and my picom config is actually the default file and i removed the commented sections that you don't have to scroll endlessly:

########
shadow = true;
shadow-radius = 7;
shadow-offset-x = -7;
shadow-offset-y = -7;

shadow-exclude = [
  "name = 'Notification'",
  "class_g = 'Conky'",
  "class_g ?= 'Notify-osd'",
  "class_g = 'Cairo-clock'",
  "_GTK_FRAME_EXTENTS@:c"
];

########
fading = false;
fade-in-step = 0.03;
fade-out-step = 0.03;

inactive-opacity = 1;
frame-opacity = 1.0;

inactive-opacity-override = false;
focus-exclude = [ "class_g = 'Cairo-clock'" ];
opacity-rule = ["100:class_g = 'mpv'"];

#####
blur-kern = "3x3box";
blur-background-exclude = [
  "window_type = 'dock'",
  "window_type = 'desktop'",
  "_GTK_FRAME_EXTENTS@:c"
];

#################################

backend = "xrender";

vsync = true;

mark-wmwin-focused = true;
mark-ovredir-focused = true;
detect-rounded-corners = true;
detect-client-opacity = true;
refresh-rate = 0
detect-transient = true
detect-client-leader = true
use-damage = true
log-level = "warn";

wintypes:
{
  tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
  dock = { shadow = false; }
  dnd = { shadow = false; }
  popup_menu = { opacity = 0.8; }
  dropdown_menu = { opacity = 0.8; }
};

So about what you are saying from prime-run and optimus, do you say that I should try it out, to see if anything changes? Or is it just an explanation of you last reply I didn't understand well?

I just tried downgrading mesa to 21.1.6-1 but nothing has changed so far.

Offline

#8 2021-09-14 20:24:59

seth
Member
Registered: 2012-09-03
Posts: 51,213

Re: [SOLVED] screen tearing that I can't resolve

backend = "xrender";

Xrender doesn't vsync, try "glx".

"It is just an explanation of my last reply".

nothing has changed so far.

Did you restart X11 afterwards?

Offline

#9 2021-09-14 20:33:57

kaiserkueche
Member
Registered: 2021-09-14
Posts: 22

Re: [SOLVED] screen tearing that I can't resolve

Did you restart X11 afterwards?

Yes I restarted.

Xrender doesn't vsync, try "glx".

Okay I just tried it and it worked! Thanks a lot!
So I need to put this thread as "solved" in the title right?

Last edited by kaiserkueche (2021-09-14 20:36:55)

Offline

Board footer

Powered by FluxBB