Skip to content

Instantly share code, notes, and snippets.

@aaronsb
Last active March 10, 2025 13:20
Show Gist options
  • Save aaronsb/15d25df0b718f3f9cc342589f3dfb7b8 to your computer and use it in GitHub Desktop.
Save aaronsb/15d25df0b718f3f9cc342589f3dfb7b8 to your computer and use it in GitHub Desktop.
Rhino3D 7 on Linux

Install Rhino 7 on Ubuntu based OS (KDE on Ubuntu Noble in this case) I used Wine 9.10 (Staging)

This assumes a non existant wine prefix or even a wine installation. If you have an existing wine prefix there may be things that interfere with this guide.

  • Start by installing wine and some required adjacent libraries.

sudo apt install wine wine32 winetricks mono-complete winbind

  • Initialize your default Wine environment (which will be located under ~/.wine

wineboot -u

  • install gecko browser for wine (required for license config to work)

mkdir ~/.cache/wine

cd ~/.cache/wine

wget http://dl.winehq.org/wine/wine-gecko/2.47.2/wine-gecko-2.47.2-x86_64.msi

wget http://dl.winehq.org/wine/wine-gecko/2.47.2/wine-gecko-2.47.2-x86.msi

wineboot

  • various winetricks commands will log a lot of errors and warnings and yet still work. (Task Failed Successfuly?) so don't get too worried

winetricks --force dotnet48

  • Click "restart now" lol
  • kill all existing wine services so reg server doesn't get messed up.

kill -9 $(ps aux |grep -i '\.exe' |awk '{print $2}'|tr '\n' ' ')

  • Install needed fonts. (personally, I think the missing fonts seems to kill Rhino on Wine the most)

winetricks allfonts

  • A few more libraries to install here.

winetricks vkd3d dxvk gdiplus

  • Set offscreen rendering to backbuffer.

winetricks orm=backbuffer

  • Force wine to appear as Windows 10

Sometimes this hangs, so control-c to break back to terminal prompt if necessary.

wine winecfg -v win10

The only libraries in Wine Configuration (winecfg) should be the following:

  1. *gdiplus (native)

  2. *mscoree (native)

No other libraries should be present

  • Navigate to libraries and do the dirty work 🔪

winecfg

  • Set renderer to gdi - although Rhino still uses gpu acceleration? this part is magic to me. ✨

winetricks renderer=gdi

  • 🔪 Kill all existing remaining wine processes. This can be done in any terminal in your current session. (bash/zsh)

kill -9 $(ps aux |grep -i '\.exe' |awk '{print $2}'|tr '\n' ' ')

  • Download latest Rhino 7 installer and run it. (Filename might change here)

wine ~/Downloads/rhino_en-us_7.24.22308.15001.exe

  • Installer will appear to exit, but it won't actually - it leaves the installer stub and main installer running.
  • 🔪 Kill all remaining wine processes again. Do this from another terminal window if it pleases you. (bash/zsh)

kill -9 $(ps aux |grep -i '\.exe' |awk '{print $2}'|tr '\n' ' ')

  • A Rhino 7 shortcut should appear on your desktop, you can just use that link to start it after finishing this process.
  • Change to installed Rhino directory and run rhino

cd ~/.wine/drive_c/Program Files/Rhino 7/System

wine rhino.exe

  • First time running rhino.exe brings up the installer dialog (the one asking to reinstall or repair). I've tried this a few times and it's repeatable, so just close the dialog box with the upper right X. The web based license process will then proceed.
  • Type your email in and log in via your regular web browser

The license service is listening on tcp:1717 for the authorization string - depending on your system configuration (firewall), the request url to authorize the license will be an http on loopback tcp:1717, so that traffic needs to be allowed.

  • Answer/dismiss the usage tracking dialog
  • Run Grasshopper from within Rhino and select any example document to start it.
  • Grasshopper font mapper will announce that Segoe Print is not available. Confirm the suggested alternative, Tahoma

Now, use Rhino! Save your work often, this isn't a supported configuration and it could crash in unexpected ways. From this point, I have been using Rhino for some projects that aren't exotic - default out of the box features. It works for me so far without much drama.

You might want to change your UI DPI in winecfg (I brought mine up to 133 DPI for my 4K monitor), and definitely experiment with customizing the settings in UI and font to your taste.

Notes and ideas.

Using wine-staging (7.1) I can use vulkan, gl, gdi, or no3d. They all appear to have similar performance and all seem to use the gpu for in-UI viewport rendering. Using any other renderers causes various nterface artifacts such as black regions around some dialog and UI elements. Currently it seems using Vulkan has the least artifacts when using the application.

I definitely think staging 7.1 has less overall glitchy stuff going on such as viewport refresh issues.

I installed nvidia cuda support, and my system shows cuda available, but rhino does not detect cuda capability passeed to it from wine(-staging). I had read that staging has better cuda support.

Render command seems fairly broken. Doesn't matter if it's new render or old render method. Render UI has black button regions and other artifacts.

  • Get vulkan renderer to work
  • Get some sort of acceleration for cycles so rendering is useful.
  • Get the auto updater to auto update reliably.
@joakimmalare
Copy link

@pjhfggij Yes, Rhino 7. Rhino 8 is too unfinished for me to use comfortably (in Windows). The UI, bugs and a general feel of two steps back at little advantage overall compared to v7 made me leave it for a year or so.

Wine is a great accomplishment and aaronsb's guide made Rhino functional for me, although not stable. Stability and an uninterrupted workflow is important to me, so I'm migrating to other software actually made for Linux. I have used Rhino for 20 years, but it's not a holy grail...

@pjhfggij
Copy link

pjhfggij commented Aug 17, 2024

Rhino 8 is too unfinished for me to use comfortably (in Windows).

Well, you're not missing out much, Rhino 8 doesn't even run on wine at all right now 😅 I believe the one killer feature in Rhino 8 for me was incremental saving, which decreased time it took to save files on larger project by an order of magnitude (also Rhino versions are not forward compatible)

I didn't have a chance to use Rhino on Wine in production yet as well, mostly because most of the industry is moving towards IFC/BIM, but there are some instances, especially when using Grasshopper when having it at hand is useful (like modelling topographies).

image

@joakimmalare
Copy link

In case anyone gives up when the Rhino installer fails at something like "rhino.msi:-2147023293" - check whether dotnet48 was really installed (mscoree.dll in system32 etc). Wine-staging-9.10 apparently doesn't do that properly, so create the wineprefix and install dotnet with a stable wine package, then upgrade to staging. Worked for me.

@pjhfggij Yeah I use Grasshopper for many things and probably will via Wine when I have to. But for my line of work I reckon Blender Geometry Nodes can take it's place for many tasks. It crashes less often.

@tplaiho777
Copy link

REGEDITS for AMD

I used winetricks with renderer=opengl and following registry tweaks. I do not know if they really work and if they do maybe the impact is relatively small. But it feels nice.

However if you want to get rid of the black boxes of the tooltips you need to go to in wine to Desktop Integration toolbar and switch off the themes to none. Then you will get all tooltips working.

But I cant get these to work...
TOOLBARS
Toolbars are impossible to click. If somebody knows how to fix these I am all ears. Thank you in advance of all possible info.

@pjhfggij
Copy link

pjhfggij commented Sep 28, 2024

congrats @tplaiho777 , I can replicate your issue with toolbars menu entries being unresponsive to mouse clicks. If that's of any help, you can press spacebar to toggle them instead. Not sure what's causing it though.
image

@tplaiho777
Copy link

Thank you. Spacebar works with me also.

@Tower-Yikk
Copy link

Tower-Yikk commented Jan 22, 2025

Hello. I have managed to install rhino 7 however there's seems to be a problem with some tools. Using some simple commands, like polyline or rectangle initiates the command, but then I can't click a second time to finish the drawing which ends the command. I've had this issue in Ubunutu and Arch and installed through terminal wine and bottles. Have you ever had this issue? If so, what can I do to resolve this? I have to manually kill the program every time because I can't do anything else in Rhino.

@pjhfggij
Copy link

pjhfggij commented Feb 23, 2025

@Tower-Yikk what if you change registry key that disables theming in your wine installation, it's counterintuiitive, but it did help me solve a similar issue:
wine regedit
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ThemeManager
set it to 0

sorry about the late response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment