1

I'm developing an application using Python 3 / PyQt5. Everything seems ship-shape until I try to run the GUI (which is partially reliant on a live graph that is backed by pyqtgraph) on my Raspberry Pi 2 Model B (Raspbian Jessie), when it throws the error libEGL warning: DRI2: failed to authenticate. This question has a potential fix, but it's very long and might not be exactly what I need, so I don't want to embark on that reconfig journey unless I absolutely have to. I'm trying to make this software easy to configure on a fresh installation.

Exactly what happens: I execute my application from the terminal (python3 app.py) on the Pi. The application does start, but throws the aforementioned libEGL warning. My application consists of a starting window that has buttons to open the functional portions of my application. This starts fine, but when I try to open my "control panel" with a live plot in it, this new window stops responding. There is no Python error traceback.

Any ideas?

bearoplane
  • 131
  • 1
  • 1
  • 5
  • You'll surely need to show us some of your "questionable code" (play on your screen name) for us to have a chance to answer this. – Brick Nov 20 '17 at 00:04
  • Appreciate the play. What exactly do you need? My class definitions, how I call the GUI to appear, etc.? I know that's cryptic, but if you point me in the right direction I'd be happy to toss some stuff up there. I'd just like to avoid posting all of my source. – bearoplane Nov 20 '17 at 00:06
  • Posting all of your code is probably also bad - an extreme in the other direction. In this case, I'd try to follow these guidelines from the "parent" SE site: https://stackoverflow.com/help/mcve – Brick Nov 20 '17 at 00:08
  • Sure, I guess I'm just not exactly sure which particular code would be useful to solving this issue. There's no Python traceback that is shouting about anything in particular. It's just the libEGL warning that I'm seeing, and then the window I try to open freezes. I'll provide a few more details. – bearoplane Nov 20 '17 at 00:11
  • "DRI2: failed to authenticate" is an artifact of the brcm VC4 closed-source EGL driver. Try running sudo raspi-config to configure your Pi for full OpenGL (a reboot may be required), then warning will likely go away. However, it's usually benign and doesn't explain your hang. If you try running (and plotting from) examples/designerExample.py from https://github.com/pyqtgraph/pyqtgraph do you get the same hang? Whether or not will help you narrow down whether the problem is with your system configuration or your code. – jdonald Nov 20 '17 at 07:23
  • First, sorry for the long hiatus. Other parts of work/school were pressing, etc.

    Second: running examples/designerExample.py gives me 3 MESA-LOADER: failed to retrieve device information statements. Otherwise, though, it runs without a hitch.

    – bearoplane Jan 18 '18 at 21:09
  • @jdonald running that example seemed to work okay, but it wasn't exactly live plotting. Now I'm experiencing the same issues as before while trying to run a live plot off of some random numbers (random.randrange(0, 1023)) – bearoplane Jan 24 '18 at 20:14
  • {since I have too low rep, I can't comment, only 'answer'} Your original problem statement was "throws the error libEGL warning...". I don't mean to be pedantic, but a warning is not an error, even though some might think of it that way. I have a similar issue, in that a very simple hello world GUI on a Pi3 shows the same warning. However, the GUI shows up and I can interact with it. Perhaps you have some other problem with the "control panel" / live plot??? I wonder if you need to strip out stuff from the control panel until you can get it to continue running. Other sites (e.g. https://pi3d.g – El Ronaldo Feb 28 '18 at 00:38

2 Answers2

1

As far as I know now, these issues are unrelated. After some serious debugging of code I was reusing for the data acquisition, I noticed that there were some problems with process spawning that was causing the program to hang in the new implementation. I'm taking two separate scripts and trying to integrate them into a well-formatted, well-coded application, so I assume the problems were introduced when I tried to interface the old with the new.

Lesson learned: write better tests. If this pops back up as a real problem, I'll be sure to put it here.

bearoplane
  • 131
  • 1
  • 1
  • 5
0

driconf (cute little configuration utility) on a Raspberry Pi 3B tells me

Screen "0" is not direct rendering capable.

Alan Corey
  • 201
  • 1
  • 6