Pat David Avatar
ABOUT ARCHIVE
Theme
1 min read

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.

Wisdom of the Ancients
I'll stop posting relevant xkcd comics when Randall stops making relevant xkcd comics...

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:

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.

  1. 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
    
  2. Now you need to install corefonts and windowscodecs:

    $ 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:

    1. Extract all the files from ~/.cache/winetricks/windowscodecs/wic_x86_enu.exe
      $ cd ~/.cache/winetricks/windowscodecs/
      $ cabextract -d tmp wic_x86_enu.exe
      
    2. Copy windowscodecs.dll and windowscodecsext.dll into ~/.adewine/drive_c/windows/system32/:
    $ cd tmp/
    $ cp windowscodecs* ~/.adewine/drive_c/windows/system32/
    $ cd ~/
    
  3. Install the Full .NET 3.5SP1 installer you downloaded previously:

    $ wine dotnetfx35.exe
    
  4. 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
Adobe Digital Editions 2.0.1 in Wine

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

Filed under: Linux, Wine, ebooks

Share this on: Twitter | Facebook