You are not logged in.
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
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
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
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
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
"As Far As I Know" - welcome to the internet
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
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
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
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