[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#884192: libqt5gui5: X startup hang due to glxinfo in Xsession.d/90qt5-opengl



On Tue, 19 Dec 2017 16:42:49 -0300
Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com> wrote:

> On martes, 12 de diciembre de 2017 09:15:55 -03 Karl O. Pinc wrote:
> > Package: libqt5gui5
> > Version: 5.7.1+dfsg-3+b1
> > Severity: normal

> > There is some sort of race condition in glxinfo (package mesa-utils)
> > which sometimes causes it to hang during X startup.  Consequently
> > sometimes /etc/X11/Xsession.d/90qt5-opengl hangs.  And so X
> > sometimes hangs on startup after login.
> > 
> > When X does hang, killing the glxinfo process solves the problem.
> > The X session hang resolves and X starts.
> > 
> > (At bottom is a 90qt5-opengl with some commented out code which
> > disables the glxinfo call and prevents the problem from
> > occurring.)  
> 
> Sorry, but I don't see the differences. Please send a proper unified
> patch:

Attached is a patch which prevents the problem.  Not very useful.
It simply does not run glxinfo.

> > Because the purpose of the problem code is to detect the OpenGL
> > version, and the older versions are no longer used (OpenGL version <
> > 2), an easy fix would be to delete the offending code.  In this case
> > this means removing the entire 90qt5-opengl file since it is no
> > longer necessary.  
> 
> That's wrong. We have users whit this kind of set up, that's why we
> added this file. 

Ok.  If you feel like explaining I'd like to understand this.  I can't
find a opengl/mesa within Debian that's less than an opengl 2.0 API.
But then I'm not clear on what sorts of packages implement opengl
so I don't really know what to look for.

(I'm sure there were such at one point.  Are you doing this to support
old non-debian packages/libraries?)

> So far this is the first time we hear this
> inconvinience.

First time I've seen it also.  Started when I upgraded from Debian
Jessie to Debian Stretch.  For what it's worth, that's the same 
time my video frame rate dropped to about 1 frame every 2 seconds
when playing video files with avplay.  I've not bothered to debug
this.  My desktop works fine as far as I can tell.  Can't say
what happens with video in a browser, I've ads turned off and not
tried to view a video at, say, youtube, since the Debian upgrade.

> What video card do you have?
> 
> > 
> > Note that my configuration is an X terminal; the glxinfo call is on
> > the X client.  This may have somethig to do with why glxinfo
> > hangs.  
> 
> Sorry, I did not understand that. But glxinfo needs an X session to
> work.

This means that I sit in front of a monitor, keyboard, and mouse
attached to a computer (the X server) attached to a network on the 
other end of which is another computer (the X client) which has a
CPU and disk and, this is the important part, on which all programs 
are executed.  Local CPU for video, running X.  Remote CPU, running
desktop and xterm windows for shell.

So, the 90qt5-opengl file is executed on the box with the CPU.

The X client, the remote box, says this for the "lspci -nn"
output related to video:

  01:00.0 VGA compatible controller [0300]: Advanced Micro Devices,
  Inc. [AMD/ATI] RV620 LE [Radeon HD 3450] [1002:95c5]

FYI, the #debian irc judd bot says this about that pciid:

  [1002:95c5] is 'RV620 LE [Radeon HD 3450]' from 'Advanced      
                 Micro Devices, Inc. [AMD/ATI]' with kernel
  modules 'snd-hda-intel', 'radeon' in stretch. See
  also http://kmuto.jp/debian/hcl/index.rhtmlx?check=1&lspci=1002:95c\
5                                                                               
                 http://wiki.debian.org/ATIProprietary and the
  out-of-tree 'fglrx', 'snd-hda-intel' module.

I poked around some time ago making sure that the X client had
the video drivers it needs.  I thought I succeeded, but never 
use video on that box.  Attached is lsmod output from the X client.

On the X server lspci -nn says:

  00:02.0 VGA compatible controller [0300]: Intel Corporation Atom
  Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller
  [8086:a011] 

  00:02.1 Display controller [0380]: Intel Corporation Atom
  Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller
  [8086:a012]

I generally use 8086:a011 (but the other is always on).

Judd says this about them:

  [16:32:05]<judd> [8086:a011] is 'Atom Processor D4xx/D5xx/N4xx/N5xx
  Integrated Graphics Controller' from 'Intel Corporation' with
  kernel modules 'i915', 'snd-hda-intel', 'ata-generic' in              
                 stretch. See
  also http://kmuto.jp/debian/hcl/index.rhtmlx?check=1&lspci=8086:a011

  [16:32:17]<judd> [8086:a012] is 'Atom Processor D4xx/D5xx/N4xx/N5xx
  Integrated Graphics Controller' from 'Intel Corporation' with
  kernel modules 'snd-hda-intel', 'ata-generic' in stretch. See also    
                 http://kmuto.jp/debian/hcl/index.rhtmlx?check=1&lspci=8086:a012

Never did look at the video drivers on the X server.  I seem to have
video so haven't bothered.

(I keep thinking I'll get some more X servers and monitors and run
xdmx but I've never gotten around to it.)

Thanks for the help.

Karl <kop@meme.com>
Free Software:  "You don't pay back, you pay forward."
                 -- Robert A. Heinlein
--- /tmp/90qt5-opengl	2017-12-19 16:04:51.861288514 -0600
+++ /tmp/90qt5-opengl.patched	2017-12-19 16:05:26.980467527 -0600
@@ -9,7 +9,7 @@
     echo "On Debian (based) systems, install the mesa-utils package."
     #echo "On RedHat (based) systems, install the glx-utils package."
 else
-    OPENGL_VERSION=`LANG=C glxinfo | grep '^OpenGL version string: ' | head -n 1 | sed -e 's/^OpenGL version string: \([0-9]\).*$/\1/g'`
+    OPENGL_VERSION=`LANG=C /bin/echo '' | grep '^OpenGL version string: ' | head -n 1 | sed -e 's/^OpenGL version string: \([0-9]\).*$/\1/g'`
     if [ -n "$OPENGL_VERSION" ] && [ "$OPENGL_VERSION" -lt 2 ]; then
         QT_XCB_FORCE_SOFTWARE_OPENGL=1
         export QT_XCB_FORCE_SOFTWARE_OPENGL

Attachment: lsmod_output
Description: Binary data


Reply to: