Bug 1249280 - qt5-qtbase-gui: missing Requires: mesa-dri-drivers
Summary: qt5-qtbase-gui: missing Requires: mesa-dri-drivers
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: qt5-qtbase
Version: 22
Hardware: i686
OS: Unspecified
unspecified
high
Target Milestone: ---
Assignee: Than Ngo
QA Contact: Fedora Extras Quality Assurance
URL: https://bugs.kde.org/show_bug.cgi?id=...
Whiteboard:
Depends On: qt-5.5
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-08-01 09:10 UTC by Felix Miata
Modified: 2015-08-13 11:53 UTC (History)
8 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2015-08-13 11:52:48 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
lspci, dmesg, Xorg.0.log (90.85 KB, text/plain)
2015-08-01 09:10 UTC, Felix Miata
no flags Details


Links
System ID Private Priority Status Summary Last Updated
KDE Software Compilation 350853 0 NOR RESOLVED multiple successive plasmashell and krunner crashes even though OpenGL drivers are installed on rv200 if "Enable composi... 2020-09-14 22:03:25 UTC

Description Felix Miata 2015-08-01 09:10:45 UTC
Created attachment 1058243 [details]
lspci, dmesg, Xorg.0.log

upstream bug from DrKonqi https://bugs.kde.org/show_bug.cgi?id=350853

(P4 host gx27b; IceWM session works, and runs Konsole5, KSnapshot, systemsettings5, KCalc, etc.)

To reproduce:
1-try to start KDE session from greeter

Actual behavior:
1-repeated plasmashell and krunner crashes

Expected behavior:
1-working K* session

Comment 1 Kevin Kofler 2015-08-01 11:35:43 UTC
So, the problem (as also pointed out by upstream) is that you have hardware that only supports OpenGL 1 (1.3, to be precise – I have the same hardware, but I'm still running Fedora 21).

Our Qt packaging includes this script:
http://pkgs.fedoraproject.org/cgit/qt5-qtbase.git/tree/10-qt5-check-opengl2.sh
which installs to /etc/X11/xinit/xinitrc.d/10-qt5-check-opengl2.sh . This should result in QT_XCB_FORCE_SOFTWARE_OPENGL getting set and, as a result, llvmpipe being used in all Qt 5 applications using QtGui OpenGL classes instead of the OpenGL-1-only hardware driver. (What Qt does if QT_XCB_FORCE_SOFTWARE_OPENGL is set is that it sets LIBGL_ALWAYS_SOFTWARE, the difference is that QT_XCB_FORCE_SOFTWARE_OPENGL does not affect non-Qt applications, so you should still be able to use OpenGL games that work with OpenGL 1.)

Can you verify that QT_XCB_FORCE_SOFTWARE_OPENGL is getting set correctly? Can you also test whether using LIBGL_ALWAYS_SOFTWARE instead makes any difference? (It shouldn't.)

Comment 2 Kevin Kofler 2015-08-01 11:59:34 UTC
Another important question: How (from what display manager) are you starting your session? That may make a difference for the /etc/X11/xinit/xinitrc.d scripts.

Comment 3 Kevin Kofler 2015-08-01 12:04:26 UTC
As I wrote, I have an rv200 myself, so I'm very interested in getting this fixed before the F21 EOL.

I'm currently running F21, with KDM as the display manager, and with Qt 5 packages installed. I get QT_XCB_FORCE_SOFTWARE_OPENGL=1 correctly set in the environment, and at least the Qt Quick demos (e.g. /usr/lib/qt5/examples/quick/particles/emitters/emitters from qt5-qtdeclarative-examples) work for me. (Of course the particle demos are slow and jumpy, that's sadly to be expected from llvmpipe on a P4. But they don't crash!)

Comment 4 Felix Miata 2015-08-01 17:42:23 UTC
# set | grep OPENGL
QT_XCB_FORCE_SOFTWARE_OPENGL=1

LIBGL_ALWAYS_SOFTWARE: howto?

sddm and lightdm lack important kdm features, so I use either kdm-4.11.20-2.fc22.i686 or startx, more often the latter.

I have multiple rv200s in use, though only this machine attempts to run plasma5. Its F23 exhibited this same bug until I manually selected installation of mesa-dri-drivers and copied ~/.config/kwinrc from the F22 installation.

Comment 5 Kevin Kofler 2015-08-03 01:58:00 UTC
> LIBGL_ALWAYS_SOFTWARE: howto?

The easiest way is to just search&replace it in the script (/etc/X11/xinit/xinitrc.d/10-qt5-check-opengl2.sh) and see what happens. (Note that this is only for testing. QT_XCB_FORCE_SOFTWARE_OPENGL should work.)

But I'm still waiting for answers to:
https://bugs.kde.org/show_bug.cgi?id=350853#c16

Comment 6 Felix Miata 2015-08-03 04:22:25 UTC
I'm unable to relate what you want WRT LIBGL_ALWAYS_SOFTWARE to the actual content of 10-qt5-check-opengl2.sh:

#!/bin/sh
OPENGL_VERSION=`LANG=C glxinfo | grep '^OpenGL version string: ' | sed -e 's/^OpenGL version string: \([0-9]\).*$/\1/g'`
if [ "$OPENGL_VERSION" -lt 2 ]; then
  QT_XCB_FORCE_SOFTWARE_OPENGL=1
  export QT_XCB_FORCE_SOFTWARE_OPENGL
fi

Comment 7 Rex Dieter 2015-08-03 10:24:26 UTC
Replace the piece that says:

  QT_XCB_FORCE_SOFTWARE_OPENGL=1
  export QT_XCB_FORCE_SOFTWARE_OPENGL

with

  LIBGL_ALWAYS_SOFTWARE=1
  export LIBGL_ALWAYS_SOFTWARE

Comment 8 Kevin Kofler 2015-08-03 10:37:04 UTC
And this is obsolete anyway, if installing mesa-dri-drivers made this crash go away. (It's not a problem of QT_XCB_FORCE_SOFTWARE_OPENGL not working, but of you not having had OpenGL support installed. Even the llvmpipe (%{_libdir}/gallium-pipe/pipe_swrast.so) is in mesa-dri-drivers.)

I guess qt5-qtbase-gui should have a Requires: mesa-dri-drivers?

Comment 9 Rex Dieter 2015-08-03 12:58:22 UTC
fyi, base-x comps group includes mesa-dri-drivers (among other low-level drivers)... if you don't have that group installed, you're in for fair amounts of problems anyway.  Just sayin.

Comment 10 Felix Miata 2015-08-03 17:39:37 UTC
(In reply to Rex Dieter from comment #7)
> Replace the piece that says:

>   QT_XCB_FORCE_SOFTWARE_OPENGL=1
>   export QT_XCB_FORCE_SOFTWARE_OPENGL
 
> with
 
>   LIBGL_ALWAYS_SOFTWARE=1
>   export LIBGL_ALWAYS_SOFTWARE

Having done that, Plasma seems to start normally, and possibly faster.

(In reply to Rex Dieter from comment #9)
> fyi, base-x comps group includes mesa-dri-drivers (among other low-level
> drivers)... if you don't have that group installed, you're in for fair
> amounts of problems anyway.  Just sayin.

If that group is required, why doesn't whatever requires it require it?

Comment 11 Rex Dieter 2015-08-03 17:41:54 UTC
individual packagers cannot depend on groups, but installations (like spins) can and do use these package groups.

In short, how did you install fedora 22 and end up with a system without all of the @base-x group?  (the kde spin should definitely include all those at least)

Comment 12 Felix Miata 2015-08-03 18:41:53 UTC
(In reply to Rex Dieter from comment #11)
> In short, how did you install fedora 22 and end up with a system without all
> of the @base-x group?  (the kde spin should definitely include all those at
> least)

This particular installation is the result of yum and dnf upgrades dating back 38 months. I don't remember specifics, but my usual installation procedure is minimal X via HTTP, then using yum/dnf to add various necessaries that will pull in sufficient deps to make Xorg and KDE do what I need to do with them. One of the occasional results of what I do is discover broken or missing dependencies that neither automated nor spin testing discover.

Comment 13 Rex Dieter 2015-08-03 18:59:31 UTC
ok, interesting, mesa-dri-drivers has been in the base-x group going back at leaste as far as fedora 18.  no idea how it ended up missing for you.

Regardless, wouldn't be a bad idea to do:

dnf install @base-x

to (re)install any other possible missing pieces.

Comment 14 Felix Miata 2015-08-03 20:03:41 UTC
(In reply to Rex Dieter from comment #13)

> Regardless, wouldn't be a bad idea to do:
 
> dnf install @base-x
 
> to (re)install any other possible missing pieces.

I tried this on a different F22 host, kt400 with rv250 - not a good idea. Most of my test installations are on 4.8G real partitions, making space somewhat precious. Thus I try to keep them svelte as possible, minimizing both space consumption and bandwidth at updates time. @base-x wants to install several drivers that would unlikely ever be used here: xorg-x11-drv-geode, xorg-x11-drv-openchrome, xorg-x11-drv-qxl, xorg-x11-drv-synaptics, xorg-x11-drv-wacom, xorg-x11-drv-freedreno, xorg-x11-drv-armsoc and xorg-x11-drv-omap, plus more plymouth-*.

Comment 15 Rex Dieter 2015-08-13 11:52:48 UTC
* Mon Aug 03 2015 Helio Chissini de Castro <helio> - 5.5.0-11
- Add mesa-dri-drivers as recommends on gui package as reported by Kevin Kofler
- Reference https://bugzilla.redhat.com/1249280

Will come to f21/f22 when qt-5.5 does (soonish)

Comment 16 Rex Dieter 2015-08-13 11:53:29 UTC
sorry, meant currentrelease (not notabug resolution)


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