Certain apps not showing correctly after last update

Hi there, I’m pretty new to Fedora, and like it so far. But after updating my system today, several apps are not showing correctly anymore. Basically all that shows is the background color, all the texts and images and buttons are missing.
I would try to revert the update with dnf history undo or something, but the gnome-terminal is also just a gray window.
Does anyone have an idea what I could do?

In these screenshots you can see how gnome-terminal and Files does look.


2 Likes

You could try to enter the virtual terminal, if GNOME doesn’t let you and try your undo there: ctrl + alt + F3

To get back, press:
ctrl + alt + F2

I suppose you’ve tried to rebooting?

Since your terminal isn’t working in the graphical environment, you’ll need to use a different method to run commands. I don’t use GNOME anymore so take this with a grain of salt.

Since you can’t open a functioning terminal emulator, you’ll need to switch to a TTY, which is a non-graphical command line interface. Press CTRL+ALT+F3 (or F4, F5, F6).
You will see a text-based login prompt. Enter your username and password to log in.
You can now run the rollback commands from here.
To return to your graphical desktop environment later, you can press CTRL+ALT+F2. If that doesn’t work, cycle through the function keys (F1,F3, etc) until you find your GNOME session.

Now that you’re in a TTY, you’ll need to get a list of your dnf transactions. Type ‘dnf history list | less’ and scroll through until you find the transaction number of the problematic update, it will likely be near the top. Press “q” to exit less, which is the command we used to make it easier to navigate the long list in the non-graphical environment.

Now, you have 2 options:

Option A: Undo a specific transaction.
If you can pinpoint the specific transaction that broke your applications, use this. ‘sudo dnf history undo <ID#>’ (replace <ID#> with your specific transaction number)

Option B: Rollback to a previous state.
This one is more comprehensive, it will undo the target transaction and all transactions that were performed after it. This will restore your system to the exact state it was in at that point in time.
For this command, you’ll need the ID number of the last known good state, i.e., the transaction that occurred right before the one that caused the problem.
‘sudo dnf history rollback <ID#_before_the_bad_update>’

After the process is complete, you can try rebooting your system (recommended) by typing ‘sudo reboot now’ or switch back to your GNOME session (CTRL+ALT+F2 or whatever) to see if the issue is resolved.

I sincerely hope my advice doesn’t brick your system, though it very well might. (kidding! kidding! …mostly.) Best of luck to you!

1 Like

aye how did you get those fancy looking ctrl+alt+f3 buttons :face_with_raised_eyebrow:

Haha, some markup is OK, so the < kbd > html tag works. :slight_smile:

1 Like

Alright, getting into the virtual terminal or TTY did work.
Both sudo dnf history undo and sudo dnf history rollback don’t seem to work though, it shows a lot of errors:
A bunch of lines saying

Can’t perform install action, no match for: insert program name

and below that:

Problem: problem with installed package
installed package gnome-shell-40.2-1.fc42.x86_64 requires pipwewire-gstreamer(x86-64), but none of the providers can be installed
package gnome-shell-40.2-1.fc42.x86_64 from update requires pipwewire-gstreamer(x86-64), but none of the providers can be installed
package gnome-shell-40.2-1.fc42.x86_64 from fedora requires pipwewire-gstreamer(x86-64), but none of the providers can be installed
conflicting requests

Did you try installing the missing package?
sudo dnf install pipewire-gstreamer

I don’t know if that’ll be enough. You could try cleaning up a bit too perhaps:

sudo dnf clean all
sudo dnf makecache
sudo dnf distro-sync
1 Like

It says that pipewire-gstreamer is already installed.
I also tried downgrading to an older version of pipewire-gstreamer, but it still didn’t work.

The other commands you suggested sadly didn’t make it work either.

How did you perform the update?
Via Gnome Software or DNF?

This morning I updated through DNF. Yesterday evening there was one of those updates that needs a restart though, I think those are done by gnome-software. Not sure which of the two updates broke the system.

My guess is you cannot use DNF to roll back updates that have been performed by Gnome Software.

I cannot help with the broken applications since I don’t have any idea of what the issue can be but I would suggest two things for the future:

  1. disable Gnome Software so it does not load at boot and does not want to apply updates. You can keep it in the “app grid” in case you need to open it manually.
  2. always use DNF and pay attention to what the proposed update are. In doubt, DO NOT apply the update, wait and make sure it is safe. Always check DNF output before dismissing the terminal window.

P.S. DNF does not update flatpaks. For those you must use the flatpak tool from the terminal.

1 Like

you should be able to see the transaction with dnf4 history list / info

Often the required software to roll back is not available anymore in updates repository. You need to install updates-archive repository
I recommend to disable this repo and enable it only when required.

sudo dnf install fedora-repos-archive.noarch
sudo dnf config-manager setopt updates-archive.enabled=0

sudo dnf history rollback / undo <ID>   --enable-repo=updates-archive 

for dnf4 change ’ --enable-repo’ to ‘enable’

flatpaks: use flatpak history see man flatpak-history for more details.

EDIT:
make sure the version of mutter is 48.3-2

what’s the output for sudo dnf distro-sync --assumeno

Have you restarted the system after the update? :slight_smile:

1 Like

I installed the fedora-repos-archive.noarch, now the undo produces a different error:

The output for sudo dnf distro-sync --assumeno:
Updating and loading repositories:
Repositories loaded.
Nothing to do.

Mutter is 48.3-2

And yeah I tried rebooting as well.

I’m having the same problem and believe that it is caused by the update to mesa 25.0.7-1 in F42 (and possibly mesa-vulkan-drivers specifically).

There are similar issues reported at the mesa GitLab - Making sure you're not a bot! and at the Arch Linux forum - Gnome Wayland stopped rendering window content / Applications & Desktop Environments / Arch Linux Forums

For now, I have downgraded mesa with sudo dnf downgrade 'mesa*' --refresh, which has removed the problem. As discussed above, you need to enter a TTY, run this command, and then sudo reboot.

P.S. Despite the appearance of the first link above, I am not a bot :robot:

11 Likes

what’s the GPU installed? AMD/ Intel NVIDIA?

It’s just a guess, if it’s AMD or Intel then try to downgade mesa to 25.0.6

sudo dnf downgrade mesa\* --enable-repo=updates-archive

3 Likes

Downgrading did the trick. Thank you @burgess-m and @anotheruser!
(Yes it’s an Intel (integrated) GPU)

So now how do I keep mesa from updating again when I want to update my system in the future?

1 Like

sudo dnf versionlock add mesa\*

But gnome-software ignores the versionlock, so disable automatic updates.

could you pls share the output of inxi -CGzxx .

4 Likes

inxi -CGzxx

CPU:
Info: dual core model: Intel Core i5-4300U bits: 64 type: MT MCP
arch: Haswell rev: 1 cache: L1: 128 KiB L2: 512 KiB L3: 3 MiB
Speed (MHz): avg: 2779 min/max: 800/2900 cores: 1: 2779 2: 2779 3: 2779
4: 2779 bogomips: 19953
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics:
Device-1: Intel Haswell-ULT Integrated Graphics vendor: Lenovo ThinkPad X240
driver: i915 v: kernel arch: Gen-7.5 ports: active: eDP-1 empty: DP-1,
DP-2, HDMI-A-1, HDMI-A-2 bus-ID: 00:02.0 chip-ID: 8086:0a16
Device-2: Chicony Integrated Camera driver: uvcvideo type: USB rev: 2.0
speed: 480 Mb/s lanes: 1 bus-ID: 1-8:4 chip-ID: 04f2:b39a
Display: wayland server: Xwayland v: 24.1.6 compositor: gnome-shell
v: 48.2 driver: gpu: i915 display-ID: 0
Monitor-1: eDP-1 model: LG Display 0x03cd res: 1366x768 dpi: 125
diag: 318mm (12.5")
API: OpenGL v: 4.6 vendor: intel mesa v: 25.0.2 glx-v: 1.4 es-v: 3.2
direct-render: yes renderer: Mesa Intel HD Graphics 4400 (HSW GT2)
device-ID: 8086:0a16 display-ID: :0.0
API: EGL Message: EGL data requires eglinfo. Check --recommends.
Info: Tools: api: glxinfo x11: xdriinfo, xdpyinfo, xprop, xrandr

i’m just holding off updating for now, as I’m hoping there will be a fix soon.

CPU:
  Info: quad core model: Intel Core i7-3632QM bits: 64 type: MT MCP
    arch: Ivy Bridge rev: 9 cache: L1: 256 KiB L2: 1024 KiB L3: 6 MiB
  Speed (MHz): avg: 2894 min/max: 1200/3200 cores: 1: 2894 2: 2894 3: 2894
    4: 2894 5: 2894 6: 2894 7: 2894 8: 2894 bogomips: 35123
  Flags: avx ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics:
  Device-1: Intel 3rd Gen Core processor Graphics vendor: CLEVO/KAPOK
    driver: i915 v: kernel arch: Gen-7 ports: active: LVDS-1
    empty: DP-1,HDMI-A-1,VGA-1 bus-ID: 00:02.0 chip-ID: 8086:0166
  Display: wayland server: Xwayland v: 24.1.6 compositor: gnome-shell
    v: 48.2 driver: gpu: i915 display-ID: 0
  Monitor-1: LVDS-1 model: LG Display 0x037e res: 1920x1080 dpi: 141
    diag: 396mm (15.6")
  API: OpenGL v: 4.2 vendor: intel mesa v: 25.0.2 glx-v: 1.4 es-v: 3.0
    direct-render: yes renderer: Mesa Intel HD Graphics 4000 (IVB GT2)
    device-ID: 8086:0166 display-ID: :0.0
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
  Info: Tools: api: glxinfo x11: xdriinfo, xdpyinfo, xprop, xrandr

1 Like

alternative solution was posted here

Alternatively, setting one of these options in /etc/environment forces GTK not to use the Vulkan renderer, so GTK4 apps start working again.

GSK_RENDERER=cairo
GSK_RENDERER=opengl
GSK_RENDERER=ngl
GSK_RENDERER=gl
3 Likes