Title: Flickering in Full-Screen Apps (VS Code, Chrome, Cursor) on External Monitor
Description:
When I enable full-screen mode on my external monitor by HDMI 2.0, applications like VS Code, Chrome, and Cursor start flickering. The opacity reduces, revealing the wallpaper underneath, and the issue worsens with mouse interaction. This happens only on the external display (the laptop screen works fine).
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 1910 G /usr/bin/gnome-shell 1MiB |
+-----------------------------------------------------------------------------------------+
Because You use a Nvidia Card, I would recommend to switch to Xorg. That should work better with Nvidia. You could try a different Driver Version. Maybe the 550 or 535 instead of the 570.
What does this mean? Do You have turned off Fractional Scaling? If not, try it with disabled.
Another Thing could be Your built-in AMd Graphics. Maybe the Screen Flickers come from this because it is used. You could try the Command sudo prime-select nvidia to use primary Your Nvidia Card or sudo prime-select on-demand to switch automatically between both depending on the needed Graphics Power.
Please open a new thread for this new issue, making sure to provide as much information in detail as possible: when does it happen, what have you tried, etc.
This sounds to me like an underlying problem. Switching the display manager only switched the symptoms.
Aside from disabling secure boot - have you disabled hardware acceleration in Gnome?
Also: Since it happens on Full Screen, we should check for resolution inconsistencies (Edit: Using xrandr terminal command while you are logged in on Xorg) and upgrade your Mesa:
> Calculating upgrade... Done
The following package was automatically installed and is no longer required:
lp-solve
Use 'sudo apt autoremove' to remove it.
The following packages will be upgraded:
docker-buildx-plugin docker-ce docker-ce-cli docker-ce-rootless-extras
docker-compose-plugin
5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 89,5 MB of archives.
After this operation, 1.446 kB disk space will be freed.
Do you want to continue? [Y/n] y
Critical New Observations
Persistent Freezing Issue:
After forcing Xorg (WaylandEnable=false), both screens freeze intermittently, starting with the primary display. This happens only when I connect headphones via the P3 (3.5mm) jack.
Recent BIOS Update:
Updated BIOS to the latest version, but the issue persists.
Trigger: The freezes only occur when using wired headphones.
Summary
Workaround: Xorg fixed flickering but introduced freezes (audio-related?).
Strange Trigger: Headphone jack connection seems to destabilize the system.
I would consider checking your cables or connections, as well. Strangely, this is often the last thing we think of, assuming those must be perfectly good.
But in reality...
Are you using HDMI? DP?
Are there any splitters? Adapters?
You outlined that flickering only happens when the Audio jack is connected - can you confirm it is only then?
The thing I find interesting, is that the issue happens when plugging wired headphones into the 3.5mm headphone jack. This possibly leads me to believe, that you might have an interference or grounding issue.
Out of curiosity, does this also happen with other headphones as well? I'm still thinking there is a ground loop fault with that 3.5mm jack port.
Yes, that is a strong possibility.
Electron and Chromium-based applications want to make use of hardware acceleration or tax your GPU. Native GTK-based applications often use necessary rendering only.
You can test by launching Chromium based apps with the flag --disable-gpu
For VSCode, I needed to look this up...
VS Code: Add "disable-hardware-acceleration": true in argv.json
Looking that up, you can open argv.json by running Preferences: Configure Runtime Arguments in the VSCode command pallete.