# Docker question with SSR for Communicator SCS

**URL:** <https://forum.techsoft3d.com/t/docker-question-with-ssr-for-communicator-scs/4474>\
**Category:** HOOPS Visualize Web\
**Created:** [March 21, 2025, 12:37pm UTC](https://forum.techsoft3d.com/t/docker-question-with-ssr-for-communicator-scs/4474 "2025-03-21T12:37:02Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![jeff.walrath](https://avatars.discourse-cdn.com/v4/letter/j/94ad74/32.png) [@jeff.walrath](https://forum.techsoft3d.com/u/jeff.walrath)\
**Post date:** [March 21, 2025, 12:37pm UTC](https://forum.techsoft3d.com/t/docker-question-with-ssr-for-communicator-scs/4474/1 "2025-03-21T12:37:02Z")

</div>

Hello,

Working on dockerizing a Communicator SCS. I have the CSR version working no problem. I am working on the SSR version. I followed the documentation, followed the old youtube training video. Also tried different versions of the NVIDIA GLVND dockerfiles. I keep getting the glBindTexture error and am not sure what else to try. Suggestions are appreciated. Below is the capture of the output message (i manually started the ts3d\_server and show the startup options at the end when it segvfaults):

using EGL for context creation.  
initalized EGL Library v1.5  
SDL version (compiled): 2.0.3  
SDL version (linked): 2.0.10  
GL Vendor: NVIDIA Corporation  
GL Renderer: NVIDIA GeForce GTX 1060 6GB/PCIe/SSE2  
GL Version: OpenGL ES 3.2 NVIDIA 535.230.02  
GLSL Version: OpenGL ES GLSL ES 3.20  
GL Extensions: GL\_EXT\_base\_instance GL\_EXT\_blend\_func\_extended GL\_EXT\_blend\_minmax GL\_EXT\_buffer\_storage GL\_EXT\_clear\_texture GL\_EXT\_clip\_control GL\_EXT\_clip\_cull\_distance GL\_EXT\_color\_buffer\_float GL\_EXT\_color\_buffer\_half\_float GL\_EXT\_conservative\_depth GL\_EXT\_copy\_image GL\_EXT\_depth\_clamp GL\_EXT\_debug\_label GL\_EXT\_discard\_framebuffer GL\_EXT\_disjoint\_timer\_query GL\_EXT\_draw\_buffers\_indexed GL\_EXT\_draw\_elements\_base\_vertex GL\_EXT\_EGL\_image\_array GL\_EXT\_EGL\_image\_storage GL\_EXT\_EGL\_image\_external\_wrap\_modes GL\_EXT\_float\_blend GL\_EXT\_frag\_depth GL\_EXT\_geometry\_point\_size GL\_EXT\_geometry\_shader GL\_EXT\_gpu\_shader5 GL\_EXT\_map\_buffer\_range GL\_EXT\_multi\_draw\_indirect GL\_EXT\_multisample\_compatibility GL\_EXT\_multisampled\_render\_to\_texture GL\_EXT\_multisampled\_render\_to\_texture2 GL\_EXT\_multiview\_texture\_multisample GL\_EXT\_multiview\_timer\_query GL\_EXT\_occlusion\_query\_boolean GL\_EXT\_polygon\_offset\_clamp GL\_EXT\_post\_depth\_coverage GL\_EXT\_primitive\_bounding\_box GL\_EXT\_raster\_multisample GL\_EXT\_render\_snorm GL\_EXT\_robustness GL\_EXT\_separate\_shader\_objects GL\_EXT\_shader\_group\_vote GL\_EXT\_shader\_implicit\_conversions GL\_EXT\_shader\_integer\_mix GL\_EXT\_shader\_io\_blocks GL\_EXT\_shader\_non\_constant\_global\_initializers GL\_EXT\_shader\_texture\_lod GL\_EXT\_shadow\_samplers GL\_EXT\_sparse\_texture GL\_EXT\_sparse\_texture2 GL\_EXT\_sRGB GL\_EXT\_sRGB\_write\_control GL\_EXT\_tessellation\_point\_size GL\_EXT\_tessellation\_shader GL\_EXT\_texture\_border\_clamp GL\_EXT\_texture\_buffer GL\_EXT\_texture\_compression\_bptc GL\_EXT\_texture\_compression\_dxt1 GL\_EXT\_texture\_compression\_rgtc GL\_EXT\_texture\_compression\_s3tc GL\_EXT\_texture\_cube\_map\_array GL\_EXT\_texture\_filter\_anisotropic GL\_EXT\_texture\_filter\_minmax GL\_EXT\_texture\_format\_BGRA8888 GL\_EXT\_texture\_mirror\_clamp\_to\_edge GL\_EXT\_texture\_norm16 GL\_EXT\_texture\_query\_lod GL\_EXT\_texture\_rg GL\_EXT\_texture\_shadow\_lod GL\_EXT\_texture\_sRGB\_R8 GL\_EXT\_texture\_sRGB\_decode GL\_EXT\_texture\_storage GL\_EXT\_texture\_view GL\_EXT\_draw\_transform\_feedback GL\_EXT\_unpack\_subimage GL\_EXT\_window\_rectangles GL\_KHR\_context\_flush\_control GL\_KHR\_debug GL\_EXT\_memory\_object GL\_EXT\_memory\_object\_fd GL\_NV\_memory\_object\_sparse GL\_KHR\_parallel\_shader\_compile GL\_KHR\_no\_error GL\_KHR\_robust\_buffer\_access\_behavior GL\_KHR\_robustness GL\_EXT\_semaphore GL\_EXT\_semaphore\_fd GL\_NV\_timeline\_semaphore GL\_KHR\_shader\_subgroup GL\_KHR\_texture\_compression\_astc\_ldr GL\_KHR\_texture\_compression\_astc\_sliced\_3d GL\_KHR\_texture\_compression\_astc\_hdr GL\_NV\_bgr GL\_NV\_bindless\_texture GL\_NV\_blend\_equation\_advanced GL\_NV\_blend\_equation\_advanced\_coherent GL\_NVX\_blend\_equation\_advanced\_multi\_draw\_buffers GL\_NV\_blend\_minmax\_factor GL\_NV\_clip\_space\_w\_scaling GL\_NV\_conditional\_render GL\_NV\_conservative\_raster GL\_NV\_conservative\_raster\_pre\_snap\_triangles GL\_NV\_copy\_buffer GL\_NV\_copy\_image GL\_NV\_draw\_buffers GL\_NV\_draw\_instanced GL\_NV\_draw\_texture GL\_NV\_draw\_vulkan\_image GL\_NV\_EGL\_stream\_consumer\_external GL\_NV\_explicit\_attrib\_location GL\_NV\_fbo\_color\_attachments GL\_NV\_fill\_rectangle GL\_NV\_fragment\_coverage\_to\_color GL\_NV\_fragment\_shader\_interlock GL\_NV\_framebuffer\_blit GL\_NV\_framebuffer\_mixed\_samples GL\_NV\_framebuffer\_multisample GL\_NV\_generate\_mipmap\_sRGB GL\_NV\_geometry\_shader\_passthrough GL\_NV\_instanced\_arrays GL\_NV\_internalformat\_sample\_query GL\_NV\_gpu\_shader5 GL\_NV\_image\_formats GL\_NV\_memory\_attachment GL\_NV\_occlusion\_query\_samples GL\_NV\_non\_square\_matrices GL\_NV\_pack\_subimage GL\_NV\_packed\_float GL\_NV\_packed\_float\_linear GL\_NV\_path\_rendering GL\_NV\_path\_rendering\_shared\_edge GL\_NV\_pixel\_buffer\_object GL\_NV\_polygon\_mode GL\_NV\_read\_buffer GL\_NV\_read\_depth GL\_NV\_read\_depth\_stencil GL\_NV\_read\_stencil GL\_NV\_sample\_locations GL\_NV\_sample\_mask\_override\_coverage GL\_NV\_shader\_atomic\_fp16\_vector GL\_NV\_shader\_noperspective\_interpolation GL\_NV\_shader\_subgroup\_partitioned GL\_NV\_shadow\_samplers\_array GL\_NV\_shadow\_samplers\_cube GL\_NV\_sRGB\_formats GL\_NV\_stereo\_view\_rendering GL\_NV\_texture\_array GL\_NV\_texture\_barrier GL\_NV\_texture\_border\_clamp GL\_NV\_texture\_compression\_latc GL\_NV\_texture\_compression\_s3tc GL\_NV\_texture\_compression\_s3tc\_update GL\_NV\_timer\_query GL\_NV\_viewport\_array GL\_NV\_viewport\_array2 GL\_NV\_viewport\_swizzle GL\_KHR\_blend\_equation\_advanced GL\_KHR\_blend\_equation\_advanced\_coherent GL\_OES\_compressed\_ETC1\_RGB8\_texture GL\_EXT\_compressed\_ETC1\_RGB8\_sub\_texture GL\_OES\_depth24 GL\_OES\_depth32 GL\_OES\_depth\_texture GL\_OES\_depth\_texture\_cube\_map GL\_OES\_copy\_image GL\_OES\_draw\_buffers\_indexed GL\_OES\_draw\_elements\_base\_vertex GL\_OES\_texture\_border\_clamp GL\_OES\_tessellation\_point\_size GL\_OES\_tessellation\_shader GL\_OES\_texture\_buffer GL\_OES\_geometry\_point\_size GL\_OES\_geometry\_shader GL\_OES\_gpu\_shader5 GL\_OES\_shader\_io\_blocks GL\_OES\_texture\_view GL\_OES\_primitive\_bounding\_box GL\_OES\_EGL\_image GL\_OES\_EGL\_image\_external GL\_OES\_EGL\_image\_external\_essl3 GL\_OES\_EGL\_sync GL\_OES\_element\_index\_uint GL\_OES\_fbo\_render\_mipmap GL\_OES\_get\_program\_binary GL\_OES\_mapbuffer GL\_OES\_packed\_depth\_stencil GL\_OES\_rgb8\_rgba8 GL\_EXT\_read\_format\_bgra GL\_OES\_sample\_shading GL\_OES\_sample\_variables GL\_OES\_shader\_image\_atomic GL\_OES\_shader\_multisample\_interpolation GL\_OES\_standard\_derivatives GL\_OES\_surfaceless\_context GL\_OES\_texture\_cube\_map\_array GL\_OES\_texture\_npot GL\_OES\_texture\_float GL\_OES\_texture\_float\_linear GL\_OES\_texture\_half\_float GL\_OES\_texture\_half\_float\_linear GL\_OES\_texture\_stencil8 GL\_OES\_texture\_storage\_multisample\_2d\_array GL\_OES\_vertex\_array\_object GL\_OES\_vertex\_half\_float GL\_OES\_viewport\_array GL\_OVR\_multiview GL\_OVR\_multiview2 GL\_OVR\_multiview\_multisampled\_render\_to\_texture GL\_ANDROID\_extension\_pack\_es31a  
max vertex texture units: 32  
max combined texture units: 192  
max vertex uniform vectors: 1024  
max fragment uniform vectors: 1024  
max vertex attributes: 16  
max render buffer size: 32768  
max aliased point size: 2047  
loading shader /opt/NLIGN/ThirdPartyLibs/hoops/communicator/server/bin/linux64/shader/ssr-post-v.glsl  
loading shader /opt/NLIGN/ThirdPartyLibs/hoops/communicator/server/bin/linux64/shader/ssr-post-planar-f.glsl  
loading shader /opt/NLIGN/ThirdPartyLibs/hoops/communicator/server/bin/linux64/shader/ssr-post-v.glsl  
loading shader /opt/NLIGN/ThirdPartyLibs/hoops/communicator/server/bin/linux64/shader/ssr-post-planar-down-f.glsl  
loading shader /opt/NLIGN/ThirdPartyLibs/hoops/communicator/server/bin/linux64/shader/ssr-post-v.glsl  
loading shader /opt/NLIGN/ThirdPartyLibs/hoops/communicator/server/bin/linux64/shader/ssr-post-nv12-f.glsl  
loading shader /opt/NLIGN/ThirdPartyLibs/hoops/communicator/server/bin/linux64/shader/ssr-post-v.glsl  
loading shader /opt/NLIGN/ThirdPartyLibs/hoops/communicator/server/bin/linux64/shader/ssr-post-nv12-down-f.glsl  
2025-03-21 12:30:31 Appended model search directory: /opt/NLIGN/ThirdPartyLibs/hoops/communicator/sandbox\_linux/data  
2025-03-21 12:30:31 Appended model search directory: /opt/NLIGN/ThirdPartyLibs/hoops/communicator/quick\_start/converted\_models/user/sc\_models  
2025-03-21 12:30:31 Appended model search directory: /opt/NLIGN/ThirdPartyLibs/hoops/communicator/quick\_start/converted\_models/authoring\_samples\_data  
2025-03-21 12:30:31 Appended model search directory: /opt/NLIGN/ThirdPartyLibs/hoops/communicator/quick\_start/converted\_models/standard/sc\_models  
2025-03-21 12:30:31 Set workspace directory: /tmp/1E09-C2BE-2918-05F4  
2025-03-21 12:30:31 StreamState::SetControlFlags: StreamInstancesOnDemand  
2025-03-21 12:30:31 StreamState::SetStreamCutoffScale: 1.000000  
2025-03-21 12:30:31 Stream init.  
2025-03-21 12:30:31 i(0 0) d(0 0) b: 88 Kb: 0 bKib: 0 mKib: (0 0) ms(0 0 0) (0 0 0 0 0 0 0 0 0 0 0) vs(0 0) T: 0 F: 0 STREAM → E  
2025-03-21 12:30:31 i(0 0) d(0 0) b: 16 Kb: 0 bKib: 0 mKib: (0 0) ms(0 0 0) (0 0 0 0 0 0 0 0 0 0 0) vs(0 0) T: 0 F: 0 STREAM → I  
2025-03-21 12:30:31 i(0 0) d(0 0) b: 52 Kb: 0 bKib: 0 mKib: (0 0) ms(0 0 0) (0 0 0 0 0 0 0 0 0 0 0) vs(0 0) T: 0 F: 0 COMPUTE\_INSTANCE\_INC\_BOUNDING → E  
2025-03-21 12:30:31 i(0 0) d(0 0) b: 16 Kb: 0 bKib: 0 mKib: (0 0) ms(0 0 0) (0 0 0 0 0 0 0 0 0 0 0) vs(0 0) T: 0 F: 0 STREAM → I  
Could not load OpenGL command: glBindTexture!  
/ts3d.sh: line 1: 74 Segmentation fault (core dumped) /opt/NLIGN/ThirdPartyLibs/hoops/communicator/server/bin/linux64/ts3d\_sc\_server --id 1aac8b0b-66e1-493c-aaca-6c17d6a7a728 --sc-port 11000 --liveliness-endpoint [http://127.0.0.1:11182/api/spawns/](http://127.0.0.1:11182/api/spawns/) --liveliness-update-frequency 5 --model-search-directories “/opt/NLIGN/ThirdPartyLibs/hoops/communicator/sandbox\_linux/data;/opt/NLIGN/ThirdPartyLibs/hoops/communicator/quick\_start/converted\_models/user/sc\_models;/opt/NLIGN/ThirdPartyLibs/hoops/communicator/quick\_start/converted\_models/authoring\_samples\_data;/opt/NLIGN/ThirdPartyLibs/hoops/communicator/quick\_start/converted\_models/standard/sc\_models” --log-file /root/sa.log --log-style-delta false --log-file-category-mask 7 --initial-use-duration 60 --workspace-dir /tmp --ssr true --ssr-egl true --license-file /opt/NLIGN/ThirdPartyLibs/hoops/communicator/HoopsLicense.lic --sc-verbose-logging true

---

<div class="post-metadata">

**Author:** ![tino](https://avatars.discourse-cdn.com/v4/letter/t/9dc877/32.png) [@tino](https://forum.techsoft3d.com/u/tino)\
**Post date:** [March 21, 2025, 1:19pm UTC](https://forum.techsoft3d.com/t/docker-question-with-ssr-for-communicator-scs/4474/2 "2025-03-21T13:19:48Z")

</div>

Hello @jeff.walrath,

As a way to further isolate the issue, are you able to reproduce the same error in a **non** -Docker build?

Thanks,  
Tino

---

<div class="post-metadata">

**Author:** ![jeff.walrath](https://avatars.discourse-cdn.com/v4/letter/j/94ad74/32.png) [@jeff.walrath](https://forum.techsoft3d.com/u/jeff.walrath)\
**Post date:** [March 21, 2025, 2:08pm UTC](https://forum.techsoft3d.com/t/docker-question-with-ssr-for-communicator-scs/4474/3 "2025-03-21T14:08:21Z")

</div>

Tino,

Good call but I am still seeing the same problem. On my bare metal Linux box, I setup everything. I got it working fine when ssrUseEgl: false is set in the Config.js. When I switch this to ssrUseEgl: true, then I get the exact same error message I reported above. Note that the Docker container also runs on this same machine (for now) - so they are using the same GPU. This Linux box is not headless, but the container will eventually be deployed to a headless server. Thus, I believe I have to use the EGL settings for OpenGL (at least that is what I interpreted from the youtube training video [https://www.youtube.com/watch?v=E6bce\_iaeh0](https://www.youtube.com/watch?v=E6bce_iaeh0)). That is why I am enabling the EGL flag in the Docker container.

Thanks.

-jeff

---

<div class="post-metadata">

**Author:** ![tino](https://avatars.discourse-cdn.com/v4/letter/t/9dc877/32.png) [@tino](https://forum.techsoft3d.com/u/tino)\
**Post date:** [March 21, 2025, 3:22pm UTC](https://forum.techsoft3d.com/t/docker-question-with-ssr-for-communicator-scs/4474/4 "2025-03-21T15:22:07Z")

</div>

Thanks for doing the additional testing on your end, Jeff.

In the video you referenced, on timestamp ~28:42, Robert Tadlock, the video host, talks about installing the NVIDIA container toolkit as a prerequisite. Has this been installed in your Docker build?

---

<div class="post-metadata">

**Author:** ![jeff.walrath](https://avatars.discourse-cdn.com/v4/letter/j/94ad74/32.png) [@jeff.walrath](https://forum.techsoft3d.com/u/jeff.walrath)\
**Post date:** [March 21, 2025, 3:51pm UTC](https://forum.techsoft3d.com/t/docker-question-with-ssr-for-communicator-scs/4474/5 "2025-03-21T15:51:58Z")

</div>

Tino,

Ok here is what I have found. FYI - in my past experiences, I have always installed all the Docker and NVIDIA-docker stuff via ‘apt’. This particular machine I am using was setup by someone else where Docker was installed with ‘snap’. It appears that the NVIDIA toolkit is there, just in a different location (e.g. it is at /var/lib/snapd/hostfs). In my past experiences when NV-Container-toolkit is installed with ‘apt’ it was at /usr/local/nvidia. All the libs are also in that different snap dir (and the ldconfig has the proper locations)

I can do a nvidia-smi (just not the same way it is done in the youtube because I think that was installed via ‘apt’). When corrected for the path, nvidia-smi does run and produce the proper output for NVIDIA Container Toolkit. Will the different way of Docker install on the host cause this issue? Obviously some of the paths are different. So far that is the only issue I have found different from the youtube video.

var/lib/snapd/hostfs/usr/lib/x86\_64-linux-gnu: (from /etc/ld.so.conf.d/nvcr-3192921805.conf:1)  
libnvidia-glsi.so.535.230.02 → libnvidia-glsi.so.535.230.02  
libnvidia-allocator.so.1 → libnvidia-allocator.so.535.230.02  
libnvidia-ptxjitcompiler.so.1 → libnvidia-ptxjitcompiler.so.535.230.02  
libnvidia-ml.so.1 → libnvidia-ml.so.535.230.02  
libnvidia-fbc.so.1 → libnvidia-fbc.so.535.230.02  
libGLESv2\_nvidia.so.2 → libGLESv2\_nvidia.so.535.230.02  
libnvidia-pkcs11-openssl3.so.535.230.02 → libnvidia-pkcs11-openssl3.so.535.230.02  
libnvidia-eglcore.so.535.230.02 → libnvidia-eglcore.so.535.230.02  
libnvidia-tls.so.535.230.02 → libnvidia-tls.so.535.230.02  
libnvidia-glvkspirv.so.535.230.02 → libnvidia-glvkspirv.so.535.230.02  
libGLX\_nvidia.so.0 → libGLX\_nvidia.so.535.230.02  
libnvidia-cfg.so.1 → libnvidia-cfg.so.535.230.02  
libnvidia-opencl.so.1 → libnvidia-opencl.so.535.230.02  
libnvidia-ngx.so.1 → libnvidia-ngx.so.535.230.02  
libnvidia-rtcore.so.535.230.02 → libnvidia-rtcore.so.535.230.02  
libnvoptix.so.1 → libnvoptix.so.535.230.02  
libnvidia-egl-gbm.so.1 → libnvidia-egl-gbm.so.1.1.0  
libnvidia-nvvm.so.4 → libnvidia-nvvm.so.535.230.02  
libEGL\_nvidia.so.0 → libEGL\_nvidia.so.535.230.02  
libnvidia-glcore.so.535.230.02 → libnvidia-glcore.so.535.230.02  
libnvidia-opticalflow.so.1 → libnvidia-opticalflow.so.535.230.02  
libGLESv1\_CM\_nvidia.so.1 → libGLESv1\_CM\_nvidia.so.535.230.02  
libnvidia-encode.so.1 → libnvidia-encode.so.535.230.02  
libnvcuvid.so.1 → libnvcuvid.so.535.230.02  
libnvidia-pkcs11.so.535.230.02 → libnvidia-pkcs11.so.535.230.02  
/sbin/ldconfig.real: /lib/x86\_64-linux-gnu/ld-linux-x86-64.so.2 is the dynamic linker, ignoring

-jeff

---

<div class="post-metadata">

**Author:** ![jeff.walrath](https://avatars.discourse-cdn.com/v4/letter/j/94ad74/32.png) [@jeff.walrath](https://forum.techsoft3d.com/u/jeff.walrath)\
**Post date:** [March 21, 2025, 4:14pm UTC](https://forum.techsoft3d.com/t/docker-question-with-ssr-for-communicator-scs/4474/6 "2025-03-21T16:14:52Z")

</div>

Tino,

Just for kicks - I am going to reinstall Docker using the ‘apt’ approach instead of ‘snap’ and see if that works. Seems like a long shot, but I guess it is worth a shot.

-jeff

---

<div class="post-metadata">

**Author:** ![jeff.walrath](https://avatars.discourse-cdn.com/v4/letter/j/94ad74/32.png) [@jeff.walrath](https://forum.techsoft3d.com/u/jeff.walrath)\
**Post date:** [March 21, 2025, 5:02pm UTC](https://forum.techsoft3d.com/t/docker-question-with-ssr-for-communicator-scs/4474/7 "2025-03-21T17:02:46Z")

</div>

Tino,

Afraid changing to ‘apt’ installed docker did not change anything. I was able to call nvidia-smi just like in the youtube video and confirmed the NVIDIA Container toolkit is in fact working.

-jeff

---

<div class="post-metadata">

**Author:** ![rtadlock](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.techsoft3d.com/rtadlock/32/14_2.png) [@rtadlock](https://forum.techsoft3d.com/u/rtadlock)\
**Post date:** [March 21, 2025, 5:31pm UTC](https://forum.techsoft3d.com/t/docker-question-with-ssr-for-communicator-scs/4474/8 "2025-03-21T17:31:01Z")

</div>

Hi Jeff,

I’m the one that created the original docker/SSR video you linked to. Can you please tell me what version of HOOPS Communicator you’re running? I’m going to try and run with EGL on my linux machine and see if I can reproduce what you’re seeing.

---

<div class="post-metadata">

**Author:** ![jeff.walrath](https://avatars.discourse-cdn.com/v4/letter/j/94ad74/32.png) [@jeff.walrath](https://forum.techsoft3d.com/u/jeff.walrath)\
**Post date:** [March 21, 2025, 6:08pm UTC](https://forum.techsoft3d.com/t/docker-question-with-ssr-for-communicator-scs/4474/9 "2025-03-21T18:08:49Z")

</div>

Hi there rtadlock,

Appreciate the help.

Note that I am copying the HOOPS Communicator code (for an SC server) into the container due to restrictions on how customer wants the container delivered. In the video, the HOOPS code was outside the container (I don’t think that should matter). I am using the Config.js that works on the bare metal and only change ssrUseEgl to true in the container. I basically just copy the bare metal code into the container and change that one setting in Config.js. I use the same URL to connect to the server between bare metal and the container. I am trying to eliminate as many potential errors as possible per the help I have gotten so far.

We have the code organized slightly differently than the tarball, and it works on the bare metal with our organization other than the ssrUseEgl setting.

Note that I am running SCS on Linux box and hitting it from my Windows laptop using Chrome in both test cases (e.g. bare metal and container).

So I am using:

1. HOOPS\_Communicator\_2024.8.0
2. Docker 28.0.2
3. Host computer OS: Ubuntu 22.04.5 LTS

Here is the docker startup for my image:

docker run --gpus all -p 11000-11032:11000-11032 -p 11180-11182:11180-11182 hoops\_ssr

> ts3d-node-server@1.0.0 start /opt/NLIGN/modelstreaming/server/linux64  
> node --expose-gc ./lib/Startup.js

3/21/2025, 6:01:34 PM:info: File logging enabled at /root/ts3d\_communicator\_logs/comm\_server\_2025\_03\_21\_18\_01\_34\_22.log  
3/21/2025, 6:01:34 PM:info: Start Time Local: 3/21/2025, 6:01:34 PM, ISO: 2025-03-21T18:01:34.594Z  
3/21/2025, 6:01:34 PM:info: file-server websocket proxy enabled: proxy-URI=ws://galactus:11180  
3/21/2025, 6:01:34 PM:info: spawn-server websocket proxy enabled: proxy-URI=ws://galactus:11182  
3/21/2025, 6:01:34 PM:info: Periodic GC enabled every 30 seconds  
3/21/2025, 6:01:34 PM:info: HTTP file-server listening: port=11180, SSL=false  
3/21/2025, 6:01:34 PM:info: Server help available via HTTP GET to endpoint api/help. ex:  
3/21/2025, 6:01:34 PM:info: curl [http://127.0.0.1:11182/api/help](http://127.0.0.1:11182/api/help)  
3/21/2025, 6:01:34 PM:info: REST spawn-server listening: port=11182, SSL=false

Successfully started HOOPS Communicator Viewer Services. Press the ‘enter’ key to stop.  
3/21/2025, 6:05:19 PM:info: ts3d\_sc\_server spawned: pid=33, id=1a760c29-a626-4b32-a14a-942057428596  
3/21/2025, 6:05:19 PM:info: ts3d\_sc\_server ready to stream: id=1a760c29-a626-4b32-a14a-942057428596  
3/21/2025, 6:05:21 PM:info: ts3d\_sc\_server died: pid=33, id=1a760c29-a626-4b32-a14a-942057428596  
3/21/2025, 6:05:21 PM:warn: ts3d\_sc\_server failed: reason=‘exited because of signal=SIGSEGV, no exit-code’, id=1a760c29-a626-4b32-a14a-942057428596

These are some of the base images I tried:

# Use this for the base OS

#FROM nvidia/cuda:12.8.1-runtime-ubuntu24.04  
#FROM nvidia/opengl:1.1-glvnd-runtime-ubuntu16.04  
#FROM nvidia/opengl:1.2-glvnd-runtime-ubuntu20.04  
FROM nvidia/opengl:1.2-glvnd-runtime-ubuntu22.04

# another test has the glvnd for NVIDIA

#FROM nvidia/cudagl:11.4.2-runtime-ubuntu20.04

Thanks

-jeff

---

<div class="post-metadata">

**Author:** ![rtadlock](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.techsoft3d.com/rtadlock/32/14_2.png) [@rtadlock](https://forum.techsoft3d.com/u/rtadlock)\
**Post date:** [March 21, 2025, 7:42pm UTC](https://forum.techsoft3d.com/t/docker-question-with-ssr-for-communicator-scs/4474/10 "2025-03-21T19:42:38Z")

</div>

Hi Jeff,

I’m not able to get SSR working with EGL on my Ubuntu machine (it appears you weren’t either) and I think this might be an issue with our EGL implementation rather something going on with docker/nvidia toolkit, etc. Tino and I will ask our development team for some guidance here and get back to you.

---

<div class="post-metadata">

**Author:** ![jeff.walrath](https://avatars.discourse-cdn.com/v4/letter/j/94ad74/32.png) [@jeff.walrath](https://forum.techsoft3d.com/u/jeff.walrath)\
**Post date:** [March 22, 2025, 12:11am UTC](https://forum.techsoft3d.com/t/docker-question-with-ssr-for-communicator-scs/4474/11 "2025-03-22T00:11:45Z")

</div>

Thanks Robert. I appreciate all the support and help everyone has provided today.

Have a good weekend.

-jeff

---

<div class="post-metadata">

**Author:** ![jeff.walrath](https://avatars.discourse-cdn.com/v4/letter/j/94ad74/32.png) [@jeff.walrath](https://forum.techsoft3d.com/u/jeff.walrath)\
**Post date:** [March 25, 2025, 1:35pm UTC](https://forum.techsoft3d.com/t/docker-question-with-ssr-for-communicator-scs/4474/12 "2025-03-25T13:35:05Z")

</div>

Hello,

I wanted to check on the status of this issue. Were there any suggestions or possible workarounds? Should I create a bug report?

Thanks.

-jeff

---

<div class="post-metadata">

**Author:** ![tino](https://avatars.discourse-cdn.com/v4/letter/t/9dc877/32.png) [@tino](https://forum.techsoft3d.com/u/tino)\
**Post date:** [March 25, 2025, 1:51pm UTC](https://forum.techsoft3d.com/t/docker-question-with-ssr-for-communicator-scs/4474/13 "2025-03-25T13:51:16Z")

</div>

Hello @jeff.walrath,

After some additional investigation on our end, it does look like there is a bug with using EGL and SSR. This issue does not look like it is just Docker.

While the investigation is still ongoing, it would probably be best if you could create a support ticket. I believe you should have access to the [Jira Support Portal](https://partner.support.techsoft3d.com/servicedesk/customer/portal/12). If not, I can create a support ticket on your behalf.

Thanks,  
Tino

---

<div class="post-metadata">

**Author:** ![jeff.walrath](https://avatars.discourse-cdn.com/v4/letter/j/94ad74/32.png) [@jeff.walrath](https://forum.techsoft3d.com/u/jeff.walrath)\
**Post date:** [March 25, 2025, 2:24pm UTC](https://forum.techsoft3d.com/t/docker-question-with-ssr-for-communicator-scs/4474/14 "2025-03-25T14:24:10Z")

</div>

Hey Tino,

Thanks for the quick response. I have submitted a bug report as suggested. I referred back to this forum thread for more details while also pasting some of the info from here.

-jeff
