I am currently developing utility commands using artificial intelligence. During my research, I’ve made several observations:
Microsoft is working with Ubuntu for Linux integration in Windows.
Some NVIDIA open-source projects provide precompiled libraries only for Linux.
Some official NVIDIA documentation explicitly recommends using Ubuntu.
NVIDIA Jetson boards (Nano, Xavier, Orin, Thor, etc.) run Linux as their OS, and DGX Spark also runs on Ubuntu.
It therefore seems that driver support for graphics cards is complete on Linux (at least for NVIDIA).
On your side:
you already have a cross-platform frontend with Eto,
Python and .NET are supported for scripting,
and RhinoCompute is clearly designed to run on servers.
So, is it conceivable that one day we might see Rhino on Linux?
Given my repeated frustrations with certain aspects of Windows, I would gladly switch my primary operating system to Linux. Right now, the only software keeping me tied to Windows is Rhino.
I imagine you’ve already discussed internally the idea of porting Rhino to Linux, but based on my findings I thought it was worth raising the point again.
At the moment, I’m able to use AI to segment meshes or recognize simple surfaces (plane, sphere, cylinder, etc.). At the pace things are moving, it’s certain that in 3 to 5 years AI will enable us to do much more in 3D. We already see a multitude of AI services running on Linux servers powered by NVIDIA GPUs.
I sincerely believe that at the very least RhinoCompute should be able to run on Linux…
I’ve been able to get pretty decent support in the past for linux with wine and Rhino 5, but never without troubles or instability, and wine support broke with Rhino 6, and I gave up after that.
NVIDIA desktop drivers for linux are always problematic and a pain to get working reliably, and the diversity of distributions and combination of requirements is generally a pretty big hurdle to deploy this reliably.
RhinoCompute on linux would make a lot of sense, but I can imagine that it’s hard to prioritize this for McNeel.
But on the flip side, lots of work was done on porting the difficult parts (ETO, WinForms). Rhino was successfully ported to Mac, so it’s certainly possible, and bits and parts are cross platform and open source, including the awesome work by @nathanletwory on porting the blender render engine to Rhino.
Thanks for your reply. I admit that my use of Linux is never in graphical/desktop mode.
Since NVIDIA is now releasing complete computers running Ubuntu, and I’ve read here and there that they recommend this OS, I was wondering if you’ve experienced the same issues with Ubuntu and the NVIDIA 50-series GPUs?
Compared to AMD, NVIDIA drivers are not open source, making it harder for distribution makers to include them by default. So the experience is a bit like the good old windows 95 days where you need to download the correct drivers, and then they’re working nicely with for example wayland or stuff like that.
Also, NVIDIA’s got some bad blood with a lot of the community for not really cooperating with making functional open source drivers.
This is mainly about desktop, and not server usage, where it’s already a bit less complicated, but still convoluted compared to AMD’s graphic cards.
Hello Brian, Windows has been frustrating me lately. I often feel like it just does whatever it wants. As for Apple… well, let’s just say they don’t like to play well with others.
But this message isn’t really about me. there are always workarounds. For example, I bought an iPad Pro solely to use NomadSculpt (50$ for the app + 2000$ for the tablet). In the same way, I could buy a Windows PC or a Mac just to run RhinoCompute and place it next to my Linux server.
What interests me most in Rhino is its ability to open a wide range of formats (3dm, step, igs, stl, fbx, obj, etc.), perform simple 3D operations, and extract statistics (volume, number of parts, etc.). However, having to buy a second machine solely to run Rhino/Compute remains a burden, both in terms of infrastructure and cost. (But I think I’ll mainly invest in a solution that is compatible with Linux, there are alternatives to RhinoCompute)
My main intention here is simply to share an observation after exploring various codebases. We can clearly see the rise of web services based on AI, and we’re only at the beginning of their integration into businesses. Since the global server infrastructure is predominantly Linux-based, I thought this message might be relevant to you.
I don’t think you’ve been reading the threads calling for a Linux version with enough attention. It is not just about the operating system, but also about the companies behind the products - Microsoft and Apple are the same for many people who are calling for Linux.
Instead of buying another whole machine you can increase memory on your current machine to the max, get a second GPU and another big drive. Then set up a virtual machine with QEMU/KVM with PCI passthrough - you’ll have a Windows environment inside your Linux in which you can run Rhino on pretty much native speed. Just set up the network for the virtual machine correctly and you’ll have your compute. If you don’t need the GUI part then you can obviously skip the second GPU part.
I actually tried the opposite approach, running Linux libraries inside WSL2. Even though Microsoft worked with Ubuntu for WSL2, I have a lot of issues with GPU access (and in any case, it would still require a Windows server once in production).
My only real Linux experience is with Raspberry Pi, so … but indeed, the QEMU option is worth considering.
My idea would be to analyze old client files, extract statistics (shape complexity, volumes, etc.), combine them with results data (modeling time, invoiced price), and train a model capable of estimating project complexity for non-technical people (such as sales teams). To do this, I would need a 3D manipulation library (Rhino remains my natural choice) and 3D volume inference tools (segmentation, simple surface recognition).
All of this is still experimental, and it’s very complex for a simple tool (I know ). But I believe AI will become as widespread as websites or smartphones, and if I don’t want to end up like a mechanic lost in the wake of automotive electronics, I must explore this.
For testing, I can use GPU cloud services. However, in production, our projects involve confidential data; therefore, an internal server is essential.
Linux is now the standard platform for server and cloud deployment, and RhinoCompute bills itself as a “REST geometry server.” The connection seems obvious…
I understand that fully porting RhinoCompute to Linux is not easy. But official support of QEMU / LXC(VM) could be a useful step.
btw, this and some other discussions I’ve had recently with some friends prompted me to look a bit deeper into how LLMs are trained at scale, since they obviously use of NVIDIA GPUs running on Linux on x86_64 systems and often on AMD CPUs. I always heard the compatibility with NVIDIA drivers and Linux is tricky, and several years ago with some students we had a really tough time doing this. But obviously there are compatible drivers, albeit probably on very specific hardware and software versions, because this is what is used to train LLMs at scale.
Rhino.Compute is a dotnet application that has been updated to run on dotnet core. It is a web server and does not depend on anything specifically available only on Windows. This is indeed easy. This is not where the issue is.
I would very much be interested in a linux version of Rhino, primarily for the functionality Grasshopper provides compared to other CAD programs. However due to not being able to use Rhino on linux, its forced me to use FreeCAD and I gotta say its rapidly improving and making me question keeping a windows pc around just for Rhino.
Would take years of testing to get Linux + Rhino working - unless the market demanded it, it would be uneconomic for McNeel to do so.
I’d rather see them spend the money and time on developing a full suite of AI+python tools and integrations into Rhino with windows.
That would be a game changer - i.e., Imagine a future where architects have round table discussions about a project - the meeting is actively being recorded - A Large-language model working away in the background transliterating and interpreting the conversation:
“RhinoAi” generating forms, plans, sections, reports etc.,. to present back to the architects for discussion and evaluation…..