Bug 2052940

Summary: mutter as a Wayland compositor aborts on hybrid gfx with the NVIDIA proprietary driver
Product: Red Hat Enterprise Linux 9 Reporter: Olivier Fourdan <ofourdan>
Component: mutterAssignee: Jonas Ådahl <jadahl>
Status: CLOSED WONTFIX QA Contact: Peter Kopec <pekopec>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 9.0CC: fmuellner, rstrode, tpelka
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-08-10 07:28:33 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
gdb backtrace of the abort none

Description Olivier Fourdan 2022-02-10 10:09:05 UTC
Created attachment 1860308 [details]
gdb backtrace of the abort

Description of problem:

On a system with hybrid graphics, using the NVIDIA proprietary driver for the discrete GPU, attaching an external display wired to the discrete GPU will cause GNOME Shell as a Wayland compositor to abort.

Version-Release number of selected component (if applicable):

mutter-40.8-2.el9.x86_64

How reproducible:

Always

Steps to Reproduce:
1. Install the NVIDIA proprietary driver on a hybrid graphcs laptop
2. Start a GNOME Shell Wayland session
3. Connect an external display

Actual results:

The user session is terminated as mutter abort.

Expected results:

The session survives.

Additional info:

mutter abort because it fails to allocate the onscreen framebuffer, which in mutter from GNOME 40 is a g_error(), hence the abort.

See attachment for the backtrace.

Also worth noting that mutter from GNOME 41 would not abort in this case, but the external display won't work, but at least the user session is not killed.

Comment 2 Jonas Ådahl 2023-07-11 09:32:16 UTC
> Failed to allocate onscreen framebuffer: Failed to create gbm_surface: Timer expired

So as you say, we can change the abort() to broken behavior. Not sure this should be prioritized since Wayland is disabled for hybrid graphics setups.

Comment 3 RHEL Program Management 2023-08-10 07:28:33 UTC
After evaluating this issue, there are no plans to address it further or fix it in an upcoming release.  Therefore, it is being closed.  If plans change such that this issue will be fixed in an upcoming release, then the bug can be reopened.