How to fix blank windows in SketchUp Make in Linux (WINE)

Updated: February 9, 2024

Today, I have an awesome, awesome topic for you. First, let me briefly give you the context for this article. I'm migrating my productivity setup from Windows to Linux. It's a long and complex journey, which I aim to complete before Windows goes EOL in late 2025. I want to be able run everything, and that means programs and games, in Linux. No exceptions really. That level of freedom will make me happy, and preclude the necessity to use the pointless Windows 11 or such.

The journey is going well. Really well. Games? Splendid! Various programs? Pretty great. But I did encounter some issues. Cardinally, in SketchUp Make 2017, certain menus and plugins do not fully show and render correctly. They show up as blank pages. This problem bugged me for months! Not anymore. With the latest release of WINE, I was able to resolve the problem of empty and blank dialogs. I've already mentioned this in my WINE 9.0 review, but it does not hurt to have a proper, separate tutorial that covers everything.

Teaser

Specific usecase: Maxwell Render (SketchUp plugin)

All right. SketchUp Make 2017 is the last offline edition of the free version of this drawing tool. From then on, only the professional edition is available as a standalone desktop tool. The new free version is a Web-based app so to speak. If you don't want to use the online tool, you need the old, offline program. The only "issue" is, SketchUp Make is not a native Linux program. But it can runs well through WINE. See my article linked above.

The main problem I encountered was - certain windows do not show. Specifically, with the Maxwell Render SketchUp plugin, you don't get the Scene Manager, or Maxwell Sea, or Maxwell Grass, and a few other of the plugin elements. They don't show up on the screen correctly. You get empty, blank dialogs.

Now, Maxwell Render as well as Maxwell Studio do have a native Linux version, which works great as I've outlined in my article from a few days back. The problem is with the SketchUp plugin. This can make it difficult to have a seamless, Linux-only workflow with this software. From what I know, the issue also affects many other 3D rendering programs and their plugins.

Scene Manager, blank

Step 1: Install SketchUp, Maxwell Render

What you want to do is - first, install these two programs. Please follow my instructions in the two linked articles above. But in essence, for the sake of simplicity:

wine "sketchup executable"
wine "maxwell sketchup plugin executable"

I will write a brand new tutorial for SketchUp soon, which is even simpler than my previous one. Essentially, you need even fewer components to get things working. But more on that separately.

Step 2: 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. 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. But! This support has improved massively in WINE 9.0. Still, it's not 100% perfect, which is why we need some extra libraries to get things going.

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.

IE8 installation

What will happen is the following:

Libraries overrides

Step 3: 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.

Partially works 1

Partially works 2

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.

Step 4: 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). P.S. I've tried the IE8 trick before, but never gotten as far as with the latest WINE 9.0 test, including the addition of the Dxtrans.dll library. Anyway:

Dxtrans library

Step 5: Enjoy perfect usability

Run SketchUp again. Now, the Scene Manager and all other assets should work well. My guess is the Dxtrans library has to do with DirectX transparency calls or some such. Anyway. The Maxwell Render plugin now does its job flawlessly:

Works great

Conclusion

There you have it. Amazeballs. Linux, WINE 9.0, some command line wizardry, and that's it. SketchUp Make as well as Maxwell Render (the SketchUp plugin) behave beautifully. The best part is, this tutorial should also apply to any other SketchUp plugin, or in fact any software that uses components from the old Internet Explorer engine, typically WebDialogs. If you're one of the people who has trawled the forums for years now, searching for redemption, it hath arrived.

For anyone who thinks "Hey, but that's not WINE ..." I had tried these exact IE8 tricks before, but it takes IE8 PLUS this new, improved MSHTML support in WINE 9.0 to make the results a beautiful success. I have always loved SketchUp, it's a fantastic piece of software, and Maxwell Render is a great tool, too, and now, I can enjoy them, fully and without any restrictions in Linux. I am so happy that I will most likely buy a license for Maxwell Studio, and then have a blast designing and rendering 3D models. Well, what a superb day, I say. What else. See you around.

Cheers.