NVIDIA screen tearing fixed by logging out

Hello,
I have an Optimus Laptop with a UHD 630 and a NVIDIA 1050 TI. I recently installed optimus-manager, which works great. However if I set the boot process to go right into NVIDIA card, the screen tears at the pointer until I log out and in. I am using Cinnamon. I am guessing something is done by logging in that is skipped by just booting up. Here are outputs (in nvidia mode) one could need, If I miss any I will add as soon as I can.

Kernel: 5.12.9-1-MANJARO

Output of lspci -nnk | grep -iA2 vga

00:02.0 VGA compatible controller [0300]: Intel Corporation UHD Graphics 630 (Mobile) [8086:3e9b]
	DeviceName:  Onboard IGD
	Subsystem: Dell Device [1028:087c]

Output of mhwd -li

> Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
video-hybrid-intel-nvidia-prime            2020.11.30               false            PCI
     video-modesetting            2020.01.13                true            PCI


Warning: No installed USB configs!

Output of inxi -Fxza

System:
  Kernel: 5.12.9-1-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0 
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.12-x86_64 
  root=UUID=090b69ed-1a46-4c9b-9314-4f4483d3df77 rw apparmor=1 
  security=apparmor udev.log_priority=3 intel_iommu=on iommu=pt 
  Desktop: Cinnamon 4.8.6 tk: GTK 3.24.29 vt: 7 dm: LightDM 1.30.0 
  Distro: Manjaro Linux base: Arch Linux 
Machine:
  Type: Laptop System: Dell product: XPS 15 9570 v: N/A serial: <filter> 
  Chassis: type: 10 serial: <filter> 
  Mobo: Dell model: 02MJVY v: A00 serial: <filter> UEFI: Dell v: 1.19.0 
  date: 03/16/2021 
Battery:
  ID-1: BAT0 charge: 42.1 Wh (56.4%) condition: 74.6/97.0 Wh (76.9%) 
  volts: 12.4 min: 11.4 model: SMP DELL GPM0365 type: Li-ion 
  serial: <filter> status: Charging 
CPU:
  Info: 6-Core model: Intel Core i7-8750H bits: 64 type: MT MCP 
  arch: Kaby Lake note: check family: 6 model-id: 9E (158) stepping: A (10) 
  microcode: DE cache: L2: 9 MiB 
  flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx 
  bogomips: 52815 
  Speed: 1648 MHz min/max: 800/3300 MHz Core speeds (MHz): 1: 1648 2: 3300 
  3: 3300 4: 3300 5: 3299 6: 3300 7: 3300 8: 3296 9: 3301 10: 3300 11: 3300 
  12: 3298 
  Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled 
  Type: l1tf 
  mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable 
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable 
  Type: meltdown mitigation: PTI 
  Type: spec_store_bypass 
  mitigation: Speculative Store Bypass disabled via prctl and seccomp 
  Type: spectre_v1 
  mitigation: usercopy/swapgs barriers and __user pointer sanitization 
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, 
  IBRS_FW, STIBP: conditional, RSB filling 
  Type: srbds mitigation: Microcode 
  Type: tsx_async_abort status: Not affected 
Graphics:
  Device-1: Intel UHD Graphics 630 vendor: Dell driver: i915 v: kernel 
  bus-ID: 00:02.0 chip-ID: 8086:3e9b class-ID: 0300 
  Device-2: NVIDIA GP107M [GeForce GTX 1050 Ti Mobile] driver: nvidia 
  v: 465.31 alternate: nouveau,nvidia_drm bus-ID: 01:00.0 chip-ID: 10de:1c8c 
  class-ID: 0302 
  Device-3: Microdia Integrated_Webcam_HD type: USB driver: uvcvideo 
  bus-ID: 1-12:4 chip-ID: 0c45:671d class-ID: 0e02 
  Display: x11 server: X.Org 1.20.11 driver: loaded: modesetting,nvidia 
  display-ID: :0 screens: 1 
  Screen-1: 0 s-res: 3840x2160 s-dpi: 48 s-size: 2032x1143mm (80.0x45.0") 
  s-diag: 2331mm (91.8") 
  Monitor-1: eDP-1-1 res: 3840x2160 hz: 60 dpi: 284 
  size: 344x194mm (13.5x7.6") diag: 395mm (15.5") 
  OpenGL: renderer: NVIDIA GeForce GTX 1050 Ti/PCIe/SSE2 
  v: 4.6.0 NVIDIA 465.31 direct render: Yes 
Audio:
  Device-1: Intel Cannon Lake PCH cAVS vendor: Dell driver: snd_hda_intel 
  v: kernel alternate: snd_soc_skl,snd_sof_pci_intel_cnl bus-ID: 00:1f.3 
  chip-ID: 8086:a348 class-ID: 0403 
  Sound Server-1: ALSA v: k5.12.9-1-MANJARO running: yes 
  Sound Server-2: JACK v: 0.125.0 running: no 
  Sound Server-3: PulseAudio v: 14.2 running: yes 
  Sound Server-4: PipeWire v: 0.3.30 running: no 
Network:
  Device-1: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter 
  vendor: Rivet Networks driver: ath10k_pci v: kernel port: 3000 
  bus-ID: 3b:00.0 chip-ID: 168c:003e class-ID: 0280 
  IF: wlp59s0 state: up mac: <filter> 
  IF-ID-1: virbr0 state: down mac: <filter> 
Bluetooth:
  Device-1: Qualcomm Atheros type: USB driver: btusb v: 0.8 bus-ID: 1-4:2 
  chip-ID: 0cf3:e301 class-ID: e001 
  Report: rfkill ID: hci0 rfk-id: 0 state: down bt-service: enabled,running 
  rfk-block: hardware: no software: yes address: see --recommends 
Drives:
  Local Storage: total: 476.94 GiB used: 158.09 GiB (33.1%) 
  SMART Message: Required tool smartctl not installed. Check --recommends 
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: SK Hynix model: PC401 NVMe 512GB 
  size: 476.94 GiB block-size: physical: 512 B logical: 512 B 
  speed: 31.6 Gb/s lanes: 4 rotation: SSD serial: <filter> rev: 80003E00 
  scheme: GPT 
Partition:
  ID-1: / raw-size: 226.28 GiB size: 221.67 GiB (97.96%) 
  used: 153.38 GiB (69.2%) fs: ext4 dev: /dev/nvme0n1p4 maj-min: 259:4 
  ID-2: /boot/efi raw-size: 650 MiB size: 646 MiB (99.38%) 
  used: 88.5 MiB (13.7%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1 
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default) 
  ID-1: swap-1 type: partition size: 4.01 GiB used: 0 KiB (0.0%) 
  priority: -2 dev: /dev/nvme0n1p6 maj-min: 259:6 
Sensors:
  System Temperatures: cpu: 63.0 C mobo: N/A gpu: nvidia temp: 61 C 
  Fan Speeds (RPM): cpu: 3239 fan-2: 3225 
Info:
  Processes: 302 Uptime: 10m wakeups: 2424 Memory: 15.27 GiB 
  used: 2.13 GiB (14.0%) Init: systemd v: 248 tool: systemctl Compilers: 
  gcc: 11.1.0 Packages: pacman: 1260 lib: 310 flatpak: 0 Shell: Bash 
  v: 5.1.8 running-in: gnome-terminal inxi: 3.3.04 

Output of for x in /etc/X11/xorg.conf.d/*.conf; do echo -e "---$x---\n\n $(cat $x)\n\n"; done

---/etc/X11/xorg.conf.d/00-keyboard.conf---

 # Read and parsed by systemd-localed. It's probably wise not to edit this file
# manually too freely.
Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "us"
EndSection


---/etc/X11/xorg.conf.d/10-optimus-manager.conf---

 Section "Files"
	ModulePath "/usr/lib/nvidia"
	ModulePath "/usr/lib32/nvidia"
	ModulePath "/usr/lib32/nvidia/xorg/modules"
	ModulePath "/usr/lib32/xorg/modules"
	ModulePath "/usr/lib64/nvidia/xorg/modules"
	ModulePath "/usr/lib64/nvidia/xorg"
	ModulePath "/usr/lib64/xorg/modules"
EndSection

Section "ServerLayout"
	Identifier "layout"
	Screen 0 "nvidia"
	Inactive "integrated"
EndSection

Section "Device"
	Identifier "nvidia"
	Driver "nvidia"
	BusID "PCI:1:0:0"
	Option "Coolbits" "28"
EndSection

Section "Screen"
	Identifier "nvidia"
	Device "nvidia"
	Option "AllowEmptyInitialConfiguration"
EndSection

Section "Device"
	Identifier "integrated"
	Driver "modesetting"
	BusID "PCI:0:2:0"
EndSection

Section "Screen"
	Identifier "integrated"
	Device "integrated"
EndSection

Thanks.

Hello @Jack1221 :wink:

Could you also post your xorg confs?

for x in /etc/X11/xorg.conf.d/*.conf; do echo -e "---$x---\n\n $(cat $x)\n\n"; done

Possible you need to add something like that:

Option "metamodes" "HDMI-0: nvidia-auto-select +0+0 {ForceCompositionPipeline=On}

(sure you have to replace HDMI-0 with your output)

1 Like

I added that line to /etc/X11/xorg.conf.d/10-optimus-manager.conf, replacing HDMI 0. Is there any way to verify if it is active? I also added my config files (before edit) to the original post.

Edit: It seems to be working, thank you!

At the Xorg log:

grep "Option \"metamodes\"" /var/log/Xorg.0.log 

Nice :+1:

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.