Bug - Rhino Crash on startup - Rhino Cycles - eGPU setup

Hi guys,

I recently ran into some issues with a new Laptop + eGPU setup where Rhino would crash on startup when the eGPU is not connected.
I think I narrowed this down to the Rhino Cycles plugin. Rhino starts normally when this is disabled and crashes as soon as I load the plugin when Rhino is already running.

I’m running a Win Laptop with an Intel Iris chip graphics chip and an external nVidia GPU.

Not sure how I can get the startup logs.

Hi Stefan -

I’m not seeing any crash reports from you. Is the crash reporter popping up when Rhino crashes?

What happens when you reboot and then launch Rhino? Does that also crash?

When you get Rhino to run, please run the Rhino SystemInfo command and copy-paste the result here.
-wim

Hi Wim,

the crash reporter is not starting after Rhino crashes.
Rebooting does not change anything.

here is the Sysinfo when the eGPU is unplugged.

loading Rhino Cycles from the plugin manager at this state crashes Rhino

Rhino 7 SR30 2023-6-12 (Rhino 7, 7.30.23163.13001, Git hash:master @ f695e494df78377a81b2b95edb99c6067e324b33)
License type: Kommerziell, build 2023-06-12
License details: Cloud Zoo

Windows 11 (10.0.22621 SR0.0) or greater (Physical RAM: 16Gb)

Computer platform: LAPTOP  - Unplugged [98% battery remaining]

Standard graphics configuration.
  Primary display and OpenGL: Intel(R) Iris(R) Xe Graphics (Intel) Memory: 1GB, Driver date: 8-20-2021 (M-D-Y). OpenGL Ver: 4.6.0 - Build 30.0.100.9864
    > Integrated graphics device with 4 adapter port(s)
        - Windows Main Display is laptop's integrated screen or built-in port

OpenGL Settings
  Safe mode: Off
  Use accelerated hardware modes: On
  Redraw scene when viewports are exposed: On
  Graphics level being used: OpenGL 4.6 (primary GPU's maximum)
  
  Anti-alias mode: 4x
  Mip Map Filtering: Linear
  Anisotropic Filtering Mode: High
  
  Vendor Name: Intel
  Render version: 4.6
  Shading Language: 4.60 - Build 30.0.100.9864
  Driver Date: 8-20-2021
  Driver Version: 30.0.100.9864
  Maximum Texture size: 16384 x 16384
  Z-Buffer depth: 24 bits
  Maximum Viewport size: 16384 x 16384
  Total Video Memory: 1 GB

Rhino plugins that do not ship with Rhino

Rhino plugins that ship with Rhino
  C:\Program Files\Rhino 7\Plug-ins\Commands.rhp	"Commands"	7.30.23163.13001
  C:\Program Files\Rhino 7\Plug-ins\rdk.rhp	"Renderer Development Kit"	
  C:\Program Files\Rhino 7\Plug-ins\RhinoRenderCycles.rhp	"Rhino Render"	7.30.23163.13001
  C:\Program Files\Rhino 7\Plug-ins\rdk_etoui.rhp	"RDK_EtoUI"	7.30.23163.13001
  C:\Program Files\Rhino 7\Plug-ins\rdk_ui.rhp	"Renderer Development Kit UI"	
  C:\Program Files\Rhino 7\Plug-ins\Toolbars\Toolbars.rhp	"Toolbars"	7.30.23163.13001
  C:\Program Files\Rhino 7\Plug-ins\3dxrhino.rhp	"3Dconnexion 3D Mouse"	


With the eGPU connected go to Tools > Options > Cycles and select CPU as your rendering device. See if that helps.

Hi Nathan,

I checked the CPU renderer then restarted rhino to confirm the setting is saved.
After unplugging the eGPU I tried starting rhino again and it crashes on startup like before, when loading the plugins

Edit: please try updating your GPU drivers first, they’re pretty old. And while you are at it make sure all Windows 11 updates have been installed.

If that doesn’t do it:

Please try creating an empty file called disable_gpus in the location %APPDATA%\Rhinoceros\7.0\Plug-ins\RhinoCycles (9bc28e9e-7a6c-4b8f-a0c6-3d05e02d1b97)\settings

Then start Rhino again.

I updated the drivers with no effect

adding the “disable_gpus” file however will lets me start rhino without crashing

Just adding that Rhino8 will also crash on startup with an unplugged eGPU setup.

Disabling GPU rendering works but is hardly a solution

An unplugged eGPU setup - does that mean the eGPU is not connected at all? As in you just have the laptop with nothing connected to it?

I don’t have access to eGPU configurations to test and debug what you’re seeing. I have currently no good understanding what it means to have an unplugged eGPU setup.

What I mean is that I usually run rhino with an external GPU plugged into the laptop.

When I try starting Rhino when I don’t have the eGPU connected to the laptop, Rhino will crash while starting when trying to load the Rhino Cycles plugin.

When you disconnect your eGPU does windows still show a display adapter in the device manager?

I don’t see how else Rhino Cycles (or rather Cycles) would crash.

I wonder if Blender 3.5 also would crash if you first have it started with the eGPU connected, then close Blender, disconnect the eGPU and restart Blender.

I have nothing show up in the device manager (except onboard graphics). Unfortunately I don’t have Blender installed to test.

Could you also post the result of the Rhino command _SystemInfo when you do have the eGPU connected?

Also the results of the command RhinoCycles_ListDevices would be useful, please.

Blender you can download at https://download.blender.org/release/Blender3.5/blender-3.5.1-windows-x64.zip - just unzip somewhere and run from that folder. No need to install.

_SystemINfo (eGPU plugged in)

Rhino 7 SR36 2023-12-12 (Rhino 7, 7.36.23346.16351, Git hash:master @ 11a364321297eb8cdb34405a3308d8911f58706d)
License type: Kommerziell, build 2023-12-12
License details: Cloud Zoo

Windows 11 (10.0.22621 SR0.0) or greater (Physical RAM: 16Gb)

Computer platform: LAPTOP  - Plugged in [87% battery remaining]

Non-hybrid graphics configuration.
  Primary display and OpenGL: NVIDIA GeForce RTX 2060 (NVidia) Memory: 6GB, Driver date: 4-25-2023 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 531.79
    > Integrated accelerated graphics device with 4 adapter port(s)
        - Windows Main Display is laptop's integrated screen or built-in port

Secondary graphics devices.
  Intel(R) Iris(R) Xe Graphics (Intel) Memory: 1GB, Driver date: 8-20-2021 (M-D-Y).
    > Integrated graphics device with 4 adapter port(s)
        - Secondary monitor is laptop's integrated screen or built-in port

OpenGL Settings
  Safe mode: Off
  Use accelerated hardware modes: On
  Redraw scene when viewports are exposed: On
  Graphics level being used: OpenGL 4.6 (primary GPU's maximum)
  
  Anti-alias mode: 4x
  Mip Map Filtering: Linear
  Anisotropic Filtering Mode: High
  
  Vendor Name: NVIDIA Corporation
  Render version: 4.6
  Shading Language: 4.60 NVIDIA
  Driver Date: 4-25-2023
  Driver Version: 31.0.15.3179
  Maximum Texture size: 32768 x 32768
  Z-Buffer depth: 24 bits
  Maximum Viewport size: 32768 x 32768
  Total Video Memory: 6 GB

Rhino plugins that do not ship with Rhino

Rhino plugins that ship with Rhino
  C:\Program Files\Rhino 7\Plug-ins\Commands.rhp	"Commands"	7.36.23346.16351
  C:\Program Files\Rhino 7\Plug-ins\rdk.rhp	"Renderer Development Kit"	
  C:\Program Files\Rhino 7\Plug-ins\RhinoRenderCycles.rhp	"Rhino Render"	7.36.23346.16351
  C:\Program Files\Rhino 7\Plug-ins\rdk_etoui.rhp	"RDK_EtoUI"	7.36.23346.16351
  C:\Program Files\Rhino 7\Plug-ins\rdk_ui.rhp	"Renderer Development Kit UI"	
  C:\Program Files\Rhino 7\Plug-ins\RhinoCycles.rhp	"RhinoCycles"	7.36.23346.16351
  C:\Program Files\Rhino 7\Plug-ins\Toolbars\Toolbars.rhp	"Toolbars"	7.36.23346.16351
  C:\Program Files\Rhino 7\Plug-ins\3dxrhino.rhp	"3Dconnexion 3D Mouse"	
  C:\Program Files\Rhino 7\Plug-ins\Displacement.rhp	"Displacement"	

RhinoCycles_ListDevices (eGPU plugged in)

We have 3 devices
----------
	Device 0: CPU > 11th Gen Intel Core i7-1165G7 @ 2.80GHz > 0 | False | False | CPU
	Device 1: CUDA_NVIDIA GeForce RTX 2060_0000:23:00 > NVIDIA GeForce RTX 2060 > 0 | False | False | CUDA
	Device 2: CUDA_NVIDIA GeForce RTX 2060_0000:23:00_OptiX > NVIDIA GeForce RTX 2060 > 0 | False | False | Optix
----------

With Blender 3.5
Unpluging eGPU while running will crash
Starting in unplugged state will work
Plugging in eGPU while running will work

Thank you for the information, I have to think a bit more about this.

1 Like

@blind when the crash happens do you ever get the Rhino Crash Reporter dialog presented? If you do please submit a crash report with in the comments a link to this topic.

Furthermore, after a crash can you check your desktop for a RhinoCrashDotNet.txt (or similarly named .txt file) with a timestamp that matches the time you crashed. Could you attach that to a reply here?

I have logged this as RH-79798 RhinoCycles crashes Rhino on startup with disconnected eGPU, so that if and when a fix is found this thread will also be notified.

Sorry, I don’t get any Crash reports or txt dumps when that happens.

Thanks, I’ve asked a collegue to try and reproduce this with his eGPU equipment and generate me some callstacks that I can investigate.

1 Like

Why?

With the eGPU unplugged, there is basically no discrete GPU in your system, only the CPU. Disabling GPU rendering in this case does not and will not make any difference in rendering speeds, but it does apparently prevent you from crashing…so to me, that sounds like a pretty good stop-gap solution until we can figure out what’s really crashing Rhino on your system.

Note: The Intel Iris is not used in the way you might think when it comes to Rendering… A non-discrete GPU is simply ignored and CPU rendering is used.

I’d like clarification here (I’ve read this entire thread, but I still want to make sure)…

  1. With the eGPU plugged in, Rhino never crashes? Yes? No?
  2. With the eGPU unplugged, Rhino always crashes? Yes? No?

I think that the usage of an eGPU here is just a red herring, and that these crashes have nothing to do with the eGPU or the GPU inside it… It has more to do with starting Rhino on a laptop that contains only a non-discrete GPU (i.e. Intel CPU).

Thanks,
-Jeff