So I have a lenovo legion y740, with an i7-9750h and a 2070 max-q. I am running gnome on X11. My laptop has a MUX switch that lets me switch between:
1)Dedicated GPU mode (laptop runs only on the nvidia card for better performance, Intel igpu is turned off, allows me to use gsync /nvidia optimus off)
- Hybrid mode (igpu + dgpu is turned on, helps in saving battery life/ nvidia optimus on )
Hybrid mode saves battery life as when heavy apps aren't running, it switches over to the igpu. This vs dgpu only mode where avg power draw is higher, performance is much better as nothing is routed through the igpu. Please see: Disabling Optimus = Better Gaming Performance! - YouTube
Now as i dual boot windows with linux and use windows only for gaming, i obviously prefer to use dgpu only mode in windows. But continuously having to go into my bios to switch to hybrid
mode to use linux is an irritation.
Now With proprietary drivers installed. I have no problem running on hybrid mode, everything works fine But when I go to my bios and turn on dgpu mode, arch boots but the screen starts flickering, the second there is any gpu load - more the load, the greater is the flicker.
I had a look at Hybrid graphics - ArchWiki And only the first part of the page offers any info about laptop that HAVE a MUX switch.
Note: there isn't any flickering while using nouveau drivers, but performance is worse and brightness is stuck at 100% (pretty sure there is a hack out there somewhere to fix this, but my main focus has been trying to run the proprietary drivers without flickering)
So far, here are the things that i have tried with both nvidia and nvidia-dkms drivers. I am currently using dkms.
1)Blacklisting nouveau drivers
2)Forcing full composition pipeline in nvidia server settings and running a script that enables it on start. Screen flickering persists.
3)Changing modeset to 1
i followed 2 and 3 from here:
Note: Windows had a similar problem back in Sept. 2020 that started with the release of 456.38 but that was promptly fixed through a driver update.
I apologize for the cross posting, my first post on this forum was closed regarding the same, you guys can delete it if you want, as this one is more upto date. I've posted on 4 forums, 4 subreddits and still haven't gotten a solution that works, so if anybody has even the faintest clue, please do help out!