Installing Adobe Digital Editions on Linux with WINE
This post is a little more esoteric, but in the spirit of helping others from the future we’re gonna dive into this.
I picked up an Amazon Kindle Paperwhite over a year ago, and I have been tearing through books at an alarming rate. In the course of finding more books to read I did what I’ve always done for as long as I can remember: visit my local library.
Side note: Please, please, please support your local libraries. It’s like supporting net-neutrality in meatspace!
I immediately ran into a bit of a disconnect between my rapidly advancing digital life and the reality of digital books.
The problem lies in how we can borrow and checkout digital books. Currently, there are mainly two big systems in place for digital library lending, Bibliotheca’s CloudLibrary and Rakuten Overdrive. As is often the case in modern computing, anything not Apple or Microsoft is relegated to the rubbish bin. As a Linux user, this is not ideal for me.
Neither of these software solutions have a Linux option.
Wine Is Not an Emulator
Luckily for Linux users, there’s the project to run Windows applications on various POSIX-compliant operating systems: Wine.
I won’t go into using CloudLibrary, as it’s not the focus of this post. It actually installs just fine all on it’s own in Wine so it’s a non-issue.
Overdrive is the real problem here. Rather, it’s use of Adobe Digital Editions (ADE) as the means for checking out books. (The actual interface for Overdrive at the library is a website.) For other purposes that I won’t go into here right now, I need to be able to use an older version of ADE. Specifically ADE 2.0.1.
I spent some time researching if the application would work over at the App Database for Wine. The instructions there didn’t really work for me, but there were some other posts in places like the MobileRead wiki where I was able to gain some more insights as well. Overall it took a good few hours of searching and playing to finally arrive at a working installation of ADE 2.0.1 with Wine on Linux.
If you’re still reading this far I can only assume that you need to get this installed as well. Let’s do it!
Installing
I have successfully installed ADE 2.0.1 on a fresh installation of Ubuntu 18.04. You’ll need to be comfortable in your shell to do this, no graphical installer for these steps (sorry).
To start, you’ll need a couple of downloads for later:
- Adobe Digital Editions 2.0.1 Windows installer (5.7 MB)
- Microsoft .NET Framework 3.5 SP1 Full Package (231.5 MB)
Yes, the full download package because using the smaller web installer caused my installation to hang.
I just downloaded these directly into my home directory for easy reference later.
You’ll also need to install Wine. I just went ahead and used the package from my distro: wine-3.0 (Ubuntu 3.0-1ubuntu1)
.
You’ll also want a helper script for setting things up automatically in Wine called winetricks
, and I also needed cabextract
to be able to extract files from a Windows .cab file.
In my case I just did:
$ sudo apt install wine-stable winetricks cabextract
Wine installs everything into it’s own directories that you tell it to (referred to as a prefix). You can easily tell it which prefix to use by setting this in your shell before you run a command.
In my examples below I will be installing ADE into it’s own prefix in my home directory called ~/.adewine
.
-
Set up a new 32-bit prefix with Wine.
You need to setup a fresh install into it’s own prefix, and tell Wine to make it a 32-bit environment:$ WINEPREFIX=~/.adewine WINEARCH=win32 winecfg
You can also tell Wine to use this prefix for all subsequent commands:
$ export WINEPREFIX=~/.adewine
-
Now you need to install
corefonts
andwindowscodecs
:$ winetricks -q corefonts && winetricks -q windowscodecs
At this point, I originally found some errors where Wine wasn’t picking up the windowscodecs.dll being installed. I was seeing a bunch of errors like:
000d:err:module:import_dll Library windowscodecs.dll (which is needed by L"C:\\windows\\system32\\winemenubuilder.exe") not found
I found that I could fix this by manually copying them to the correct location:
- Extract all the files from
~/.cache/winetricks/windowscodecs/wic_x86_enu.exe
$ cd ~/.cache/winetricks/windowscodecs/ $ cabextract -d tmp wic_x86_enu.exe
- Copy
windowscodecs.dll
andwindowscodecsext.dll
into~/.adewine/drive_c/windows/system32/
:
$ cd tmp/ $ cp windowscodecs* ~/.adewine/drive_c/windows/system32/ $ cd ~/
- Extract all the files from
-
Install the Full .NET 3.5SP1 installer you downloaded previously:
$ wine dotnetfx35.exe
-
Finally, you can install Adobe Digital Editions 2.0.1 normally:
$ wine ADE_2.0_Installer.exe
Et voilĂ !
That’s it! If there were no errors you should now be able to run Adobe Digital Editions 2.0.1:
$ WINEPREFIX=~/.adewine wine .adewine/drive_c/Program\ Files/Adobe/Adobe\ Digital\ Editions\ 2.0/DigitalEditions.exe
Update (Oct 2018)
Reader Frei pointed out some results he got from using Manjaro/Arch (rolling release 10/2018):
err:winediag:gnutls_initialize failed to load libgnutls, no support for encryption
So he installed lib32-gnutls
before to get it working.
He also had a problem with getting the manual download of dotnet working (it didn’t complete), so he managed to get things installed with:
winetricks -q dotnet35sp1