Erroneous rendering with nouveau graphics driver
- Dominant language
- C++
- Stars
- 14k
- Forks
- 2.6k
- Avg merge
- 5d 18h
- Merged PRs (30d)
- 6
Description
### Checklist
- [X] I have searched for [similar issues](https://github.com/isl-org/Open3D/issues).
- [X] For Python issues, I have tested with the [latest development wheel](https://www.open3d.org/docs/latest/getting_started.html#development-version-pip).
- [X] I have checked the [release documentation](https://www.open3d.org/docs/release/) and the [latest documentation](https://www.open3d.org/docs/latest/) (for `main` branch).
### 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`:

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:**
```bash
> 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:**
```bash
>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
```python
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
```markdown
- 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.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.