GithubHelp home page GithubHelp logo

Comments (11)

JacopoPan avatar JacopoPan commented on July 18, 2024 2

Thanks @stavrako,

I'd suspect this to be an issue arising directly from PyBullet / OpenGL when using Ubuntu and NVIDIA GPUs.
I normally work on macOS (and I'm glad Windows works fine too) but I will look into this when I can.

from gym-pybullet-drones.

JacopoPan avatar JacopoPan commented on July 18, 2024 1

Thanks for confirming that @lampidis.
If you happen to find a way to replicate the problem in the minimal example, I'd try to fix it (or at least understand the cause).

from gym-pybullet-drones.

lampidis avatar lampidis commented on July 18, 2024

I experienced the same problem as well

from gym-pybullet-drones.

JacopoPan avatar JacopoPan commented on July 18, 2024

Ok, I'll look into this today. @stavrako could you add the terminal output when running the minimal example I gave in #41?

from gym-pybullet-drones.

JacopoPan avatar JacopoPan commented on July 18, 2024

umm, I have a different card and version of NVIDIA driver but I don't seem to be able to replicate the issue

(base) jacopo@jacopo-ThinkPad-P52:~/Desktop/gym-pybullet-drones$ python examples/fly.py 
pybullet build time: May 20 2021 11:07:34
[INFO] BaseAviary.__init__() loaded parameters from the drone's .urdf:
[INFO] m 0.027000, L 0.039700,
[INFO] ixx 0.000014, iyy 0.000014, izz 0.000022,
[INFO] kf 0.000000, km 0.000000,
[INFO] t2w 2.250000, max_speed_kmh 30.000000,
[INFO] gnd_eff_coeff 11.368590, prop_radius 0.023135,
[INFO] drag_xy_coeff 0.000001, drag_z_coeff 0.000001,
[INFO] dw_coeff_1 2267.180000, dw_coeff_2 0.160000, dw_coeff_3 -0.110000
startThreads creating 1 threads.
starting thread 0
started thread 0 
argc=2
argv[0] = --unused
argv[1] = --start_demo_name=Physics Server
ExampleBrowserThreadFunc started
X11 functions dynamically loaded using dlopen/dlsym OK!
X11 functions dynamically loaded using dlopen/dlsym OK!
Creating context
Created GL 3.3 context
Direct GLX rendering context obtained
Making context current
GL_VENDOR=NVIDIA Corporation
GL_RENDERER=Quadro P2000/PCIe/SSE2
GL_VERSION=3.3.0 NVIDIA 450.119.03
GL_SHADING_LANGUAGE_VERSION=3.30 NVIDIA via Cg compiler
pthread_getconcurrency()=0
Version = 3.3.0 NVIDIA 450.119.03
Vendor = NVIDIA Corporation
Renderer = Quadro P2000/PCIe/SSE2
b3Printf: Selected demo: Physics Server
startThreads creating 1 threads.
starting thread 0
started thread 0 
MotionThreadFunc thread started
viewMatrix (-0.8660253882408142, -0.2499999701976776, 0.4330126941204071, 0.0, 0.0, 0.8660253286361694, 0.4999999701976776, 0.0, -0.4999999701976776, 0.4330126643180847, -0.75, 0.0, -0.0, 5.960464477539063e-08, -2.999999761581421, 1.0)
projectionMatrix (1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, -1.0000200271606445, -1.0, 0.0, 0.0, -0.02000020071864128, 0.0)
/home/jacopo/anaconda3/lib/python3.7/site-packages/gym/logger.py:30: UserWarning: WARN: Box bound precision lowered by casting to float32
  warnings.warn(colorize('%s: %s'%('WARN', msg % args), 'yellow'))
ven = NVIDIA Corporation
ven = NVIDIA Corporation

Screenshot from 2021-05-20 11-21-54

from gym-pybullet-drones.

stavrako avatar stavrako commented on July 18, 2024

Ok, I'll look into this today. @stavrako could you add the terminal output when running the minimal example I gave in #41?

Thats the output with intel 620 graphics:

stavrako@stavrako:~/gym-pybullet-drones/examples$ python3 test.py
pybullet build time: May 14 2021 14:07:06
startThreads creating 1 threads.
starting thread 0
started thread 0
argc=2
argv[0] = --unused
argv[1] = --start_demo_name=Physics Server
ExampleBrowserThreadFunc started
X11 functions dynamically loaded using dlopen/dlsym OK!
X11 functions dynamically loaded using dlopen/dlsym OK!
Creating context
Created GL 3.3 context
Direct GLX rendering context obtained
Making context current
GL_VENDOR=Intel Open Source Technology Center
GL_RENDERER=Mesa DRI Intel(R) HD Graphics 620 (KBL GT2)
GL_VERSION=4.6 (Core Profile) Mesa 20.0.8
GL_SHADING_LANGUAGE_VERSION=4.60
pthread_getconcurrency()=0
Version = 4.6 (Core Profile) Mesa 20.0.8
Vendor = Intel Open Source Technology Center
Renderer = Mesa DRI Intel(R) HD Graphics 620 (KBL GT2)
b3Printf: Selected demo: Physics Server
startThreads creating 1 threads.
starting thread 0
started thread 0
MotionThreadFunc thread started
ven = Intel Open Source Technology Center
Workaround for some crash in the Intel OpenGL driver on Linux/Ubuntu
ven = Intel Open Source Technology Center
Workaround for some crash in the Intel OpenGL driver on Linux/Ubuntu
numActiveThreads = 0
stopping threads
Thread with taskId 0 exiting
Thread TERMINATED
destroy semaphore
semaphore destroyed
destroy main semaphore
main semaphore destroyed
finished
numActiveThreads = 0
btShutDownExampleBrowser stopping threads
Thread with taskId 0 exiting
Thread TERMINATED
destroy semaphore
semaphore destroyed
destroy main semaphore
main semaphore destroyed

and with NVIDIA:

stavrako@stavrako:~/gym-pybullet-drones/examples$ python3 test.py
pybullet build time: May 14 2021 14:07:06
startThreads creating 1 threads.
starting thread 0
started thread 0
argc=2
argv[0] = --unused
argv[1] = --start_demo_name=Physics Server
ExampleBrowserThreadFunc started
X11 functions dynamically loaded using dlopen/dlsym OK!
X11 functions dynamically loaded using dlopen/dlsym OK!
Creating context
Created GL 3.3 context
Direct GLX rendering context obtained
Making context current
GL_VENDOR=NVIDIA Corporation
GL_RENDERER=GeForce MX110/PCIe/SSE2
GL_VERSION=3.3.0 NVIDIA 460.73.01
GL_SHADING_LANGUAGE_VERSION=3.30 NVIDIA via Cg compiler
pthread_getconcurrency()=0
Version = 3.3.0 NVIDIA 460.73.01
Vendor = NVIDIA Corporation
Renderer = GeForce MX110/PCIe/SSE2
b3Printf: Selected demo: Physics Server
startThreads creating 1 threads.
starting thread 0
started thread 0
MotionThreadFunc thread started
ven = NVIDIA Corporation
ven = NVIDIA Corporation
numActiveThreads = 0
stopping threads
Thread with taskId 0 exiting
Thread TERMINATED
destroy semaphore
semaphore destroyed
destroy main semaphore
main semaphore destroyed
finished
numActiveThreads = 0
btShutDownExampleBrowser stopping threads
Thread with taskId 0 exiting
Thread TERMINATED
destroy semaphore
semaphore destroyed
destroy main semaphore
main semaphore destroyed

It seems thats chrashes both intel and nvidia -> "Workaround for some crash in the Intel OpenGL driver on Linux/Ubuntu" but the strange is the fact that the example runs properly in contrast with other examples.

from gym-pybullet-drones.

JacopoPan avatar JacopoPan commented on July 18, 2024

@stavrako you have the same driver as @GPrathap in #41 so I think the problem might be related to that.

However, I am curious about why the minimal example does not raise the same problem.

Can you try if commenting these 2 lines changes anything?

import pkgutil
egl = pkgutil.get_loader('eglRenderer')

from gym-pybullet-drones.

stavrako avatar stavrako commented on July 18, 2024

@JacopoPan it didn't change anything.

from gym-pybullet-drones.

JacopoPan avatar JacopoPan commented on July 18, 2024

You can try to comment out other PyBullet GUI-related calls like p.configureDebugVisualizer() and p.resetDebugVisualizerCamera() but I don't see any other way in which the simple example from above and BaseAviary actually differ. If you find out, please let me know.
I wish I could help more but everything works as expected on Ubuntu 18 and with a Quadro P2000 for me.

from gym-pybullet-drones.

stavrako avatar stavrako commented on July 18, 2024

I understand.
Thank you for your time.

from gym-pybullet-drones.

lampidis avatar lampidis commented on July 18, 2024

I have a Nvidia 1660 super so I think it has something to do with the Nvidia drivers for ubuntu. On windows (same graphics card) it is working as expected.

from gym-pybullet-drones.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.