Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow tearing will not enable since the update to 0.47.2 #9429

Open
4 of 6 tasks
ZacharyVarney opened this issue Feb 18, 2025 · 24 comments
Open
4 of 6 tasks

Allow tearing will not enable since the update to 0.47.2 #9429

ZacharyVarney opened this issue Feb 18, 2025 · 24 comments
Labels
bug Something isn't working

Comments

@ZacharyVarney
Copy link

Already reported ? *

  • I have searched the existing open and closed issues.

Regression?

Probably not a regression / I don't remember it happening before

System Info and Hyprland Version

System/Version info

Hyprland 0.47.2 built from branch at commit 882f7ad (version: bump to 0.47.2).
Date: Sun Feb 2 00:47:17 2025
Tag: v0.47.2, commits: 5767
built against:
aquamarine 0.7.2
hyprlang 0.6.0
hyprutils 0.5.0
hyprcursor 0.1.11
hyprgraphics 0.1.2

no flags were set

System Information:
System name: Linux
Node name: zachs-pc
Release: 6.13.2-2-cachyos
Version: #1 SMP PREEMPT_DYNAMIC Sat, 08 Feb 2025 11:26:09 +0000

GPU information:
03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] [1002:73df] (rev c1) (prog-if 00 [VGA controller])

os-release: NAME="CachyOS Linux"
PRETTY_NAME="CachyOS"
ID=cachyos
ID_LIKE=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://cachyos.org/"
DOCUMENTATION_URL="https://wiki.cachyos.org/"
SUPPORT_URL="https://discuss.cachyos.org/"
BUG_REPORT_URL="https://github.com/cachyos"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=cachyos

plugins:

Description

I've tried numerous configurations to no avail allow tearing will not work anymore. I used it just fine on 0.46, but since I moved to 0.47.2 it will no longer enable anymore. Monitoring hyprctl monitors activelyTearing stays false & no tearing is seen on my preferred test game where it would be obvious.

How to reproduce

  1. set allow_tearing to true in general section of config
  2. set immediate windowrulev2 on window class of game
  3. while game is fullscreen go to another monitor to run command 'watch hyprctl monitors' to view activelyTearing
  4. See if you notice any tearing in the game

Attach not paste

  • I understand that all text files must be attached, and not pasted directly. If not respected, this issue will likely get closed as spam

Checklist of files to include below

  • Hyprland config - hyprctl systeminfo -c (always include)
  • Crash report (always include in case of crash)
  • Video (always include in case of a visual bug)
  • Logs (might contain useful info such as errors)

Additional info & File uploads

hyprland_config_dump.txt

@ZacharyVarney ZacharyVarney added the bug Something isn't working label Feb 18, 2025
@Ssdj3nt
Copy link

Ssdj3nt commented Feb 18, 2025

Works just fine for me on fullscreen, tested with vkcube.

general {
allow_tearing = 1
}

windowrulev2 = immediate, focus:1

@ZacharyVarney
Copy link
Author

@Ssdj3nt That's strange, me & a few others on Reddit are all having this issue.

@ferrreo
Copy link
Contributor

ferrreo commented Feb 19, 2025

@Ssdj3nt That's strange, me & a few others on Reddit are all having this issue.

There just be some config you all have in common causing this or something because it works fine generally.

I did notice you have direct_scanout enabled - try disabling that

@PlexILIghT
Copy link

PlexILIghT commented Feb 19, 2025

Same thing, but I don't remember when tearing worked for me.
I have direct_scanout disabled and I tried everything. Can it be some program that doesn't allow for tearing to happen? Both my monitors are not tearing. I am checking it with sleep 3; hyprctl monitors
Tried every rule for some apps, and general ones.

Here's my hypr config
hyprland-config.txt

@ferrreo
Copy link
Contributor

ferrreo commented Feb 19, 2025

Same thing, but I don't remember when tearing worked for me. I have direct_scanout disabled and I tried everything. Can it be some program that doesn't allow for tearing to happen? Both my monitors are not tearing. I am checking it with sleep 3; hyprctl monitors Tried every rule for some apps, and general ones.

Here's my hypr config hyprland-config.txt

Looks like you have direct scanout in one of the confs set to 2 and not totally disabled? The other thing to try is a window rule to force exclusive fullscreen for whatever you want to tear.

@ZacharyVarney
Copy link
Author

Disabling direct_scanout didn't work for me unfortunately, I also tried changing from software cursors to hardware cursors. I also disabled explicit sync which didn't seem to do anything either.

@ferrreo
Copy link
Contributor

ferrreo commented Feb 19, 2025

Is everyone with the issue running arch or an arch based distro (e.g cachy)? As maybe it is a packaging issue. Maybe try Hyprland-git from the aur or compiling the whole hl stack from source from the release tags to rule it out.

@Ssdj3nt
Copy link

Ssdj3nt commented Feb 19, 2025

Is everyone with the issue running arch or an arch based distro (e.g cachy)? As maybe it is a packaging issue. Maybe try Hyprland-git from the aur or compiling the whole hl stack from source from the release tags to rule it out.

I'm on vanilla Arch with CachyOS repo if it can be useful.

@LionHeartP
Copy link

Tearing doesn't work with Gamescope or wine-wayland. Make sure you're not using either.

The wine-wayland thing is reported here: #7052

@LionHeartP
Copy link

Same thing, but I don't remember when tearing worked for me. I have direct_scanout disabled and I tried everything. Can it be some program that doesn't allow for tearing to happen? Both my monitors are not tearing. I am checking it with sleep 3; hyprctl monitors Tried every rule for some apps, and general ones.

Here's my hypr config hyprland-config.txt

The steam_app window rule looks wrong to me
It should be something like

windowrulev2=immediate, class:^(steam_app_.*)$

@ZacharyVarney
Copy link
Author

Same thing, but I don't remember when tearing worked for me. I have direct_scanout disabled and I tried everything. Can it be some program that doesn't allow for tearing to happen? Both my monitors are not tearing. I am checking it with sleep 3; hyprctl monitors Tried every rule for some apps, and general ones.
Here's my hypr config hyprland-config.txt

The steam_app window rule looks wrong to me It should be something like

windowrulev2=immediate, class:^(steam_app_.*)$

Idk about his case, but I can already say the window rule being wrong has nothing to do with my case. I even tried it with the game class grabbed from hyprctl clients.

@fufexan
Copy link
Member

fufexan commented Feb 19, 2025

Just noticed this as well while playing osu!lazer. NixOS, direct_scanout disabled, hardware cursors, proper windowrules.

@fufexan
Copy link
Member

fufexan commented Feb 19, 2025

The regression lies between 0.47.1 and .2. Someone please bisect, I don't have time right now.

@nnyyxxxx
Copy link
Contributor

works fine for me with 0.47.1 and -git

@ZacharyVarney
Copy link
Author

works fine for me with 0.47.1 and -git

Weird I just tried the latest -git & it still doesn't work for me same as 0.47.2

@nnyyxxxx
Copy link
Contributor

weird

@fufexan
Copy link
Member

fufexan commented Feb 20, 2025

works fine for me with 0.47.1 and -git

Can confirm, -git works fine.

@ferrreo
Copy link
Contributor

ferrreo commented Feb 20, 2025

Is there an issue with hyprctl reporting activelyTearing in -git? Because I can see the game I'm testing tearing and the fps is not capped and yet hyprctl insists it is not activelyTearing.

@ZacharyVarney
Copy link
Author

There is definitely something very specific going on then. I just retested it & on cs2 with the windowrule grabbed straight from example on wiki, the game does not tear at all & activelyTearing stays false. The game is running way above refresh rate which is 144 & the game is at like 300 fps.

@fufexan
Copy link
Member

fufexan commented Feb 21, 2025

Does tearing work with other games?

@ZacharyVarney
Copy link
Author

Does tearing work with other games?

Not that I've found I've tried VRRTest, CS2, DOOM Eternal, & Minecraft. Non of them seem tear at all with a frame rate way above refresh rate, but they do on KDE.

@ZacharyVarney
Copy link
Author

Would someone who has allow tearing to be working on latest -git mind sharing there config. The only thing I can think of is a bad combination of config options maybe

@PlexILIghT
Copy link

PlexILIghT commented Feb 23, 2025

Same thing, but I don't remember when tearing worked for me. I have direct_scanout disabled and I tried everything. Can it be some program that doesn't allow for tearing to happen? Both my monitors are not tearing. I am checking it with sleep 3; hyprctl monitors Tried every rule for some apps, and general ones.
Here's my hypr config hyprland-config.txt

The steam_app window rule looks wrong to me It should be something like

windowrulev2=immediate, class:^(steam_app_.*)$

Well, I was testing it on osu!lazer, which is only xwayland, not wine obviously not proton, and I had windowrulev2 = immediate, focus:1
As I said I tried all combinations for the game.
I'm running Arch with bin Hyprland package 0.47.2
direct_scanout was disabled before I tried it last before uploading config
direct_scanout IS disabled. Tried rule to full screen the game, but no changes, I have no other other windows on screen with the game, I have nothing drawing over it. activelyTearing is false and I can see that tearing is not enabled. There's 0 teared frames and small latency.

@fufexan
Copy link
Member

fufexan commented Feb 23, 2025

Well, I was testing it on osu!lazer, which is only xwayland, not wine obviously not proton

osu!lazer can run on wayland just fine. In fact, the last update introduced SDL3 which will run on wayland by default.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

7 participants