Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1568881 - Missing dependency on mesa-dri-drivers
Summary: Missing dependency on mesa-dri-drivers
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: clutter
Version: 28
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Peter Robinson
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: AcceptedFreezeException
Depends On:
Blocks: F28FinalFreezeException
TreeView+ depends on / blocked
 
Reported: 2018-04-18 11:21 UTC by mvharlan
Modified: 2018-04-24 15:12 UTC (History)
22 users (show)

Fixed In Version: clutter-1.26.2-6.fc28
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-04-19 22:08:20 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 1568627 0 unspecified CLOSED GNOME crashes on boot after install of FAW in Fedora-28-20180417.n.0 : "Missing extension for GBM renderer: EGL_KHR_plat... 2022-05-16 11:32:56 UTC
Red Hat Bugzilla 1569242 0 unspecified ASSIGNED Weak dependencies (Recommends, Supplements) not included in install trees, hence DVD media, ostrees 2022-05-16 11:32:56 UTC

Internal Links: 1568627 1569242

Description mvharlan 2018-04-18 11:21:11 UTC
Description of problem:

totem needs mesa-dri-drivers. It's not in the dependency list

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

totem-3.26.0-7.fc28.x86_64

How reproducible:

After installing mesa-dri-drivers totem works

Steps to Reproduce:
1. Ugraded to F28
2. Started totem, got a seg fault
3. installed mesa-dri-drivers: totem works!

Actual results:

totem
libEGL warning: DRI2: failed to authenticate
libEGL warning: DRI2: failed to open swrast (search paths /usr/lib64/dri)
libEGL warning: DRI2: failed to open swrast (search paths /usr/lib64/dri)
gbm: failed to open any driver (search paths /usr/lib64/dri)
gbm: Last dlopen error: /usr/lib64/dri/i965_dri.so: cannot open shared object file: No such file or directory
failed to load driver: i965
gbm: failed to open any driver (search paths /usr/lib64/dri)
gbm: Last dlopen error: /usr/lib64/dri/kms_swrast_dri.so: cannot open shared object file: No such file or directory
failed to load driver: kms_swrast
gbm: failed to open any driver (search paths /usr/lib64/dri)
gbm: Last dlopen error: /usr/lib64/dri/swrast_dri.so: cannot open shared object file: No such file or directory
failed to load swrast driver
libEGL warning: DRI2: failed to authenticate
libEGL warning: DRI2: failed to open swrast (search paths /usr/lib64/dri)
libEGL warning: DRI2: failed to open swrast (search paths /usr/lib64/dri)
gbm: failed to open any driver (search paths /usr/lib64/dri)
gbm: Last dlopen error: /usr/lib64/dri/i965_dri.so: cannot open shared object file: No such file or directory
failed to load driver: i965
gbm: failed to open any driver (search paths /usr/lib64/dri)
gbm: Last dlopen error: /usr/lib64/dri/kms_swrast_dri.so: cannot open shared object file: No such file or directory
failed to load driver: kms_swrast
gbm: failed to open any driver (search paths /usr/lib64/dri)
gbm: Last dlopen error: /usr/lib64/dri/swrast_dri.so: cannot open shared object file: No such file or directory
failed to load swrast driver

(totem:14354): GLib-CRITICAL **: 12:54:38.803: g_strsplit: assertion 'string != NULL' failed
libEGL warning: DRI2: failed to authenticate
libEGL warning: DRI2: failed to open swrast (search paths /usr/lib64/dri)
libEGL warning: DRI2: failed to open swrast (search paths /usr/lib64/dri)
gbm: failed to open any driver (search paths /usr/lib64/dri)
gbm: Last dlopen error: /usr/lib64/dri/i965_dri.so: cannot open shared object file: No such file or directory
failed to load driver: i965
gbm: failed to open any driver (search paths /usr/lib64/dri)
gbm: Last dlopen error: /usr/lib64/dri/kms_swrast_dri.so: cannot open shared object file: No such file or directory
failed to load driver: kms_swrast
gbm: failed to open any driver (search paths /usr/lib64/dri)
gbm: Last dlopen error: /usr/lib64/dri/swrast_dri.so: cannot open shared object file: No such file or directory
failed to load swrast driver

(totem:14354): GLib-CRITICAL **: 12:54:38.985: g_strsplit: assertion 'string != NULL' failed

(totem:14354): Clutter-CRITICAL **: 12:54:38.985: Unable to initialize Clutter: Unable to initialize the Clutter backend: no available drivers found.

(totem:14354): Totem-WARNING **: 12:54:38.985: gtk-clutter failed to initialise, expect problems from here on.
libEGL warning: DRI2: failed to authenticate
libEGL warning: DRI2: failed to open swrast (search paths /usr/lib64/dri)
libEGL warning: DRI2: failed to open swrast (search paths /usr/lib64/dri)
gbm: failed to open any driver (search paths /usr/lib64/dri)
gbm: Last dlopen error: /usr/lib64/dri/i965_dri.so: cannot open shared object file: No such file or directory
failed to load driver: i965
gbm: failed to open any driver (search paths /usr/lib64/dri)
gbm: Last dlopen error: /usr/lib64/dri/kms_swrast_dri.so: cannot open shared object file: No such file or directory
failed to load driver: kms_swrast
gbm: failed to open any driver (search paths /usr/lib64/dri)
gbm: Last dlopen error: /usr/lib64/dri/swrast_dri.so: cannot open shared object file: No such file or directory
failed to load swrast driver
libEGL warning: DRI2: failed to authenticate
libEGL warning: DRI2: failed to open swrast (search paths /usr/lib64/dri)
libEGL warning: DRI2: failed to open swrast (search paths /usr/lib64/dri)
gbm: failed to open any driver (search paths /usr/lib64/dri)
gbm: Last dlopen error: /usr/lib64/dri/i965_dri.so: cannot open shared object file: No such file or directory
failed to load driver: i965
gbm: failed to open any driver (search paths /usr/lib64/dri)
gbm: Last dlopen error: /usr/lib64/dri/kms_swrast_dri.so: cannot open shared object file: No such file or directory
failed to load driver: kms_swrast
gbm: failed to open any driver (search paths /usr/lib64/dri)
gbm: Last dlopen error: /usr/lib64/dri/swrast_dri.so: cannot open shared object file: No such file or directory
failed to load swrast driver

(totem:14354): GLib-CRITICAL **: 12:54:39.507: g_strsplit: assertion 'string != NULL' failed
libEGL warning: DRI2: failed to authenticate
libEGL warning: DRI2: failed to open swrast (search paths /usr/lib64/dri)
libEGL warning: DRI2: failed to open swrast (search paths /usr/lib64/dri)
gbm: failed to open any driver (search paths /usr/lib64/dri)
gbm: Last dlopen error: /usr/lib64/dri/i965_dri.so: cannot open shared object file: No such file or directory
failed to load driver: i965
gbm: failed to open any driver (search paths /usr/lib64/dri)
gbm: Last dlopen error: /usr/lib64/dri/kms_swrast_dri.so: cannot open shared object file: No such file or directory
failed to load driver: kms_swrast
gbm: failed to open any driver (search paths /usr/lib64/dri)
gbm: Last dlopen error: /usr/lib64/dri/swrast_dri.so: cannot open shared object file: No such file or directory
failed to load swrast driver

(totem:14354): GLib-CRITICAL **: 12:54:39.688: g_strsplit: assertion 'string != NULL' failed

(totem:14354): Clutter-CRITICAL **: 12:54:39.688: Unable to initialize Clutter: Unable to initialize the Clutter backend: no available drivers found.

(totem:14354): Clutter-WARNING **: 12:54:39.690: Missing Cogl context: was Clutter correctly initialized?
Segmentation fault (core dumped)


Expected results:


Additional info:

Comment 1 Kalev Lember 2018-04-18 12:48:42 UTC
IRC discussion:

14:40 < kalev> hadess: ajax: hey, could you help figure out what package should grow a dep on mesa-dri-drivers so that it gets installed together with totem?
14:40 < kalev> hadess: ajax: https://bugzilla.redhat.com/show_bug.cgi?id=1568881 says that totem doesn't work without it
14:40 < hadess> kalev: that's not the only thing that doesn't work without it
14:41 < hadess> kalev: iirc, you end up with an llvm powered session
14:41 < hadess> so anything at that level should do
14:41 < kalev> hadess: clutter?
14:42 < hadess> or mutter
14:42 < hadess> or both
14:43 < kalev> maybe both, if someone wants to use a clutter based app like totem in a non-gnome-shell environment

Comment 2 Fedora Update System 2018-04-18 13:15:53 UTC
clutter-1.26.2-6.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-aac9b63321

Comment 3 Kalev Lember 2018-04-18 13:30:48 UTC
Some more IRC discussion:

15:22 < ajax> for the mesa-dri-drivers thing... that's very weird.
15:23 < ajax> i'd changed libglvnd to merely Recommend mesa etc, but i'd have thought that was strong enough
15:23 < kalev> hm, maybe it's not enough for initial installs
15:23 < ajax> (it kind of sucks having libGL -> mesa-dri-driver -> llvm etc in the buildroot when you just need to link a GL app)
15:23 < kalev> I know that live media installs at least leave Recommends out
15:24 < ajax> uggggggh
15:24 < kalev> or at least that used to be the case a while back
15:24 < ajax> guess that means undo the glvnd change
15:24  * ajax kicks off a build
15:25 < kalev> thanks :)

Comment 4 Fedora Update System 2018-04-18 13:39:04 UTC
libglvnd-1.0.1-0.5.20180327git5baa1e5.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-d48d3c17a2

Comment 5 Kalev Lember 2018-04-18 13:56:58 UTC
OK, we should have two fixes now: libglvnd pulls in libGL again, and clutter pulls in mesa-dri-drivers.

The libglvnd fix is already tracked for FE purposes in https://bugzilla.redhat.com/show_bug.cgi?id=1568627

I'd like to propose this bug here as a FE for the new clutter build to make sure mesa-dri-drivers isn't missing anywhere on an image where it's supposed to be. On Workstation live media, it luckily already happens to get pulled in through anaconda-gui->tigervnc-server-minimal->mesa-dri-drivers dep, but I assume that netinstalls wouldn't get that dep chain and would be missing mesa-dri-drivers. This might be fine for a 0-day fix too, but probably easier to test netinstalls if we pull this in now.

Comment 6 Adam Williamson 2018-04-18 15:18:29 UTC
do network install images need it? they run anaconda on some minimal window manager (I forget which these days) on top of X, they don't run GNOME...

Comment 7 Adam Williamson 2018-04-18 15:19:15 UTC
I'm also not sure "I know that live media installs at least leave Recommends out" is correct, I'd like confirmation on that before voting.

Comment 8 Kalev Lember 2018-04-18 15:32:15 UTC
I just checked a random package that has Recommends to see if it is included in Workstation images.

$ rpm -q --whatrecommends trousers
gnutls-3.6.2-1.fc28.x86_64

And then I looked at https://kojipkgs.fedoraproject.org/compose/branched/Fedora-28-20180417.n.0/compose/Workstation/x86_64/os/Packages/t/ which has no 'trousers', only has 'trousers-libs' -- I think this means that Recommends don't get included on live media.

----

As for the network install question, no, I don't think anaconda needs mesa-dri-drivers, but the final install done through netinstall would need mesa-dri-drivers to be able to run totem. netinstalls (different from live installs) don't install anaconda in the final install, so there would be nothing to pull mesa-dri-drivers in.

This case is easily fixed with 0 day updates though, but I assume that it would be nicer to test netinstalled systems during the freeze if we get the dependency fixes stable, so that installs done through netinstall would get mesa-dri-stable.

Comment 9 Adam Williamson 2018-04-18 18:44:34 UTC
What is installed by traditional installer images (netinst and DVD) has nothing to do with what packages are pulled into their running environments.

The default repo for network install images (all of them) is 'fedora', i.e. the Everything tree, so they always have access to all packages to install.

Comment 10 Adam Williamson 2018-04-18 19:14:04 UTC
"And then I looked at https://kojipkgs.fedoraproject.org/compose/branched/Fedora-28-20180417.n.0/compose/Workstation/x86_64/os/Packages/t/ which has no 'trousers', only has 'trousers-libs' -- I think this means that Recommends don't get included on live media."

Well...that's true so long as the Workstation live is built from the Workstation install tree, I think that's still the case, though not 100% sure. If it's built from the Everything tree, it could still potentially include it. The easiest way to check is just to boot a live image and do 'rpm -q trousers', I guess. I'll do that...

...

Aha:

[liveuser@localhost-live ~]$ rpm -q trousers
trousers-0.3.13-10.fc28.x86_64
[liveuser@localhost-live ~]$ rpm -q --whatrequires trousers
no package requires trousers
[liveuser@localhost-live ~]$ rpm -q --whatrecommends trousers
gnutls-3.6.2-1.fc28.x86_64
[liveuser@localhost-live ~]$ 

so, it *does* show up in the live image. (I tested with Fedora-Workstation-Live-x86_64-28-20180418.n.0.iso ). So it seems the bug, if any, is that Recommends don't get pulled *into install trees* (and thus, Recommends of packages on the Server DVD will not necessarily be present on the Server DVD), and apparently - given this bug's provenance - not into ostrees either...but they *do* apparently get pulled into live images.

BTW, if you look at the kickstart from the live image task in Koji:

https://koji.fedoraproject.org/koji/taskinfo?taskID=26440280
https://kojipkgs.fedoraproject.org//work/tasks/280/26440280/koji-image-f28-build-26440280.ks

you can see that it in fact uses a repo for the Everything tree *and* a repo for the Workstation tree:

repo --name="koji-override-0" --baseurl=http://kojipkgs.fedoraproject.org/compose/branched/Fedora-28-20180418.n.0/compose/Everything/$basearch/os
repo --name="koji-override-1" --baseurl=http://kojipkgs.fedoraproject.org/compose/branched/Fedora-28-20180418.n.0/compose/Workstation/$basearch/os

perhaps ostree composes *only* use the Workstation tree?

Comment 11 Kalev Lember 2018-04-18 19:18:47 UTC
Ahh, I stand corrected then.

Comment 12 Adam Williamson 2018-04-18 19:23:36 UTC
I don't think the libglvnd update should be marked as fixing *both* bugs, btw, if this one is supposed to be for the the clutter change. So I'm editing it to *not* be marked as fixing this bug.

Comment 13 Adam Williamson 2018-04-18 23:17:00 UTC
So I dug into the 'Recommended packages not in install trees' issue a bit more and filed https://bugzilla.redhat.com/show_bug.cgi?id=1569242 against Pungi with full details on the issue and the known consequences.

Comment 14 Fedora Update System 2018-04-19 08:53:33 UTC
clutter-1.26.2-6.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-aac9b63321

Comment 15 mvharlan 2018-04-19 09:29:18 UTC
gnome needs dri drivers as well. gdm fails starting and producing a login
prompt. Here some output from the log:


Apr 16 09:07:31 mbox audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=user@42 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Apr 16 09:07:31 mbox gdm-launch-environment][1663]: pam_unix(gdm-launch-environment:session): session opened for user gdm by (uid=0)
Apr 16 09:07:31 mbox audit[1663]: USER_START pid=1663 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:session_open grantors=pam_keyinit,pam_keyinit,pam_limits,pam_systemd,pam_unix acct="gdm" exe="/usr/libexec/gdm-session-worker" hostname=mbox addr=? terminal=/dev/tty1 res=success'
Apr 16 09:07:31 mbox systemd[1]: Started Virtualization daemon.
Apr 16 09:07:31 mbox audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=libvirtd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Apr 16 09:07:31 mbox systemd[1884]: Started D-Bus User Message Bus.
Apr 16 09:07:31 mbox dbus-daemon[1132]: [system] Activating via systemd: service name='org.freedesktop.UPower' unit='upower.service' requested by ':1.26' (uid=42 pid=1910 comm="/usr/bin/gnome-shell ")
Apr 16 09:07:31 mbox systemd[1]: Starting Daemon for power management...
Apr 16 09:07:32 mbox dbus-daemon[1132]: [system] Successfully activated service 'org.freedesktop.UPower'
Apr 16 09:07:32 mbox systemd[1]: Started Daemon for power management.
Apr 16 09:07:32 mbox audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=upower comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Apr 16 09:07:32 mbox org.gnome.Shell.desktop[1910]: gbm: failed to open any driver (search paths /usr/lib64/dri)
Apr 16 09:07:32 mbox org.gnome.Shell.desktop[1910]: gbm: Last dlopen error: /usr/lib64/dri/i965_dri.so: cannot open shared object file: No such file or directory
Apr 16 09:07:32 mbox org.gnome.Shell.desktop[1910]: failed to load driver: i965
Apr 16 09:07:32 mbox org.gnome.Shell.desktop[1910]: gbm: failed to open any driver (search paths /usr/lib64/dri)
Apr 16 09:07:32 mbox org.gnome.Shell.desktop[1910]: gbm: Last dlopen error: /usr/lib64/dri/kms_swrast_dri.so: cannot open shared object file: No such file or directory
Apr 16 09:07:32 mbox org.gnome.Shell.desktop[1910]: failed to load driver: kms_swrast
Apr 16 09:07:32 mbox org.gnome.Shell.desktop[1910]: gbm: failed to open any driver (search paths /usr/lib64/dri)
Apr 16 09:07:32 mbox org.gnome.Shell.desktop[1910]: gbm: Last dlopen error: /usr/lib64/dri/swrast_dri.so: cannot open shared object file: No such file or directory
Apr 16 09:07:32 mbox org.gnome.Shell.desktop[1910]: failed to load swrast driver
Apr 16 09:07:32 mbox gnome-shell[1910]: Failed to create backend: Failed to initialize renderer: Failed to create gbm device: No such file or directory
Apr 16 09:07:32 mbox gnome-session[1902]: gnome-session-binary[1902]: WARNING: App 'org.gnome.Shell.desktop' exited with code 1
Apr 16 09:07:32 mbox gnome-session-binary[1902]: WARNING: App 'org.gnome.Shell.desktop' exited with code 1
Apr 16 09:07:32 mbox gnome-session-binary[1902]: Unrecoverable failure in required component org.gnome.Shell.desktop
Apr 16 09:07:32 mbox gdm-launch-environment][1663]: pam_unix(gdm-launch-environment:session): session closed for user gdm

Comment 16 Adam Williamson 2018-04-19 19:47:05 UTC
Based on https://bugzilla.redhat.com/show_bug.cgi?id=1568627#c16 , +1 FE.

Comment 17 Dusty Mabe 2018-04-19 19:55:24 UTC
+1 FE

Comment 18 Kevin Fenzi 2018-04-19 19:55:48 UTC
+1 FE

Comment 19 Mohan Boddu 2018-04-19 19:58:08 UTC
+1 FE

Comment 20 Adam Williamson 2018-04-19 19:59:59 UTC
That's +4, setting Accepted.

Comment 21 Jared Smith 2018-04-19 20:01:32 UTC
+1 FE

Comment 22 Fedora Update System 2018-04-19 22:08:20 UTC
clutter-1.26.2-6.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.

Comment 23 Petr Pisar 2018-04-23 11:19:42 UTC
After adding mesa-libGL dependency to libglvnd, gtk clients running against Xvfb crash. Probably because of bug #1568644.

Comment 24 Adam Williamson 2018-04-24 01:55:55 UTC
How big of a problem is this?

Comment 25 Petr Pisar 2018-04-24 09:26:34 UTC
A few packages. Koschei found 4 of them. I had to disable tests in another one.

I also tried Xvnc with the same result. Isn't that bothering? How can we test Gtk applications now? How can we run VNC servers now? Or does everybody use VirtualGL now?

Comment 26 Adam Williamson 2018-04-24 14:52:57 UTC
If it breaks VNC for the installer, at least, that's definitely a problem - that's in the release criteria. We'll have to test at least that much of it.

Comment 27 Adam Williamson 2018-04-24 15:11:26 UTC
https://bugzilla.redhat.com/show_bug.cgi?id=1568627 was actually the bug we considered to be for the libglvnd dep, so let's move this discussion there.


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