ch-sa / labelCloud

A lightweight tool for labeling 3D bounding boxes in point clouds.

Home Page:https://ch-sa.github.io/labelCloud/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pcl not shown under docker

omerbrandis opened this issue · comments

hello,

I've had to install labelCloud in a docker container.
when I execute it , the window frame/menu/buttons are all shown.
but the actual point cloud is not rendered.
the main part of the window that should display the point cloud ( data from exemplary.ply) is black with white text - looks like part of the terminal.

no error messages are actually written to the terminal.
(regardless ) here's the output that is written :

mypath# python3 labelCloud.py 
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Set export strategy to CentroidFormat.
Saving rotations absolutely to positve x-axis in degrees (0..360°).
mypath.../labelCloud
Loading next point cloud...
==================== Loading exemplary.ply ====================
Number of Points: 86357
Point Cloud Center:		[ 0.03 -0.37  0.29]
Point Cloud Minimums:	[-2.02 -1.42 -0.03]
Point Cloud Maximums:	[0.98 0.95 0.94]
Initial Translation:	[-0.03  0.37 -4.22]
Successfully loaded point cloud from pointclouds/exemplary.ply!
=================================================================
There is currently no active bounding box to manipulate.
There is currently no active bounding box to manipulate.
Alignmode was changed to False!
Imported 1 labels from labels/exemplary.json.
Loaded 1 bboxes!
There is currently no active bounding box to manipulate.
COMPLETER CLASSNAMES: {'cart', 'box'}

here's what it looks like
labelCloud

please advise.
Omer

Hi @omerbrandis,

this is indeed very odd behavior. It seems like the software loaded correctly but there is something wrong with OpenGL or the QOpenGLWidget in particular. Could you please make sure OpenGL is working correctly in your Docker container (there seem to exist some issues with that in general) and tell me the output of the following commands:

  1. glxinfo | grep "OpenGL version"
  2. python3 -c "import OpenGL; print(OpenGL.__version__)"

hello,

python3 -c "import OpenGL; print(OpenGL.version)" returns 3.1.5

but glxinfo | grep "OpenGL version"
returns:
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 154 (GLX)
Minor opcode of failed request: 24 (X_GLXCreateNewContext)
Value in failed request: 0x0
Serial number of failed request: 41
Current serial number in output stream: 42

noticed several pages about this, but I allread use all the nvidia-docker switches mentioned in them,
guess my next step is to try a prebuilt nvidia-ubuntu container ... I'll update after i try that.

thanks,
Omer.

got it working with nvidia/opengl:1.2-glvnd-devel-ubuntu18.04
(nvidia-docker run ... -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY --privileged... )
:-)
Omer.