isl-org/Open3D

Erroneous rendering with nouveau graphics driver

PhilNad opened this issue · 0 comments

Checklist

Describe the issue

When using open3d.visualization.rendering.Renderer with the nouveau graphics driver on Ubuntu, black patches appear on meshes.

For instance, the following picture was obtained when running https://github.com/isl-org/Open3D/blob/main/examples/python/visualization/add_geometry.py:
problem

Note the presence of black patches on the spheres in the above snapshot.

Installing NVIDIA drivers fixed the issue.

Before the update, the graphics are:

> glxinfo -B
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Mesa (0x10de)
    Device: NV166 (0x1f14)
    Version: 23.2.1
    Accelerated: yes
    Video memory: 8181MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.3
    Max compat profile version: 4.3
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 6545 MB, largest block: 6545 MB
    VBO free aux. memory - total: 1677721 MB, largest block: 1677721 MB
    Texture free memory - total: 6545 MB, largest block: 6545 MB
    Texture free aux. memory - total: 1677721 MB, largest block: 1677721 MB
    Renderbuffer free memory - total: 6545 MB, largest block: 6545 MB
    Renderbuffer free aux. memory - total: 1677721 MB, largest block: 1677721 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 8181 MB
    Total available memory: 8181 MB
    Currently available dedicated video memory: 6545 MB
OpenGL vendor string: Mesa
OpenGL renderer string: NV166
OpenGL core profile version string: 4.3 (Core Profile) Mesa 23.2.1-1ubuntu3.1~22.04.2
OpenGL core profile shading language version string: 4.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.3 (Compatibility Profile) Mesa 23.2.1-1ubuntu3.1~22.04.2
OpenGL shading language version string: 4.30
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 23.2.1-1ubuntu3.1~22.04.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

After the NVIDIA driver update, the graphics are:

>glxinfo -B
name of display: :1
display: :1  screen: 0
direct rendering: Yes
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 8192 MB
    Total available memory: 8192 MB
    Currently available dedicated video memory: 7646 MB
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce RTX 2070/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 535.171.04
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6.0 NVIDIA 535.171.04
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)

OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 535.171.04
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

Steps to reproduce the bug

On a system as described in my bug report, do:
1. Run `python add_geometry.py`
2. Select "Debug > Add Random Spheres"

Error message

No response

Expected behavior

No response

Open3D, Python and System information

- Operating system: Linux 6.5.0-28-generic #29~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Apr  4 14:39:20 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
- Python version: Python 3.10
- Open3D version: 0.18
- System architecture: x86
- Is this a remote workstation?: no
- How did you install Open3D?: pip

Additional information

Installing NVIDIA drivers fixed the issue.