You are not logged in.

#1 2022-04-03 03:45:50

askreceive
Member
Registered: 2022-03-01
Posts: 48

Screen Tearing with proprietary drivers

Hello again with another tearing fiasco.

I've made similar thread but that one was specifically gaming. I didn't want to edit the post since this issue seems to occur everywhere and regardless of compositor settings. There is one specific scenario for OBS capture software, however, and I could easily reproduce the steps down below:
To reproduce the steps for OBS:
1. Open a game, which disables the compositor automatically
2. Open OBS
3. Select windows capture (xcomposite)--in this case, a game's window
4. Tearing occurs

The tearing doesn't occur when I re-enable the compositor. I tried using screen capture, and while it did not cause tearing while recording or playing, it did cause horrible flickering for the video/output. The only workaround is force full compositor through nvidia-settings, but I'm not certain if it's a good idea. I experienced with it and my desktop feels jankier at times, and I get horrible input lag, likely because it essentially enables double v-sync.

I searched the internet and there's a recent thread with similar question. One of the answer was:

"You can try this to enable modesetting for the driver. create a /etc/modprobe.d/nvidia.conf file, and add this line: options nvidia-drm modeset=1. Reboot your PC and check if the issue persists."

Can anyone confirm or clarify what this does? I couldn't find a difference--at least when the compositor is off.

(Even) with those in mind, the tearing still occurs when the compositor is on. I rarely, if not occasionally, I notice small screen tearing when scrolling in a web browser or watching a full screen video, such as YouTube through FreeTube (Flatpak version). My suspicion is that Kwin simply doesn't properly re-enable the compositor since I often do those tasks after playing a game. I have compositor settings set to force lower latency and full screen repaints, but I don't notice a difference between those options, and the default options.

It looks like my only solution is to keep using full compositor pipeline, but I'd like to know other suggestions. Thanks.
(Or maybe I should just use XFCE...)

Offline

#2 2022-04-03 04:02:31

loqs
Member
Registered: 2014-03-06
Posts: 18,970

Re: Screen Tearing with proprietary drivers

askreceive wrote:

I searched the internet and there's a recent thread with similar question. One of the answer was:

"You can try this to enable modesetting for the driver. create a /etc/modprobe.d/nvidia.conf file, and add this line: options nvidia-drm modeset=1. Reboot your PC and check if the issue persists."

Can anyone confirm or clarify what this does? I couldn't find a difference--at least when the compositor is off.

See Kernel mode setting.

Offline

#3 2022-04-03 04:13:08

askreceive
Member
Registered: 2022-03-01
Posts: 48

Re: Screen Tearing with proprietary drivers

Allow me to rephrase: I don't seem to see a correlation between the kernel mode setting and screen tearing or if this setting solves the tearing at all. The thread was posted with similar tearing issue and on Reddit.

This is the only "official" tearing solution I've found so far:
https://wiki.archlinux.org/title/NVIDIA … en_tearing

I've kept the modprobe option on because other also suggest trying Wayland, but I can't seem to enable it (yet).

Offline

#4 2022-04-03 04:16:39

askreceive
Member
Registered: 2022-03-01
Posts: 48

Re: Screen Tearing with proprietary drivers

Huh, wait. The user who posted the line seems to have missed . (dot).

Offline

#5 2022-04-03 04:47:31

askreceive
Member
Registered: 2022-03-01
Posts: 48

Re: Screen Tearing with proprietary drivers

I'd like to try this setting, but how can I confirm if it's working?

nvidia-drm.modeset=1

I still see screen tearing, and to test it further, I tried using GDM and try if it runs without root since Arch wiki states that GDM can run without root if the setting is enabled.
https://wiki.archlinux.org/title/Xorg#Rootless_Xorg

Offline

#6 2022-04-03 04:50:30

loqs
Member
Registered: 2014-03-06
Posts: 18,970

Re: Screen Tearing with proprietary drivers

# cat /sys/module/nvidia_drm/parameters/modeset

Will show the value the module is using.

Offline

#7 2022-04-03 04:54:29

askreceive
Member
Registered: 2022-03-01
Posts: 48

Re: Screen Tearing with proprietary drivers

It returns with the letter N.

I've created a file (nvidia.conf) with the drm settings:

options nvidia-drm.modeset=1

Edit:
Removing the dot worked, but I'm getting off topic here.

options nvidia-drm modeset=1

Last edited by askreceive (2022-04-03 05:04:59)

Offline

Board footer

Powered by FluxBB