Hi there,
I want to share some notes on how I fixed some graphics glitches with openSUSE Leap 15.0 on my 2010 MacBook Pro. Partly to help others, but also to help myself in the future if I need to redo this fix.
After working through some early issues (1, 2, and 3), my fresh install of openSUSE seemed to have settled down nicely. I noticed however some frequent graphical glitching (mostly when scrolling firefox, but also in other applications).
The system was using the “nouveau” driver at this point, with the Mesa-dri-nouveau package present (I had been prompted about this package during install, and warned about potential instability of it). I first tried removing this package, which was successful at resolving the glitches, but made the desktop perform very poorly (even scrolling was choppy).
I then tried the NVIDIA binary drivers using the wiki instructions. This was awful. After a reboot the screen went blank when attempting to start X. I didn’t try resolving this problem but instead removed the NVIDIA drivers in single user mode, and went back the “nouveau” drivers with the Mesa-dri-nouveau package. The system was usable and performant again but still had the glitches.
I examined the Xorg logs and saw numerous errors of the form: “nouveau_dri2_flip_event_handler: Pageflip has impossible msc”. I looked at the man page for “nouveau” and discovered an option that looked relevant:
Option "PageFlip" "boolean"
Enable DRI2 page flipping. Default: on.
–
I don’t know what this feature is, but disabling has fixed my glitches. I am successfully using Nouveau’s 3D acceleration glitch-free!
Another possibility: instead of nouveau, you could try the upstream default DDX “modesetting”, discussed on the nomodeset SDB page. It’s what I use on my 2007 iMac, and all my PCs with NVidia GPUs.
To be clear, do you mean to try the “nomodeset” kernel parameter and the NVIDIA binary drivers together, as a suggestion that this might fix the blank screen problem?
No! You seem to have been mislead by the page title. Just below the middle of the page is this:
The generic default FOSS DDX driver is named “modesetting” and provided by the xorg-x11-server package…Even though modesetting is the default driver, most installations include all xf86-video-* packages, thus overriding the technical default.
Without having any (video-related) proprietary or optional software installed, you should see something resembling the following:
I read the wiki page you linked to in more detail, and also read up on a bit more context on KMS, modesetting, various xorg drivers.
I now interpret your suggestion as: “try using the modesetting xorg driver (with glamor acceleration), instead of the nouveau one” (both of these use the “nouveau” kernel module).
I guess instead of editing config files, removing the “xf86-video-nouveau” package also works - as that causes xorg to eventually try the modesetting driver automatically.
Hm, actually this solution isn’t quite complete. Running “zypper install-new-recommends” (or zypper inr) as is common after adding new hardware or a software repository results in zypper suggesting to reinstall the “xf86-video-nouveau” package.
Yes, that was my experience with an older nvidia card. But, instead of blacklisting the package, I simply removed the nvidia repo.[/QUOTE]Pauldoo is referring to a new recommends causing xf86-video-nouveau to be installed again, after it had been removed to cause the upstream default modesetting DDX to be used. Neither modesetting DDX nor nouveau DDX come from optional repos. So, either zypper al xf86-video-nouveau or its equivalent tabooing in YaST is required to specifically prevent its reinstallation via recommends, or another method must be employed, e.g. that which I do to minimize installed size and updates resource consumption: in /etc/zypp/zypp.conf uncomment “solver.onlyRequires = true”, which avoids all recommends.