Good day and new years everyone.
Lately, I started experiencing screen tearing. It’s workable, but annoying as hell.
At first, it felt like those mostly happened when I used my browser (Firefox), so I turned off Performance Optimizations and tried Chrome, but with no luck. I noticed that tearings happen when I use editor and my console as well.
I downgraded my Kernel, but with no luck either.
Biggest change I had in a system, is that I started using Ghostty and since that’s always running with Quake Terminal, I assumed that this might a cultprit. But switching back to Kitty didn’t help.
Any tips? Maybe something I missed?
inxi:
System:
Host: the-beast Kernel: 6.11.11-1-MANJARO arch: x86_64 bits: 64
Desktop: GNOME v: 47.2 Distro: Manjaro Linux
Machine:
Type: Laptop System: LENOVO product: 83AA v: Yoga Slim 7 14APU8
serial: <superuser required>
Mobo: LENOVO model: LNVNB161216 v: NO DPK serial: <superuser required>
UEFI: LENOVO v: M6CN38WW date: 11/16/2023
Battery:
ID-1: BAT0 charge: 34.1 Wh (50.3%) condition: 67.8/70.0 Wh (96.8%)
volts: 15.3 min: 15.5
CPU:
Info: 8-core model: AMD Ryzen 7 7840S with Radeon 780M Graphics bits: 64
type: MT MCP cache: L2: 8 MiB
Speed (MHz): avg: 1099 min/max: 400/5132 cores: 1: 1099 2: 1099 3: 1099
4: 1099 5: 1099 6: 1099 7: 1099 8: 1099 9: 1099 10: 1099 11: 1099 12: 1099
13: 1099 14: 1099 15: 1099 16: 1099
Graphics:
Device-1: Advanced Micro Devices [AMD/ATI] Phoenix1 driver: amdgpu v: kernel
Device-2: IMC Networks Integrated Camera driver: uvcvideo type: USB
Display: wayland server: X.org v: 1.21.1.14 with: Xwayland v: 24.1.4
compositor: gnome-shell driver: gpu: amdgpu resolution: no compositor data
resolution: 2944x1840
API: EGL v: 1.5 drivers: kms_swrast,radeonsi,swrast
platforms: gbm,wayland,x11,surfaceless,device
API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 24.2.8-arch1.1
renderer: AMD Radeon 780M (radeonsi gfx1103_r1 LLVM 18.1.8 DRM 3.59
6.11.11-1-MANJARO)
API: Vulkan v: 1.4.303 drivers: N/A surfaces: xcb,xlib,wayland
Audio:
Device-1: Advanced Micro Devices [AMD/ATI] Rembrandt Radeon High Definition
Audio driver: snd_hda_intel
Device-2: Advanced Micro Devices [AMD] ACP/ACP3X/ACP6x Audio Coprocessor
driver: snd_pci_ps
Device-3: Advanced Micro Devices [AMD] Family 17h/19h/1ah HD Audio
driver: snd_hda_intel
API: ALSA v: k6.11.11-1-MANJARO status: kernel-api
Server-1: PipeWire v: 1.2.7 status: active
Network:
Device-1: MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter
driver: mt7921e
IF: wlp1s0 state: up mac: 2c:98:11:3a:5d:a5
IF-ID-1: docker0 state: up speed: 10000 Mbps duplex: unknown
mac: 02:42:b0:a8:68:6b
IF-ID-2: vethb3c5a78 state: up speed: 10000 Mbps duplex: full
mac: b6:1f:2b:60:44:a7
Bluetooth:
Device-1: Foxconn / Hon Hai Bluetooth 5.2 Adapter [MediaTek MT7922]
driver: btusb type: USB
Report: btmgmt ID: hci0 rfk-id: 2 state: down bt-service: enabled,running
rfk-block: hardware: no software: yes address: 2C:98:11:3A:5D:A6 bt-v: 5.2
Drives:
Local Storage: total: 953.87 GiB used: 303.5 GiB (31.8%)
ID-1: /dev/nvme0n1 vendor: Samsung model: MZVL21T0HCLR-00BL2
size: 953.87 GiB
Partition:
ID-1: / size: 923.66 GiB used: 303.49 GiB (32.9%) fs: btrfs
dev: /dev/nvme0n1p2
ID-2: /boot/efi size: 299.4 MiB used: 7.6 MiB (2.5%) fs: vfat
dev: /dev/nvme0n1p1
ID-3: /home size: 923.66 GiB used: 303.49 GiB (32.9%) fs: btrfs
dev: /dev/nvme0n1p2
ID-4: /var/log size: 923.66 GiB used: 303.49 GiB (32.9%) fs: btrfs
dev: /dev/nvme0n1p2
Swap:
ID-1: swap-1 type: partition size: 29.91 GiB used: 0 KiB (0.0%)
dev: /dev/nvme0n1p3
Sensors:
System Temperatures: cpu: 39.1 C mobo: N/A gpu: amdgpu temp: 34.0 C
Fan Speeds (rpm): N/A
Info:
Memory: total: 28 GiB available: 27.19 GiB used: 7.94 GiB (29.2%)
Processes: 421 Uptime: 59m Shell: Zsh inxi: 3.3.36
mhwd -li
--------------------------------------------------------------------------------
NAME VERSION FREEDRIVER TYPE
--------------------------------------------------------------------------------
video-linux 2024.05.06 true PCI
video-vesa 2017.03.12 true PCI
Hi @skatkov ,
According to https://www.avaccess.com/blogs/guides/5-tips-to-fix-screen-tearing-for-gamers/:
Screen tearing appears when your graphic card of the host machine falls out of sync with the monitor connected. Simply put, this happens because of the mismatch frame rate.
So I’d say check your frame-/refresh between your laptop and it’s screen. Another quote from the site:
Cap the refresh rate
If your monitor does not support the refresh rate coming out from the game, cap the refresh rate so that the image won’t exceed the limit that your monitor can handle. You may find the settings in your game console, the game app, or your computer settings.
Use third-party software: There are many third-party software applications available that can cap your refresh rate, such as Nvidia Inspector, and AMD Radeon Software. These tools allow you to cap your refresh rate to a specific value.
Use in-game settings: Many modern games have built-in options to cap your refresh rate. Check the video settings of your game to see if this option is available.
Set up V-sync: V-sync (Vertical Synchronization) is a setting that synchronizes your GPU’s frame rate with your monitor’s refresh rate, preventing screen tearing. Enabling V-sync will cap your frame rate to your monitor’s refresh rate.
1 Like
I’m not playing any games and hardly ever use an external monitor with my laptop.
These settings are there since I have this laptop. But will try to switch to 60hz to see if it will help with anything.
1 Like
Welp, that’s the only advice I have for you, so…
Thank you for the help!
I double-checked that my laptop screen supports 90hz refresh rate and gave 60hz a try. I still saw some tearing happening.
But your comment did make me think, that fractional scaling might be the cause of this issue - I have scaled down from 150% to 125% and so far haven’t experienced any tearing.
2 Likes
With the change of scaling factor to 125% i’m seeing way less tearing, but it’s still there. Unfortunately, completely turning this off is unusable for me – 100% and 200% are too small or too big.
But it does feel like fractional scaling is the source of a problem.
1 Like
cscs
2 January 2025 22:13
7
Well thats not good.
Remove video-vesa
… its a generic driver that usually breaks GUI entirely.
sudo mhwd -r pci video-vesa
Maybe reinstall video-linux
for good measure…
sudo mhwd -f -i pci video-linux
1 Like
Thanks for the info! removed it.
But unfortunately, issue didn’t go away.
cscs
4 January 2025 02:43
9
Aw … it was hopeful.
Then again, if your desktop was working one might suspect vesa wasnt getting in the way at all.
skatkov:
inxi:
This is not as complete as the usual inxis.
Maybe some things would be revealed then (like boot options);
inxi -Farz
skatkov:
6.11.11-1-MANJARO
This kernel is EOL and while still in the Stable/Testing Branch, will be dropped soon.
You might try the next LTS kernel 6.12, or the previous one 6.6.
skatkov:
Desktop: GNOME
I dont use it myself so any finer points may not be in my tool set, but it is noticeable that gnome constantly changes quicker than the extensions people almost universally use to beat into into a desirable shape. You might try disabling all extensions to check.
1 Like
cscs:
inxi -Farz
System:
Kernel: 6.11.11-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
clocksource: hpet avail: acpi_pm
parameters: BOOT_IMAGE=/@/boot/vmlinuz-6.11-x86_64
root=UUID=683a8752-1b08-4f6c-9169-2a64c4a6c097 rw rootflags=subvol=@
quiet splash apparmor=1 security=apparmor
resume=UUID=08e1c4f5-be58-4588-96af-118006cdff61 udev.log_priority=3
rtc_cmos.use_acpi_alarm=1 mem_sleep_default=s2idle
Desktop: GNOME v: 47.2 tk: GTK v: 3.24.43 wm: gnome-shell with: albert
tools: gsd-screensaver-proxy dm: GDM v: 47.0 Distro: Manjaro
base: Arch Linux
Machine:
Type: Laptop System: LENOVO product: 83AA v: Yoga Slim 7 14APU8
serial: <superuser required> Chassis: type: 10 v: Yoga Slim 7 14APU8
serial: <superuser required>
Mobo: LENOVO model: LNVNB161216 v: NO DPK serial: <superuser required>
part-nu: LENOVO_MT_83AA_BU_idea_FM_Yoga Slim 7 14APU8
uuid: <superuser required> UEFI: LENOVO v: M6CN38WW date: 11/16/2023
Battery:
ID-1: BAT0 charge: 38.5 Wh (56.8%) condition: 67.8/70.0 Wh (96.8%)
power: 18.9 W volts: 15.5 min: 15.5 model: Celxpert L22C4PF7 type: Li-poly
serial: <filter> status: discharging cycles: 138
CPU:
Info: model: AMD Ryzen 7 7840S with Radeon 780M Graphics bits: 64
type: MT MCP arch: Zen 4 gen: 4 level: v4 note: check built: 2022+
process: TSMC n5 (5nm) family: 0x19 (25) model-id: 0x74 (116) stepping: 1
microcode: 0xA704107
Topology: cpus: 1x dies: 1 clusters: 1 cores: 8 threads: 16 tpc: 2
smt: enabled cache: L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 8 MiB
desc: 8x1024 KiB L3: 16 MiB desc: 1x16 MiB
Speed (MHz): avg: 3395 min/max: 400/5132 boost: enabled scaling:
driver: amd-pstate-epp governor: performance cores: 1: 3395 2: 3395 3: 3395
4: 3395 5: 3395 6: 3395 7: 3395 8: 3395 9: 3395 10: 3395 11: 3395 12: 3395
13: 3395 14: 3395 15: 3395 16: 3395 bogomips: 105435
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Vulnerabilities:
Type: gather_data_sampling status: Not affected
Type: itlb_multihit status: Not affected
Type: l1tf status: Not affected
Type: mds status: Not affected
Type: meltdown status: Not affected
Type: mmio_stale_data status: Not affected
Type: reg_file_data_sampling status: Not affected
Type: retbleed status: Not affected
Type: spec_rstack_overflow mitigation: Safe RET
Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
prctl
Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
sanitization
Type: spectre_v2 mitigation: Enhanced / Automatic IBRS; IBPB:
conditional; STIBP: always-on; RSB filling; PBRSB-eIBRS: Not affected;
BHI: Not affected
Type: srbds status: Not affected
Type: tsx_async_abort status: Not affected
Graphics:
Device-1: Advanced Micro Devices [AMD/ATI] Phoenix1 vendor: Lenovo
driver: amdgpu v: kernel arch: RDNA-3 code: Phoenix process: TSMC n4 (4nm)
built: 2023+ pcie: gen: 4 speed: 16 GT/s lanes: 16 ports: active: eDP-1
empty: DP-1, DP-2, DP-3, DP-4, DP-5, DP-6, DP-7, Writeback-1
bus-ID: c3:00.0 chip-ID: 1002:15bf class-ID: 0300 temp: 38.0 C
Device-2: IMC Networks Integrated Camera driver: uvcvideo type: USB
rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-1:2 chip-ID: 13d3:5293
class-ID: fe01 serial: <filter>
Display: wayland server: X.org v: 1.21.1.14 with: Xwayland v: 24.1.4
compositor: gnome-shell driver: gpu: amdgpu display-ID: 0
Monitor-1: eDP-1 model: Samsung 0x4189 built: 2022 res: 2944x1840 dpi: 240
gamma: 1.2 size: 312x195mm (12.28x7.68") diag: 368mm (14.5") ratio: 16:10
modes: max: 2944x1840 min: 640x480
API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
device: 1 drv: swrast gbm: drv: kms_swrast surfaceless: drv: radeonsi
wayland: drv: radeonsi x11: drv: radeonsi
API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 24.2.8-arch1.1
glx-v: 1.4 direct-render: yes renderer: AMD Radeon 780M (radeonsi
gfx1103_r1 LLVM 18.1.8 DRM 3.59 6.11.11-1-MANJARO) device-ID: 1002:15bf
memory: 3.91 GiB unified: no display-ID: :0.0
API: Vulkan v: 1.4.303 layers: N/A device: 0 type: integrated-gpu name: AMD
Radeon 780M (RADV GFX1103_R1) driver: N/A device-ID: 1002:15bf
surfaces: xcb,xlib,wayland
Audio:
Device-1: Advanced Micro Devices [AMD/ATI] Rembrandt Radeon High Definition
Audio vendor: Lenovo driver: snd_hda_intel v: kernel pcie: gen: 4
speed: 16 GT/s lanes: 16 bus-ID: c3:00.1 chip-ID: 1002:1640 class-ID: 0403
Device-2: Advanced Micro Devices [AMD] ACP/ACP3X/ACP6x Audio Coprocessor
vendor: Lenovo driver: snd_pci_ps v: kernel alternate: snd_pci_acp3x,
snd_rn_pci_acp3x, snd_pci_acp5x, snd_pci_acp6x, snd_acp_pci,
snd_rpl_pci_acp6x, snd_sof_amd_renoir, snd_sof_amd_rembrandt,
snd_sof_amd_vangogh, snd_sof_amd_acp63 pcie: gen: 4 speed: 16 GT/s
lanes: 16 bus-ID: c3:00.5 chip-ID: 1022:15e2 class-ID: 0480
Device-3: Advanced Micro Devices [AMD] Family 17h/19h/1ah HD Audio
vendor: Lenovo driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s
lanes: 16 bus-ID: c3:00.6 chip-ID: 1022:15e3 class-ID: 0403
API: ALSA v: k6.11.11-1-MANJARO status: kernel-api with: aoss
type: oss-emulator tools: alsactl,alsamixer,amixer
Server-1: JACK v: 1.9.22 status: off tools: N/A
Server-2: PipeWire v: 1.2.7 status: active with: 1: pipewire-pulse
status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
tools: pactl,pw-cat,pw-cli,wpctl
Network:
Device-1: MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter
vendor: Lenovo driver: mt7921e v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 1
bus-ID: 01:00.0 chip-ID: 14c3:0616 class-ID: 0280
IF: wlp1s0 state: up mac: <filter>
IF-ID-1: docker0 state: up speed: 10000 Mbps duplex: unknown mac: <filter>
IF-ID-2: vetha7efd87 state: up speed: 10000 Mbps duplex: full
mac: <filter>
Info: services: NetworkManager, systemd-timesyncd, wpa_supplicant
Bluetooth:
Device-1: Foxconn / Hon Hai Bluetooth 5.2 Adapter [MediaTek MT7922]
driver: btusb v: 0.8 type: USB rev: 2.1 speed: 480 Mb/s lanes: 1 mode: 2.0
bus-ID: 1-5:3 chip-ID: 0489:e0d8 class-ID: e001 serial: <filter>
Report: btmgmt ID: hci0 rfk-id: 3 state: down bt-service: enabled,running
rfk-block: hardware: no software: yes address: N/A
Drives:
Local Storage: total: 953.87 GiB used: 279.55 GiB (29.3%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung
model: MZVL21T0HCLR-00BL2 size: 953.87 GiB block-size: physical: 512 B
logical: 512 B speed: 63.2 Gb/s lanes: 4 tech: SSD serial: <filter>
fw-rev: EL1QGXA7 temp: 36.9 C scheme: GPT
Partition:
ID-1: / raw-size: 923.66 GiB size: 923.66 GiB (100.00%)
used: 279.54 GiB (30.3%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
used: 7.6 MiB (2.5%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
ID-3: /home raw-size: 923.66 GiB size: 923.66 GiB (100.00%)
used: 279.54 GiB (30.3%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-4: /var/log raw-size: 923.66 GiB size: 923.66 GiB (100.00%)
used: 279.54 GiB (30.3%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
Kernel: swappiness: 60 (default) cache-pressure: 100 (default) zswap: no
ID-1: swap-1 type: partition size: 29.91 GiB used: 0 KiB (0.0%)
priority: -2 dev: /dev/nvme0n1p3 maj-min: 259:3
Sensors:
System Temperatures: cpu: 47.0 C mobo: 44.0 C gpu: amdgpu temp: 39.0 C
Fan Speeds (rpm): N/A
Repos:
Packages: 1605 pm: pacman pkgs: 1590 libs: 349 tools: gnome-software,pamac
pm: flatpak pkgs: 15
Active pacman repo servers in: /etc/pacman.d/mirrorlist
1: https://manjaro.mirrors.lavatech.top/stable/$repo/$arch
Info:
Memory: total: 28 GiB available: 27.19 GiB used: 11.03 GiB (40.6%)
Processes: 472 Power: uptime: 1d 2h 43m states: freeze,mem,disk
suspend: s2idle wakeups: 5 hibernate: platform avail: shutdown, reboot,
suspend, test_resume image: 10.85 GiB services: gsd-power,
power-profiles-daemon, upowerd Init: systemd v: 256 default: graphical
tool: systemctl
Compilers: clang: 18.1.8 gcc: 14.2.1 Shell: Zsh v: 5.9 running-in: ghostty
inxi: 3.3.36
I can’t go to 6.6, because this kernel doesn’t play well with some of my hardware. But I enabled 6.12, this is the one I downgraded from.
That’s a great tip actually, I assumed that some extensions could be causing this and tried to disable some of them, without much luck. But I haven’t thought about disabling all of them.
There is a nice setting that does that (and remember all extensions that have been enabled)
gsettings set org.gnome.shell disable-user-extensions true
And another nice setting to turn those back on
gsettings set org.gnome.shell disable-user-extensions false
So far, haven’t seen any issues (running for an hour), but lets see if that the case with longer use.