How to make GNOME not suck on Fedora 34 ppc64le


Hats off to Daniel Kolesa who noticed this initially. Today Floodgap Orbiting HQ was crashed because of power company shenanigans, so since this T2 was down for the count, I decided to do a little GNOME surgery and see if he was right.

For context, read our less than complimentary review of Fedora 34 (nothing personal, Dan!). Besides the usual wholesale breakage of add-ons with each GNOME update, GNOME 40 also broke colour profiles and most importantly had a dramatic reduction in graphics performance. Mucking with GPU performance settings, which seemed to work for other users on x86_64, didn't appear to make much difference in my case. Daniel's discovery, mentioned in the comments, was that one of the major underlying libraries graphene had support for gcc vector intrinsics but it wasn't using them on anything but x86_64.

So, before I brought this Fedora 34 Talos II back to the desktop (remember that I boot to a text login), I downloaded the sources for the version of graphene (1.10) used in Fedora 34 release and applied his patch. You'll need meson (at least 0.50.1), gobject-introspection-devel, gtk-doc, and gobject-2.0 (at least 2.30.0), and of course gcc, so make a quick dnf trip, unpack the source, apply his very trivial patch and mkdir build; cd build; meson ..;ninja to kick it off. (I also threw a common_cflags += ['-O3', '-mcpu=power9'] in meson.build to juice it a little more.) I backed up the old /lib64/libgraphene-1.0.so.0.1000.6 (it says 1.0, but it's 1.10) and replaced it with the one you'll find in build/src, and then did a startx to bring up GNOME.

The result? Not only didn't it crash, but dang is it buttah. I didn't test Wayland, because Wayland, but I would be very surprised if it didn't improve as much as X11 did — desktop performance is now just about back to Fedora 33 level, with only rare stuttering, even when I turned all GNOME animations back on. This also explains why mucking with the GPU performance settings didn't yield much improvement, because the GPU wasn't (at least primarily) the problem. Nice to have all that VSX and VMX doing something useful!

If you are using F34, you should just go ahead and do this; I've recommended to Dan Horák that this should be adopted for the official package, but the performance regression for me was so bad that I'm delighted I don't have to wait. If you don't want to build it yourself I uploaded a gzipped copy of .so I'm using to the Github pull request, but make sure you back up your old file before you replace it, don't replace it while GNOME is running, and you do so at your own risk (but you kept the old file so you can back it out, right?). The version I built is for POWER9, so don't run it on a POWER8. Naturally if you run Void PPC (because Daniel) you already have this change, but if you're on Fedora as I am, using F34 is suddenly a lot more pleasant.

Comments

  1. Hello, do you have a recommendation on how to make a clone/image backup of your Fedora installation before risking an upgrade? Just to be able to go back if the new version isn't good?

    ReplyDelete

Post a Comment

Comments are subject to moderation. Be nice.