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

Windows flickering since the 465cf66 commit #9172

Closed
4 of 6 tasks
Meowskyy opened this issue Jan 26, 2025 · 28 comments · Fixed by #9217
Closed
4 of 6 tasks

Windows flickering since the 465cf66 commit #9172

Meowskyy opened this issue Jan 26, 2025 · 28 comments · Fixed by #9217
Labels
bug Something isn't working
Milestone

Comments

@Meowskyy
Copy link

Already reported ? *

  • I have searched the existing open and closed issues.

Regression?

Definitely a regression - something broke after update (requires bisect)

System Info and Hyprland Version

System/Version info
Hyprland 0.46.0 built from branch  at commit 1a0a22ad038bbd51c4e1514868d6dcd505af0242 dirty (configmgr: fix crash on very early plugin loads).
Date: Thu Jan 23 23:27:11 2025
Tag: v0.46.0-150-g1a0a22ad, commits: 5705
built against:
 aquamarine 0.7.1
 hyprlang 0.6.0
 hyprutils 0.4.0
 hyprcursor 0.1.11
 hyprgraphics 0.1.1


no flags were set


System Information:
System name: Linux
Node name: cachyos-x8664
Release: 6.13.0-2-cachyos
Version: #1 SMP PREEMPT_DYNAMIC Mon, 20 Jan 2025 17:24:21 +0000


GPU information:
03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX/7900 GRE/7900M] [1002:744c] (rev c8) (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

Description

Artifacts when focus? changes

How to reproduce

  1. Moving the cursor across monitors or across windows

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

https://drive.google.com/file/d/1-xnIEComT1k1uy2vjB9eo7Epjo6aIek8/view?usp=sharing
hyprland_config_dump.txt

@Meowskyy Meowskyy added the bug Something isn't working label Jan 26, 2025
@vaxerski
Copy link
Member

@outfoxxed as regressor

@outfoxxed
Copy link
Member

Have you bisected to that commit specifically or are you just on it currently?

@Meowskyy
Copy link
Author

on it currently

@naowalrahman
Copy link

I'm facing the same issue - mainly happens when switching windows or scrolling with a trackpad.

@PaideiaDilemma
Copy link
Contributor

I think dupe of #9164 ?

Can you guys check if latest git works?

@Meowskyy
Copy link
Author

still happens on latest git, think its a separate issue since I don't have animations enabled

@naowalrahman
Copy link

I don't think it's a dupe of #9164 because it's not the borders glitching, it's entire windows

@vaxerski
Copy link
Member

@Meowskyy have you bisected?

@vaxerski vaxerski added this to the 0.47.0 milestone Jan 26, 2025
@vaxerski
Copy link
Member

patch.txt
try this

@Meowskyy
Copy link
Author

Ill try it after the unlucky ER visit im having, maybe @naowalrahman can try

@lkcv
Copy link

lkcv commented Jan 27, 2025

I tried the patch and I'm still getting flickering windows and layers (waybar).

@UjinT34
Copy link
Contributor

UjinT34 commented Jan 27, 2025

Try force_introspection = 1

@lkcv
Copy link

lkcv commented Jan 27, 2025

That fixed it! Thanks vaxry and UjinT34.

@UjinT34
Copy link
Contributor

UjinT34 commented Jan 27, 2025

Guess it's time to remove this setting or at least treat 2 as true for every gpu.

@ferrreo
Copy link
Contributor

ferrreo commented Jan 27, 2025

Getting this too with the latest release with force_introspection = 2 or 0, also on a 7900XTX like OP.

@lkcv
Copy link

lkcv commented Jan 27, 2025

I forgot to mention I have an nvidia gpu, but I had force_introspection set to 0 when I was troubleshooting something and forgot to set it back to 2 or remove it.

@ferrreo, have you applied the patch by vaxry?

@ferrreo
Copy link
Contributor

ferrreo commented Jan 27, 2025

I forgot to mention I have an nvidia gpu, but I had force_introspection set to 0 when I was troubleshooting something and forgot to set it back to 2 or remove it.

@ferrreo, have you applied the patch by vaxry?

Had to stop the seizures first before I can apply anything. Will try the patch now.

@ferrreo
Copy link
Contributor

ferrreo commented Jan 27, 2025

Patch does not help

@lkcv
Copy link

lkcv commented Jan 27, 2025

Does forcing on introspection for the patched build help?

@ferrreo
Copy link
Contributor

ferrreo commented Jan 27, 2025

force_introspection = 1 works both with and without the patch

@lkcv
Copy link

lkcv commented Jan 27, 2025

I'll test again without the patch

Edit: no flickering with or without the patch, as long as force_introspection is enabled.

@andradei
Copy link

andradei commented Jan 27, 2025

Example of flickering. No gradients or no animation on the border removes the issue, so the issue is in the animation + border gradient.

recording_2025-01-23_14-19-18.mp4

@vaxerski
Copy link
Member

isn't introspection on by default now

@UjinT34
Copy link
Contributor

UjinT34 commented Jan 27, 2025

isn't introspection on by default now

It's not on non-nvidia gpus with force_introspection = 2.

@vaxerski
Copy link
Member

Image

@UjinT34
Copy link
Contributor

UjinT34 commented Jan 27, 2025

const bool USERFORCEDINTROSPECTION = *PFORCEINTROSPECTION == 1 ? true : (*PFORCEINTROSPECTION == 2 ? g_pHyprRenderer->isNvidia() : false); // 0 - no, 1 - yes, 2 - nvidia only

This one causes issues for non-nvidia users who for whatever reason have force_introspection = 2 in their configs. Looks like other conditions miss some cases that require introspection. Probably caused by the render rewrite. If the else branch isn't supported anymore than a lot of other flags and code can be removed.

@ferrreo
Copy link
Contributor

ferrreo commented Jan 28, 2025

Hyprland/src/render/OpenGL.cpp

Line 878 in d2773d7

const bool USERFORCEDINTROSPECTION = *PFORCEINTROSPECTION == 1 ? true : (*PFORCEINTROSPECTION == 2 ? g_pHyprRenderer->isNvidia() : false); // 0 - no, 1 - yes, 2 - nvidia only
This one causes issues for non-nvidia users who for whatever reason have force_introspection = 2 in their configs. Looks like other conditions miss some cases that require introspection. Probably caused by the render rewrite. If the else branch isn't supported anymore than a lot of other flags and code can be removed.

Thanks for this explanation. I've patched this in my distro so that 2 and 1 are the same as a lot of configs/users had this set to 2 previously.

Prob worth flagging this kind of thing in the release notes when something that was optional previously is no longer optional. I also don't think it was the render rewrite itself that introduced this, I was running a version of git from a couple of weeks back including that and it was fine so it is something a bit more recent.

@vaxerski
Copy link
Member

Yes I would get rid of the "no-introspection" mode altogether tbh. @UjinT34 feel free to MR

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

Successfully merging a pull request may close this issue.

9 participants