Updated: April 12, 2024
Today, I want to revisit an older topic, already covered here on Dedoimedo. Namely, how to install and configure SketchUp Make 2017 in Linux using WINE. If you're a fan of 3D drawing and such, SketchUp is a great way to create models before you export them to another program for rendering. However, it's also not a native Linux application, hence my guide on this topic.
We need to improve on that article, though. Ever so slightly. Simplify it, make it even more robust. Now, remember, the old tutorial still works. It's perfectly fine. Here, I just want to give you a mildly tweaked edition of it, so you can be 100% sure you get the best experience and compatibility with the program. Let's go.
SketchUp setup ingredients
Last time, I mentioned the components you will need:
- Download: SketchUp Make 2017 executable (if not available, try the Internet archive).
- Download: Microsoft .NET Framework 4.5.2 offline installer.
- Download: Visual C++ Redistributable for Visual Studio 2015.
In fact, you can try with just TWO of the components - SketchUp will install its own VC runtime. Therefore, you only need to execute two commands. And then, carefully read and acknowledge all the different prompts that may come up, including the installation of Gecko and alike. In other words, follow the wizards and click Yes.
wine "dotnet offline installer exe"
wine "sketchup exe"
Optional: Various extensions
SketchUp also supports plugins. Mostly, these come in the form of Ruby script that allow you to export your models to various rendering programs. I've covered Kerkythea, LuxCoreRender, and Maxwell Render, to name a few. The installation and configuration of these plugins ranges from trivial to complicated. Just to be clear, there are two primary ways you can configure these extensions in Linux:
- You run their standalone installers (say exe file) and follow instructions.
- You can manually copy the relevant plugin bundle (Ruby script files) into the SketchUp folder.
The latter is done as follows. Simply open the following path (file manager or command line), and copy your plugin contents there:
~/.wine/drive_C/users/[your username]/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins
Optional: Improved MSHTML compatibility
I've covered this in my guide on how to fix blank windows in SketchUp not that long ago. Some of the plugins may use components from the Internet Explorer engine to render parts of their windows and menus. WINE uses the Firefox (Gecko) engine to render pages - trying to simulate the expected behavior as much as possible.
In some scenarios, this may not work, and you will need additional (native) libraries that Gecko does not have. For example, I encountered this issue when testing the Maxwell Render SketchUp plugin. Some of the toolbar functionality simply didn't work. The Scene Manager was showing up blank.
The resolution is to install Internet Explorer 8 - or rather, get the libraries that the installation of said program would bring, and thus work around the problem. I tried this across several versions of WINE. It's the latest build, WINE 9.0, that allowed me to fully resolve the blank windows issue.
Install Internet Explorer 8 (IE8) using winetricks
After you install SketchUp, launch it, and try to activate the Scene Manage in the Maxwell toolbar. It will show up blank. As I mentioned above, the reason is, it uses the Internet Explorer MSHTML engine components to render parts of the menus. WINE uses the Gecko engine to render pages. The Gecko engine does not have full support for MSHTML calls, so some things may be a bit off.
The workaround is to install Internet Explorer 8. Yes, you got it right. Some of the old library calls available in its ancient engine will help SketchUp and Maxwell generate the pages correctly.
First install winetricks - This program is a shell script that automates and simplifies the installation of various programs and tools in WINE. Instead of you manually typing dozens of commands, you use a relatively simple command-line interface that behaves like a package manager. I did my testing in Kubuntu 22.04, so to get winetricks installed:
sudo apt install winetricks
Next, update the script. With the --self-update flag, it will fetch the latest version from the upstream GitHub repository. You will no longer have the original script available in the Ubuntu archives, you will now have the new version, with ideally improved support for different components:
sudo winetricks --self-update
Then install Internet Explorer 8 (IE8):
winetricks ie8
There are multiple ie8 packages - you need the basic one. Follow the installer prompts. You do not need to participate in anything, install any updates or "reboot" your host.
What will happen is the following:
- winetricks will set your WINE version to Windows 2003.
- It will install IE8.
- It will set a whole bunch of DLL overrides in your WINE configuration. You can check these by running winecfg, then click on the Libraries tab:
Set WINE to a new operating system
Once this step completes, "reset" WINE to use a more modern version of Windows:
winetricks win10
You can also set this manually, but for consistency, keep using winetricks.
Now, you can run SketchUp. You will notice that the Scene Manager works almost perfectly. Most of its tabs will show correctly, but not the first, main page. It will now render black instead of blank.
If you run SketchUp from the command line (wine sketchup) and check the output that shows on the terminal, you will see there is an error with one of the DLLs:
013c:fixme:dxtrans:DllGetClassObject ({81397204-f51a-4571-8d7b-dc030521aabd},
{00000001-0000-0000-c000-000000000046}, 00007FFFFE1FF580) stub!
013c:err:ole:apartment_getclassobject DllGetClassObject returned error 0x80040111 for dll
L"C:\\windows\\system32\\Dxtrans.dll"
013c:err:ole:com_get_class_object no class object {81397204-f51a-4571-8d7b-dc030521aabd} could be
created for context 0x1
Seems like the problem is with Dxtrans.dll.
DLL override
Let's add Dxtrans.dll to the list of Libraries in winecfg. Run it, click on the tab. In the dropdown box, search for dxtrans, and add it. You do not need to change the order of how it's invoked (native, builtin).
And that's it! Everything should work now. Launch SketchUp and enjoy your modeling!
Conclusion
And that brings me to the end of my improved SketchUp Make 2017 installation & setup tutorial using WINE in Linux. It's very similar to the old one, but better in some ways. One, the actual first-time configuration is somewhat simpler. Two, I also added instructions for how to add plugins. Three, we also have the recipe for resolving blank windows due to missing MSHTML libraries. You may never need or care about this problem, but there you go.
I'm using SketchUp Make on several machines, including my Titan laptop with dual graphics, integrated AMD graphics and a discrete Nvidia card. The system is nicely tweaked to switch between the two modules as needed using an on-demand PRIME profile. That said, I've configured SketchUp Make to always run with the more powerful unit. The modeling program also uses three plugins, mentioned earlier, and they work nicely. There's nothing inherently SketchUp that does not work here. So yes, a perfect lil' setup, and I'm quite happy. Hopefully, this guide will help achieve similar results. If you have any requests as to what I ought to tackle next on my journey away from Windows (and by proxy, yours too), do ping me. Take care. 3D away.
Cheers.