Updated: January 22, 2024
I like to do 3D. Draw, render, you name it. My favorite combo pair of programs is SketchUp Make 2017 and Kerkythea Echo Boost. Both these are older applications, but hey, they work great, and best of all, they work superbly in Linux. Very important, if you're planning a migration away from Windows, like I am. It's an adventure I started some time ago, and it's going brilliantly, faster and more smoothly than expected.
Today, I want to share another Linux setup & compatibility article with you. Namely, how to configure Maxwell Render in Linux. Now, on its own, this is no biggie. Maxwell has a native build for Linux. But, the SketchUp plugin is not designed for Linux. Therefore, it will be interesting to see how far we get. On top of that, I will discuss HD/UHD scaling in the Plasma desktop, CPU/GPU acceleration for rendering, and then some. Let's begin.
Maxwell Render ain't no stranger
Back in 2013, I looked at this 3D rendering software and reviewed it here on Dedoimedo. I found the program quite interesting, and now, I'm seriously considering buying a license. There are many reasons why one might choose this program. Native build, good licensing model, GPU support. If you have a powerful graphics card, you can use it to render your models much faster than using the CPU. Indeed. All right, convinced.
Native build installation
Very easy, very straightforward. The native build is a zip archive. Open it, run it, done. That's all. The main binary is called studio, so if you place the application bundle under something like /home/dedoimedo/maxwell, then to run the program, you will invoke:
And it works great. You get both CPU and GPU acceleration. Setting up a demo license was quick and simple.
SketchUp plugin & Windows build through WINE
We will talk some more about the wonders of Maxwell Render a bit later. Now, if you want to export your SketchUp models to Maxwell, you will need the official plugin. SketchUp does not natively support the MXS file format that the latter uses. Grab the installer link from Maxwell (you need to fill in a form), and then wine it:
wine "Maxwell Render SketchUp exe"
The installation is a bit convoluted, as there are multiple components you need to install. Furthermore, the license setup will not work right away. It will fail, but don't worry, we will fix this shortly.
After you complete the installation and launch SketchUp, you will notice the Render buttons on the Maxwell extension toolbar are grayed out. This indicates your license is invalid or expired (for whatever reason).
If you launch SketchUp from the command line (wine sketchup), then you will see the following error:
Using standard license path : C:\ProgramData\Next Limit\Maxwell\licenses\v5.
Couldn't get license for maxwell_node, error code was : No license for product
Let's try with alternate product
Couldn't get license for alternate product, error code was : No license for product
Failed to check out license:
Indeed, I have created and placed the demo licensed in a random folder under my /home, definitely not inside the wine filesystem structure. Repeating the process won't help either.
The solution is to navigate to the path above (in absolute WINE terms), and copy the demo license file (.lic) there. It will be something like (depending on the version of the program that is):
/home/[your username]/.wine/drive_c/ProgramData/Next Limit/Maxwell/licenses/v5/
Once you copy the license file there, restart SketchUp, and everything will be fine:
And it works fantastically:
SketchUp plugin rendering limitations, CPU only
I noticed that exported models are being rendered using CPU only - no GPU. To check whether this is a bug that is specific to my Linux/WINE configuration, or something inherent to Maxwell Render, I installed a demo version in a Windows 10 machine. Here, too, I noticed that when you invoke the program from SketchUp, it only uses the CPU (and only sees the CPU), but if you manually launch the Studio, both in Windows AND Linux, then you get the GPU render option.
Indeed, in Windows, only the CPU Draft/Production engine was available (when invoked from SketchUp):
Maybe I'm using it wrong, but those are my findings, for now. Again, via SketchUp, CPU only. Manually invoke the program, GPU rendering is available. This does not seem to be a limitation of WINE in any way.
How well does the SketchUp plugin work in Linux?
Pretty good, but not perfect. You can export and render your models, you can also use the Material Editor, which is quite powerful and handy. However, the Scene Manager as well as Maxwell Grass and Sea don't render correctly. In Windows yes, in Linux, you only get blank white UIs.
And in Windows, for instance:
I looked at the relevant WINE errors, and they seem to be related to MSHTML rendering. In other words, the plugin uses components of the Internet Explorer engine that Gecko (the WINE engine) does not support, and thus cannot display correctly. At the time of writing, I've not been able to solve this. But, there's hope in the offing. Among other things, WINE had a brand new major release. Indeed, WINE 9.0 extends the MSHTML rendering support through Gecko. We shall test very, very soon.
00d4:fixme:mshtml:DocObjOleControl_OnAmbientPropertyChange not supported AMBIENT_USERAGENT
The alternative is to manage your model scenes (and materials) through the Studio, but that can be somewhat less convenient. However, it works just fine, and the materials are correctly represented in Maxwell Render after export. But you can apply materials through SketchUp, too - more on that in a separate article.
The Materials Editor is available as a standalone program, too.
I noticed that Maxwell was showing up "funny" on my machine, with an over-sized UI that looked truncated and pixelated. You can work this way, but you don't fully see all of the elements, and that can be a bit annoying. To make it worse, I noticed this effect both in the native build and the SketchUp-invoked renders.
It took me a little bit of time (not too much) to figure out why. Alas, this seems to be a direct artifact of me using desktop scaling AND WINE scaling, which help make things more visible on the laptop's relatively small screen. Specifically, on my Titan machine, which comes with a 2560x1440px display on just 14 inches of diagonal equity, I use a 125% scale factor for my desktop and 144dpi configuration for WINE programs (instead of default 96). This means things are bigger than they "ought" to be, and this messes up how Maxwell Render looks.
The workarounds are as follows:
- For the native build, Launch Maxwell Render with QT_SCALE_FACTOR=0.XX to compensate for the desktop scaling. I have outlined this trick in my HD & snaps tutorial. You can try 0.65, 0.5, whatever you like. I found that 0.6-ish seems to offer a reasonable compromise between visibility of the program's UI and having all of the buttons actually visible and usable. You can then add this to your application launcher shortcut or whatnot.
QT_SCALE_FACTOR=0.5 "path to Maxwell Studio"
- For WINE, you can either change the dpi whenever you launch the Studio, but this will affect all of your other WINE programs, too. Alternatively, install SketchUp (and Maxwell Render) in a separate WINE prefix, and configure the scaling for those two programs separately of the rest of your Windows software.
There you go. This ain't a perfect tutorial, as it covers only 92% of functionality. I still haven't figured out how to properly invoke and use the Scene Manager and several other SketchUp plugin elements when running through WINE. Everything else works majestically. The native build, the Windows build, desktop scaling, the whole thing. I am quite impressed, I must say. It's nice to be able to utilize the GPU properly. Hint, it gives roughly 8-10x render speed boost compared to the 16-core CPU. I like, verinajs.
I've always liked Maxwell Render, and now I have an extra incentive to get it, also because the company offers native Linux versions. That's always a cool thing, and makes me happier in my slow and steady journey of getting away from Windows. But then, I love SketchUp, too, and being able to export models is a must. The basic functionality is there, so great. Now, I intend to resolve the blank windows issues soon, and I'd also like to tell you how to optimize Maxwell (and by proxy SketchUp) for hybrid graphics setups. But that's for later. Anyway, enough for today. Oh, check my 3D models section, if you like. See you around.