Fedora 34->35 Upgrade crashing gnome apps

Upgraded yesterday.

○ → lspci |grep -E "VGA|3D"
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07)
01:00.0 3D controller: NVIDIA Corporation GP108M [GeForce MX150] (rev a1)

I have Optimus GPU laptop with drivers from RPM Fusion non-free. Everything worked fine in F34 Wayland. But after upgrading Totem and Cheese now don’t start.

○ → WAYLAND_DEBUG=1 totem
...
...

[545514.699]  -> zwp_linux_buffer_params_v1@57.destroy()
[545514.712]  -> wl_surface@38.attach(wl_buffer@58, 0[545514.712] wl_registry@41.global(29, "wl_eglstream_controller", 1)
, 0)
[545514.750]  -> wl_surface@38.damage(0, 0, 600, 333)
[545514.767]  -> wl_surface@38.commit()
[545514.774]  -> wl_display@1.sync(new id wl_callback@59)
[545514.810] xdg_toplevel@43.configure(0, 0, array)
[545514.831] xdg_surface@42.configure(61)
[545514.850]  -> xdg_surface@42.ack_configure(61)
[545515.421] wl_display@1.error(nil, 7, "failed to import supplied dmabufs: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a ")
Gdk-Message: 03:01:03.398: Error 71 (Protocol error) dispatching to Wayland display.

and Cheese

○ → WAYLAND_DEBUG=1 cheese
....
[644282.210] wl_registry@34.global(29, "wl_eglstream_controller", 1)
[644282.221]  -> wl_registry@34.bind(29, "wl_eglstream_controller", 1, new id [unknown]@37)
[644282.235] wl_callback@35.done(1924)
[644345.683]  -> wl_compositor@4.create_surface(new id wl_surface@35)
[644375.971]  -> wl_compositor@4.create_surface(new id wl_surface@38)
[644376.166]  -> wl_compositor@4.create_surface(new id wl_surface@39)
[644376.295]  -> wl_compositor@4.create_surface(new id wl_surface@40)
[644483.718]  -> xdg_wm_base@27.get_xdg_surface(new id xdg_surface@41, wl_surface@38)
[644483.741]  -> xdg_surface@41.get_toplevel(new id xdg_toplevel@42)
[644483.748]  -> xdg_toplevel@42.set_parent(nil)
[644483.753]  -> xdg_toplevel@42.set_title("Take a Photo")
[644483.758]  -> xdg_toplevel@42.set_app_id("cheese")
[644483.763]  -> gtk_shell1@15.get_gtk_surface(new id gtk_surface1@43, wl_surface@38)
[644483.773]  -> xdg_toplevel@42.set_min_size(548, 195)
[644483.781]  -> xdg_toplevel@42.set_max_size(0, 0)
[644483.790]  -> gtk_surface1@43.set_dbus_properties("org.gnome.Cheese", nil, nil, "/org/gnome/Cheese/window/1", "/org/gnome/Cheese", ":1.223")
[644483.809]  -> gtk_surface1@43.unset_modal()
[644483.813]  -> wl_surface@38.commit()

(cheese:11047): GLib-GObject-CRITICAL **: 03:02:42.470: g_value_dup_string: assertion 'G_VALUE_HOLDS_STRING (value)' failed
[644659.462]  -> wl_display@1.get_registry(new id wl_registry@44)

(cheese:11047): GLib-GObject-CRITICAL **: 03:02:42.556: g_value_dup_string: assertion 'G_VALUE_HOLDS_STRING (value)' failed
...
...
[644715.565] wl_display@1.error(nil, 7, "failed to import supplied dmabufs: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a ")
Gdk-Message: 03:02:42.605: Error flushing display: Protocol error

And Normally settings → About would show Both my GPU but after updating

And in Xorg, It’s fine but Intel/Nvidia is now Nvidia/Intel.

Firefox crashed before but after refreshing, it is doing fine now.

I tried reinstalling drivers, installing old drivers and so on. Nothing fixed it so far. Even though I’ve Nvidia GPU, Normally Intel Graphics with Wayland should work fine but the upgrade seems to have done something wrong here. As of now the akmod-nvidia driver is latest.

Update : Most GTK Apps like gnome-maps is also crashing.

Asked around in Fedora’s Telegram Group. Other users also have this issue after F35 Upgrade and seems it is specific to Nvidia/Intel Hybrid Graphics. Uninstalling Nvidia seems to fix these Wayland problems but isn’t Nvidia only supposed to work when launched using Nvidia? It shouldn’t be affecting the Intel GPU rendered apps. In Xorg session I THINK Nvidia GPU is always ON because Nvidia XServer settings is showing Temperature, Clock speed etc. It’s not utilized but is always ON in the background when I tried Xorg.

gjs/firefox/libreoffice, Application Crash
Video/Extensions/Cheese/Maps cannot be opened.

This version of Fedora is far from mature.

1 Like

Experiencing same issue here. It’s better in Xorg session.
For me it gives the error in terminal

Gdk-Message: 10:48:17.925: Error flushing display: Protocol error

I have been on F35 for a few months on two systems now and not seen these crashes, so they’re not common issues (or they would’ve been found during the release quality assurance (QA) process).

At the moment, we can’t help you—you haven’t provided any information here. So, can you please provide more information? What versions of these tools are you using? What are you doing when they crash? What do the logs say?

https://docs.fedoraproject.org/en-US/quick-docs/viewing-logs/

@akzaisme please open a fresh topic because we don’t currently know if you are experiencing the same issue.

Both, please ensure that you’ve upgraded your system and rebooted after installing Fedora 35. Because the image needs to be tested, it is “frozen” for sometime with all new changes going into updates. So you need to update your system once almost immediately after an install to make sure you have the latest software versions.

1 Like

I’ve already asked it and there are more information.

1 Like

Wayland in f35 is supposed to work better with nvidia. In f34 and earlier nvidia required xorg. I am guessing you are seeing some of the remaining issues with wayland + nvidia.

Maybe you could try using xorg to see if the issues are solved, so that it may be possible to identify exactly where the issue lies. If they disappear when using xorg then it is wayland related. If not then it may be something else.

Yes. Everything works in Xorg. The issue is only in Wayland. And I have Optimus GPU Configuration (MUXless) and by default, it should be running Wayland session under Intel UHD Graphics which i hope it is. The Nvidia issues should only happen if I was running these apps using dGPU which I’m not since Fedora has explicit option to “Launch app with dGPU” in the Right-click menu. So whether Nvidia works better or not shouldn’t cause these applications to crash in a dual GPU laptop like mine.

I don’t remember if I did immediate update after F35 Upgrade. I remember later getting some update for dracut before posting here. But that was not immediately after upgrade.

It’s a total random guess but that screenshot which shows Nvidia/Nvidia instead of Mesa Intel/Nvidia ( Like in my X11 and prior to update ), could it mean the Wayland session is currently running on Nvidia GPU? Installing Nvidia drivers did fix the crashing before. I hope someone is working on a fix for this. I haven’t done any customization or tweaking to F34 or F35 so it’s pretty much stock.

@ankursinha @computersavvy

Well, if it’s an Nvidia driver issue then Nvidia need to fix it. At the moment, I’m not sure what the issue is. I don’t have any Nvidia hardware though, so I’m not the best person to help debug this.

So you have confirmed that everything works properly in xorg and the issues are with wayland.

I would suggest that you check existing bugs and if needed file a new one since Fedora now says F35 is supposed to work with wayland and nvidia now.

Nvidia’s proprietary driver now includes massively enhanced 
support for Wayland thanks to tight collaboration between 
the Fedora, Red Hat, and Nvidia teams.

which comes from

I wouldn’t take “massively enhanced support” to mean “work with wayland”, and certainly not for all hardware.

For example here’s a post from October:

https://www.phoronix.com/scan.php?page=news_item&px=XWayland-21.1.3-RC

Here’s more:

https://wiki.archlinux.org/title/Wayland#Nvidia_driver

I agree, that is why I asked @akzaisme to check if it were wayland or something else. He has confirmed it is wayland not working correctly on his system with nvidia.

1 Like

+1, I’d just always say “Nvidia not supporting Wayland” because in this case, it’s Nvidia that need to do the work. (To most people, “Wayland doesn’t work with Nvidia” means that Wayland has bugs that need to be fixed)

Hm…
I don’t think you guys get it. Even though I have Nvidia GPU, It’s not my primary. By default, After Installing Nvidia Drivers from RPM Fusion ( I believe Now built into Fedora as Third party sources ) Fedora uses the Intel GPU to render everything and Nvidia GPU only comes into action if user explicitly offload it to Dedicated Graphics Card. So whether I have Nvidia or Not, this shouldn’t be breaking apps even under Wayland session unless I open those App using this option.

Screenshot from 2021-11-05 13-36-47

So the fact that me and Others with Hybrid GPU have this issue means it should be a Fedora / Wayland bug. I can run this app if I do

GDK_BACKEND=x11 totem

It crashes only when I run it as a Wayland Application and that is both with and without offloading to Discrete Graphics card. Am I missing something here?

Where do I file a bug report?

Edit : Even if it’s something with new Nvidia Drivers, I should still be doing fine if I downgraded Nvidia drivers. So there must be some wrong configuration that must be breaking things considering Hybrid graphics users are a minority within laptop users.

Without doing a survey to verify my impressions I feel you are wrong in that statement. Many (if not most) newer laptops in the last 5 years or more have the hybrid graphics design, thus this is rapidly becoming common.

The fact that you are having that type error even when not explicitly using the nvidia gpu means there is something about the hardware/drivers that is not compatible with wayland. Having confirmed that it only occurs when using wayland means to me that you should be filing a bug against wayland so the developers have info and a reason to look at what is happening with your specific machine.

While I like the idea of wayland, the fact that all my systems have nvidia, and wayland does not play well in the same sandbox as the nvidia drivers has kept me from using it. I like and need the enhanced graphics available with nvidia drivers so do not rely on the FOSS nouveau drivers.

It is certainly your choice, but if you want/need wayland then you will have to

  1. live with its current state and do nothing
  2. assist in improvement, even if only with bug reports
  3. fall back to the nouveau drivers that AFAIK does work with wayland.

BTW, according to fedora the newly released nvidia drivers (495.44) have enhancement specially for wayland compatibility. Falling back to older drivers may solve some issues but will also go back to the older issues with wayland/nvidia.

1 Like

Older drivers also have same issues. It’s specific to Fedora 35 and Mutter on Wayland. Also I didn’t have any issue in wayland before because Intel GPU is primary GPU.

It’s a known issue at Nvidia’s GitHub. No ETA yet it seems.

Previously the egl-wayland code would only create displays for compositors that supported the EGLStreams wayland protocol extensions. In practice, this would fail for non-NV-driven wayland compositors and GLVND would presumably fall back to creating an EGLDisplay on some Mesa driver on such compositors. Now the code thinks it can render to any dmabuf-capable compositor, but in practice it only supports NV device-local buffers using NV-specific tiling formats, so happily reports support for the compositor but fails to present to it

Thanks for trying to help @ankursinha @computersavvy

There seems to be a workaround there too. Does that work for you?

I’m not familiar with wayland and egl. I rather not experien I’ll just wait or find a way to completely blacklist nouveau and remove non-free driver.