3D Sketch not Loading ("GL pipe is running in software mode")

edited October 2016 in Using Processing

I wrote a 3D sketch using Windows, and had absolutely no problems with it. It works exactly the way I want it to. When I tried the sketch on several different Linux flavors, I also had no problems. When I tried the sketch on macOS Sierra however, I was not so lucky. Every time I try to run the sketch, I get the following error in the console:

    WARNING: GL pipe is running in software mode (Renderer ID=0x1020400)
    java.lang.RuntimeException: Waited 5000ms for: <583972f0, 56fe8787>[count 2, qsz 0, owner <main-FPSAWTAnimator#00-Timer0>] - <main-FPSAWTAnimator#00-Timer0-FPSAWTAnimator#00-Timer1>
        at processing.opengl.PSurfaceJOGL$2.run(PSurfaceJOGL.java:459)
        at java.lang.Thread.run(Thread.java:745)

The sketch never manages to load beyond this:

What exactly is the matter here? Why is macOS not working with a sketch that has worked everywhere else?

Answers

  • edited October 2016

    @DavidB -- nobody will be able to test or offer debug advice on the sketch unless you share the sketch here. Be sure to format the code so that people can cut-paste if they want to help look into your problem. If your sketch is very long, please cut it down and share a minimal version of it that still exhibits the same problem.

    For what it is worth, that "GL pipe" warning message is not processing-specific.

  • maybe update your graphic card's driver?

  • @jeremydouglass - I will work on posting a minimized version of my sketch. I tested the "Orthographic" example sketch, and while I still get the "GL pipe is running in software mode" error, the sketch at least runs.

    @Chrisir - macOS is running inside a virtual machine, and I am not sure how that affects the process of updating the graphics card driver, but the host OS is running the latest driver for my card.

  • Are the other operating systems running in the same virtual machine?

  • then i suggest that's the problem - something in the code you haven't posted requires a real graphics card, not a software simulation of one.

    the orthographic example might work because it's simple.

  • edited October 2016

    @koogs - The sketch that I am having trouble with is 8000+ lines long. I doubt that anyone would be willing to sift through that much, so as soon as I get a chance to, I will sift through it myself and post it. Ideally though, I would just like to get the virtual machine to work with the host graphics card.

  • @koogs - In the meantime, before I get a chance to post the code, could you, if possible, please explain me what the "java.lang.RuntimeException: Waited 5000ms..." means? It may well be that if someone can tell me what it means, I will be able to fix the problem without needing to post the code.

  • Haven't seen it before but it sounds like it took more than 5s to render the frame and aborted because of that.

    Can you post a screenshot of the correct output, to give us an idea of the complexity of what you're trying to do?

  • Searching the web for "java.lang.RuntimeException: Waited 5000ms" I see that it has popped up for a bunch of unrelated toolchains in Java -- everything from Steam games to MATLAB, on Windows and Linux as well as MacOS machines.

    Perhaps it is a timeout due to a crash, or perhaps it is an exception due to a timeout -- in which case, giving your virtual machine more resources so that it can run faster (if possible) might make a difference.

    I also see that there was a perhaps related old timeout issue with Processing and JOGL here: https://github.com/processing/processing/issues/1735

  • @koogs @jeremydouglass - What resources could I assign more of to the VM? I understand it's a graphics thing, but I don't know how to increase VRAM for a virtual machine running in VMware.

    In other news, I figured out how to get sketch to at least work. Before the loads the graphics, it connects to a server to download several files. On Windows and Linux, the sketch displayed a separate splash screen independent of the sketch while it was loading. Once it was done, the sketch would instruct the separate splash screen program to close, and load the graphics. Apparently, either macOS or my virtual machine does not like this approach, and freaks out about it. When I strip the code from the project, all of the graphics load just fine. Some aspects of the sketch are not working properly because the files it downloads are needed, but the graphics work, although they are very slow.

  • It sounds like the way that you are displaying "a separate splash screen independent of the sketch" is what is causing the 5000+ms delay that java chokes on. Are you doing that using Processing thread() or in a java Thread? Threading might solve your problem.

    You might want to put the splash screen / downloader code into a mini sketch, see if it fails with the same error, and, if it does fail, share that sketch code here for help with debugging.

  • @jeremydouglass - The splash screen that is being loaded is not actually a part of the sketch. It's a separate, small Java program that I wrote. The sketch starts, creates a file, and loads the separate executable jar. The sketch then proceeds with the downloads it needs to do. As soon as those are complete, it deletes the file, which is an indicator to the separate splash program to close.

  • edited October 2016

    @DavidB ...so, it sounds like your download step might be causing the delay timeout. My suggestion still stands. Isolate the download code, test if it causes the same timeout failure, try threading to prevent a timeout, share the download sketch here for help if that doesn't work. Of course, if you are using built-in Processing loaders they are supposed to be asynchronous -- could be a bug? No way to know without a sketch to test.

Sign In or Register to comment.