Bug 1462052 - Enable EGLDevice for Nvidia
Summary: Enable EGLDevice for Nvidia
Alias: None
Product: Fedora
Classification: Fedora
Component: mutter
Version: 29
Hardware: x86_64
OS: Linux
Target Milestone: ---
Assignee: Florian Müllner
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2017-06-16 02:16 UTC by Aditya Shah
Modified: 2018-10-25 07:24 UTC (History)
13 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2018-10-25 07:24:36 UTC
Type: Bug

Attachments (Terms of Use)
patch that enable enable-egl-device (604 bytes, patch)
2018-05-30 05:29 UTC, Knut J BJuland
no flags Details | Diff
patch that enable enable-egl-device, this is made from git master (837 bytes, patch)
2018-09-12 07:47 UTC, Knut J BJuland
no flags Details | Diff

Description Aditya Shah 2017-06-16 02:16:48 UTC
Gnome 3.24 supports Nvidia's eglstreams as backend for Wayland display. I am using an Optimus laptop with config as follows.

lspci | grep 'VGA\|3D'
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 09)
0a:00.0 3D controller: NVIDIA Corporation GK208M [GeForce GT 740M] (rev a1)

When I login through Gnome (Wayland) session with Negativo17 (https://negativo17.org/nvidia-driver/) nvidia driver, it uses Intel graphic card for rendering all applications.

glxinfo | grep renderer
    GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, 
    GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, 
Extended renderer info (GLX_MESA_query_renderer):
OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile 

On the other hand using Gnome Xorg session, session starts using Nvidia card, and all applications are rendered using discrete card.

Also, I made sure to enable nvidia-drm modeset=1 in /etc/modprobe.d/nvidia-drm.conf

I was looking through mutter.spec in http://pkgs.fedoraproject.org/cgit/rpms/mutter.git/log/?h=f26, and I couldn't find any flags saying --enable-egl-device, required for this feature. Though I am not sure if that is where it is supposed to be changed.

Comment 1 Mario Limonciello 2017-11-08 20:19:54 UTC
@Florian Müllner,

What else is missing from your perspective from adding this configuration option?

Comment 2 Knut J BJuland 2017-11-25 17:23:43 UTC
I added this modification to mutter.spec
--- /home/knutjb/sources/fedora/mutter/f27/mutter.spec	2017-11-14 15:03:39.162201339 +0100
+++ mutter.spec	2017-11-19 17:18:49.858082909 +0100
@@ -119,7 +119,7 @@
 autoreconf -f -i
 (if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; fi;
- %configure --disable-static --enable-compile-warnings=maximum --enable-remote-desktop --enable-installed-tests --with-libwacom)
+ %configure --disable-static --enable-compile-warnings=maximum --enable-remote-desktop --enable-egl-device --enable-installed-tests --with-libwacom)

Comment 3 Mateusz Mikuła 2018-01-01 14:19:10 UTC
Looking at number of downloads of my COPR package [0] requested changes are quite popular among other users.
Impact on other drivers(open source) is minimal.

Comment 4 Fedora End Of Life 2018-05-03 08:13:52 UTC
This message is a reminder that Fedora 26 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 26. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '26'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 26 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 5 Knut J BJuland 2018-05-03 09:54:04 UTC
This applies to f28 as well

%configure --disable-static --enable-compile-warnings=maximum --enable-remote-desktop --enable-installed-tests --with-libwacom)

Comment 6 Fedora End Of Life 2018-05-29 11:33:46 UTC
Fedora 26 changed to end-of-life (EOL) status on 2018-05-29. Fedora 26
is no longer maintained, which means that it will not receive any
further security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 7 Knut J BJuland 2018-05-30 05:26:56 UTC
This bug also applied to Fedora 28.

Comment 8 Knut J BJuland 2018-05-30 05:29:30 UTC
Created attachment 1445633 [details]
patch that enable enable-egl-device

Comment 9 Jan Kurik 2018-08-14 10:19:11 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 29 development cycle.
Changing version to '29'.

Comment 10 Olivier Fourdan 2018-09-12 07:30:21 UTC
Xwayland 1.20 has EGLstream support as well, but depends on support from the Wayland compositor as well, so to have EGLStream support in Xwayland, it needs to be enabled in mutter first.

Note that the patch in attachment 1445633 [details] seems to be missing the "BuildRequires" to install "egl-wayland-devel" and "eglexternalplatform-devel"

Comment 11 Knut J BJuland 2018-09-12 07:47:32 UTC
Created attachment 1482583 [details]
patch that enable enable-egl-device, this is made from git master

patch that enable enable-egl-device

Comment 12 Mateusz Mikuła 2018-09-12 09:01:30 UTC
In my COPR mutter with EGLDevice enabled works without changing "BuildRequires" so I think it's not necessary: https://copr-dist-git.fedorainfracloud.org/cgit/mati865/mutter-eglstream/mutter.git/tree/mutter.spec?h=f28&id=97fefb7990706b5c4a7892a206fa875cfe756daf#n132

Link to the built package: https://copr.fedorainfracloud.org/coprs/mati865/mutter-eglstream/package/mutter/

Comment 13 Knut J BJuland 2018-10-25 05:28:51 UTC
Please close if it is enabled by default in mutter in F29

Comment 14 Kalev Lember 2018-10-25 07:24:36 UTC
I believe it's enabled now in F29, so let's close this.

Note You need to log in before you can comment on or make changes to this bug.