Update: Scrivener 3 on Linux

It goes without saying that these are troubling times. Politics and the pandemic, bound tightly together in this dysfunctional country, will be with us through the end of this year and well beyond. So let’s focus on something small and potentially positive, only tangentially related to the larger world.

There aren’t many fiction writers who use Linux as a regular platform, I’d wager. Yet there are a few, including me. I believe that open source at its best serves as a role model for how the larger society should function. This quality in itself attracts some socially conscious creative people to the platform. The problem, of course, is that commercial software remains dominant, and not all of it can run on Linux. It is possible to write with existing open source solutions. But the best solution for aspiring novelists is the carefully crafted Scrivener, developed by a small, quality-focused software team at Literature and Latte in the UK. And Scrivener no longer runs natively on Linux.

Good news—Scrivener 3 will work with Wine.
Good news—Scrivener 3 will work with Wine.

To the company’s credit, a version of the Scrivener Linux beta remains available, and this can interface with the current Scrivener 3 on the Mac by translating documents from Scrivener 2 format to Scrivener 3, and vice versa. But the need to “translate” back and forth is a less than ideal solution.

For a while, Wine had come to the rescue—Scrivener ran just fine “out of the box” on default Wine installations. But that changed sometime back, as Scrivener 3 for Windows development evolved. Wine stopped working, and I turned back to Scrivener on macOS to continue work on my novel. Apple still leads the pack in terms of both ease of use and options for writers (but Linux exemplifies the moral high ground, as noted above).

Now that the new version (20.04.1) of Ubuntu LTS is out, I decided to take another look at the situation, and I have some good news for the small audience of writers on Linux. The latest beta of Scrivener 3 for Windows does run on Wine. You just have to do a little extra work to enable this.

A quick disclaimer: while I worked as a developer for many years, I now focus on writing. As a writer, I can’t afford to be distracted by any particular tool. If something doesn’t “just work,” I’ll find an alternative that does and concentrate on the writing. That’s why I hadn’t wanted to get down into the weeds to figure out all the nuances of enabling Scrivener 3 on Wine. But when I took a quick look, I discovered that things weren’t that bad. My Wine configuration is probably a little wonky, and I’ll likely do a complete reinstall when Scrivener 3 for Windows is officially released, supposedly sometime this fall. But getting the software to work again isn’t all that much work.

Scrivener 3 in Composition Mode on Linux.
Scrivener 3 in Composition Mode on Linux.

The latest beta, 2.9.9.9 (RC9), would seem to indicate that the official release is near (fingers crossed). The beta expires in mid-September. Here’s how to get it working.

If you already have Wine installed, you have two choices: you can create a new prefix for Scrivener, or you can update the parameters of the default .wine prefix. (I’ve tried both, which is why my configuration is not as clean as it should be.) If you don’t have Wine installed, then installing it should be your first step. It’s straightforward, and I won’t describe the process here.

If, like me, you only plan to use Wine for Scrivener and one or two related programs (Literature and Latte’s Scapple “brainstorming” software runs fine on the default Wine install), then I recommend updating the environmental settings for the default prefix .wine to meet Scrivener’s current requirements. The process described below applies to Ubuntu Focal but should be translatable to other distros.

The core requirements are Windows 7 or higher and .NET v4.6.2 or higher (Wine 5.0 will let you use .NET v4.8).

Once Wine is installed, make sure you have 32-bit architecture enabled. This is needed for various reasons overall, and also to register Scrivener. The command is:

sudo dpkg -i –add-architecture i386

Following that, run this:

env WINEARCH=win64

Now you’ll need to install Winetricks. Again, this is straightforward. Once you have it installed, run the following commands. The first one is:

env WINEPREFIX=$HOME/.wine winetricks dotnet corefonts

This is necessary for Times New Roman, the most popular font for submitting your work to publishers. If you already have the font on your system (it might have come with or been installed by another program), you can omit the above command.

Next run:

env WINEPREFIX=$HOME/.wine winetricks win7

And then:

env WINEPREFIX=$HOME/.wine winetricks dotnet48

Now you should be able to right-click on your downloaded Scrivener 3 beta file and use Wine’s installer to install it.

Scrivener will create a .desktop file than you can use to launch the program (which didn’t work in my case, because my overall Wine installation has some issues—as I said, I’ll clean this up when the official version is released). You can then add the launcher as a “favorite” in the dock.

An easy alternative for launching is simply to hit the Super key to bring up Search and type in the first few letters of “Scrivener.” Once you see the program just hit Enter to launch it.

Or, if you like the command line, make a little shell script like so:

!/bin/bash

cd ~/.wine/drive_c/‘Program Files’/Scrivener
wine Scrivener.exe

Then you can run it with:

./scrivener.sh

from whatever directory you placed the script in. That said, a launcher is probably the best way to go and that’s what I’ll use once I clean things up.

And there you have it—a little work, but well worth it for those who want to be able to use the best long-form writing program on Linux.