Hello,
I recently (about 2 weeks ago) finally made the switch to linux! (with the help of my friend)
Everything works perfectly fine, except that the top half of my screen flickers randomly, but I mostly see it happen in FireFox when a video is playing or something is in motion. It gets pretty bad and sometimes flickers every second or two, but then it seems to calm down randomly.
I’m on the newest version (just updated and restarted) of KDE. My pc has a Ryzen 5 3600x, an ASUS RTX 2080 Super, and 16gb of 3200mhz corsair dominator ram.
Any help would be much appreciated, I really want to continue using Linux, but this is so annoying and been kind of a turn off.
are you using the NVIDIA proprietary drivers of Noveau driver? Do you have hardware acceleration turned on in Firefox? Does it flicker with any other apps that you have installed? are you using X11 or Wayland?
I have firefox set on use recommended. it only really flickers with firefox, but i sometimes notice it with discord? but i did have a video playing in picture in picture so that mightve been the reason. i dont know about the noveau driver, i installed nvidia-dkms. and i dont know what you mean by X11 or wayland, im still new to linux.
Nvidia on Linux has been pretty horrible in my experience. I recently ran into this exact problem with my 2060 SUPER and had to use a nuclear solution. But first - welcome to EOS and Linux!
The first possible solution is to add a kernel parameter.
If you chose systemd-boot (default):
Go to /efi/loader/entries and open the .conf file that doesn’t have “fallback” in its name.
Find the line that starts with options and paste this to the end (if it doesn’t already exist): nvidia-drm.modeset=1
If you chose GRUB:
Open /etc/default/grub, find the line that starts with GRUB_CMDLINE_LINUX_DEFAULT, and paste nvidia-drm.modeset=1 to the end.
Run sudo grub-mkconfig -o /boot/grub/grub.cfg
Restart your computer and hope that it works.
If it doesn’t, this is the nuclear solution I had to use. This will greatly increase the power draw of your graphics card! Mine went from 24W to 38W at rest. Make sure you only use it as a final solution.
Make a new .conf file in /etc/modprobe.d/ and copy this in it:
This essentially forces the driver to keep the card on a higher power level, and thus preventing the power level switch that (likely) causes the flickers.
Some explanations:
X11 or wayland
Linux has two major solutions to draw graphics on the screen, called display servers.
X11 (or X) is a decades-old, mature solution. Strictly speaking, X11 is a network protocol, and Xorg is the server software that implements it.
Wayland is the next-gen solution. Usable, but still very much in development.
KDE Plasma can run on both X and Wayland, and offers you a choice on the login screen.
Nouveau/nvidia-dkms
Nvidia cards can use one of two drivers. Nouveau is open-source, but not really useful for daily driving Linux. The other is Nvidia’s proprietary driver (the nvidia or nvidia-dkms packages). It’s… less awful. I recommend using the proprietary driver.
Sorry I didn’t get back to you sooner, I only just saw this!
I tried the first solution and am waiting for it to start flickering again.
If it does, I might have to try the second thing, but if it doesn’t, thank you so much!
it still flickers
time for the other solution
it won’t let me create a conf file in there? also if i can figure out that what should I name the file?
/etc/... is where the systemwide configuration files are located, you need root privileges to write there. Open a terminal and run sudo nano /etc/modprobe.d/90-nvidia-fix.conf, type or copy-paste the line; Ctrl+O to write the file and Ctrl+X to exit.
The file name doesn’t matter here. Directories that end with .d are called drop-in directories, all files inside are loaded in alphabetical order.
okay this will probably sound odd to you but…have you tried to better secure both ends of the HDMI cable? one of my PC recently had a similar problem and it was only after trying anything in my arsenal that I thought about the cable. And guess what? yep, it was that…
Thank you for detailed answer @gabor.motko! I have the exact same NVIDIA card as you (2060 super). Unfortunately, both fixes did not work for me (not even the nuclear solution). I have no idea what causes this… I have a few custom Kwin settings to force 144 hz on both monitors, but I already tried reverting them, nothing. Also checked all kind of nvidia settings (Force Full Composition Pipeline On/Off, etc.), nothing. Checked cables, nothing (The issue also happens occasionally on both monitors). Updated the System + Nvidia Drivers, nothing. Tinkered with the Compositor settings, nothing. Tried all kinds of online solutions, still nothing same flickering.
I really don’t know what to do anymore, I could also try reinstalling my nvidia drivers, but I really don’t want to uninstall steam for that… Any other tips? Would really appreciate any help I can get. I could also create a follow-up issue.
Ok, I think I fixed it. No idea why the solution by @gabor.motko didn’t work. Instead setting “Preferred Mode” to “Prefer Maximum Performance” inside nvidia-setting’s “PowerMizer” option fixed it for me.