Category: Main Multimedia Video HitFilm HitFilm 15 (Pro/Express)


No Screenshot

Submit Screenshot

Hitfilm 15 added new motion-tracking and stabilisation features, among other things.

Application Details:

Version: HitFilm 15 (Pro/Express)
License: Retail
Votes: 3
Latest Rating: Silver
Latest Wine Version Tested: 5.14

Maintainers: About Maintainership

Test Results

Old test results
The test results for this version are very old, and as such they may not represent the current state of Wine. Please consider submitting a new test report.
Selected Test Results

What works

With a dll override, the program launches and runs fine. 

The home screen displays as expected. 

Projects can be created, opened, saved etc. 

Media files can be imported and edited. 

Composite shots can be created and edited.

The particle simulator seems to work fine.

Many of the effects seem to work (although I haven't comprehensively tested them all).

What does not

-Hitfilm doesn't start  properly unless you have added a dll override for "fusion".

-The software runs in trial mode until it is activated by using a separate "activation app". On windows the activation app is launched automatically if the software is not activated, but in wine the app does not run. It can be launched manually by clicking the "activate" button inside Hitfilm, but it simply pops up with a blank screen and then exits.


-Requires a dll override for "fusion" in order to run the software. This can be added using winecfg.

-The activation app does not run in wine. Fortunately most of it is javascript, so it is possible to build a custom version of it which can run natively on Linux. (I have written more detailed instructions in a 'How-To' below, and I also made a bash script to help automate the process)

What was not tested

-Only some effects were tested

-Tracking was not tested

-adding text (either with text effects or with text layers) was not tested

-Colour scopes (histogram etc) were not tested

-Editing and compositing were not tested beyond simple edits

Hardware tested


  • GPU: Nvidia
  • Driver: proprietary

Additional Comments

selected in Test Results table below
Operating systemTest dateWine versionInstalls?Runs?Used
CurrentLinux Mint 18.3 "Sylvia" x86_64Aug 06 20205.14Yes Yes YesSilverA. Sealy 

Known Bugs

Bug # Description Status Resolution Other apps affected

Show all bugs

HowTo / Notes


At time of writing (May 2019), the activation app for HitFilm does not work in Wine, and will only show a blank white screen (if it loads at all).

Fortunately, the activation app is (mostly) javascript, which is then run using nw.js. Since nw.js is cross-platform and open source, it is straightforward to obtain a native Linux version of nw.js and use that to run the activation app, with relatively few alterations.

For the lazy (like myself), I have written a bash script to automate the process (attatched in a different how-to).

For the curious, the procedure is as follows:
-Download a copy of the program nw.js, which can be obtained from (or if you prefer to build from source code, you can find it on github)

-In the program files for HitFilm (by default it will be [wineprefix]/drive_c/Program Files/FXHOME/HitFilm Pro (or HitFilm Express if you are installing Express)) there is a directory "ActivationApp" containing all the files for the activation app. You will need a copy of the directory "ActivationApp/Resources". (I would advise not to modify any of the original files, HitFilm appears to check some of them and may not run if they have been modified). To keep things tidy you may wish to create a new directory "ActivationAppLinux" and place your copy of "Resources" inside this directory.

-in "Resources/bin" there is a program called "DumpInfo.exe". If you run it through Wine with WINEDEBUG=-all, the output should look something like:

licenseFilePath:C:\ProgramData/FXhome/Hitfilm Pro/Hitfilm Pro.license

(N.B your hardware ID will be different - it is generated based on the hardware of the computer that the program is run on)

-Copy the terminal output from DumpInfo.exe. The activation app runs this program to obtain the information required for activation. Since your activation app is running in Linux you will need to make a Linux program that prints the same information to the terminal. A simple bash script will do.

-Make sure that your variable "hardwareId" exactly matches the one that is output from DumpInfo.exe - otherwise the activation will not be valid on your computer.

-Also make sure to change the variable "licenseFilePath" to the actual path. The correct directory will already have been created by the HitFilm Pro installer, and should be:
[wineprefix]/drive_c/ProgramData/FXHOME/HitFilm Pro/Hitfilm Pro.license
(N.B. note the all-caps on FXHOME, and the capital F in HitFilm (although also note that the license file itself has a lower-case f in Hitfilm))
(Again, if installing HitFilm Express, substitute "Express" for "Pro")

-in the directory "Resources/modules" there is a file "constants.js". In the line that starts with "DUMP_INFO_BINARY" replace "DumpInfo.exe" with the name of your replacement program/script. Correct the path if necessary.

-Now navigate to whatever folder contains your nw.js binary, and run:
./nw [path-to-your-activation-app]/Resources/app.nw activate

The activation app should now run and function as expected, allowing you to activate the software.

(bash script) activate HitFilm


# Please Note:
# this script was designed to be run in the same directory that HitFilm (or whatever other FXHOME software you are installing) was installed into.
# By default this will be [wineprefix]/drive_c/Program Files/FXHOME/[software name]

# If this script is run from a different directory, it will attempt to navigate to the aforementioned install directory,
# but it will only work if there is only one FXHOME software installed in one wineprefix in your filesystem.
# Otherwise it may locate the wrong directory, and subsequently activate the wrong software.

# For best results, I would suggest that this script only be run from the correct directory
# (unless you are certain that there is no other FXHOME software installed in any filepath that matches the above description)

# -A. Sealy, 07/08/2020

# if there is no folder "ActivationApp" in the present directory, then we are not in the folder where the program was installed, and we should therefore locate that directory and navigate to it.
if [ ! -e ActivationApp ]; then
    # make an educated guess about where the program was installed, and cd there
    guesswork=$(locate -n 1 -i "*/drive_c/Program Files/FXHOME/*") && #FIXME doesn't work if the software is installed in multiple wineprefixes or if other FXHOME software has been installed
    echo &&
    echo "Navigating to $guesswork" &&
    echo &&
    cd "$guesswork"
fi &&

#check where we are?

# If there is no existing "ActivationAppLinux" then we will create one
# Otherwise, we will assume that this is a functional linux version of FXHOME actvation app
if [ ! -e ActivationAppLinux ]; then

    # To stay as close as possible to the original app, we will need a copy of nwjs.
    # If there is a package already downloaded and in the current directory, we will use that.
    # Otherwise we will download one from the website
    if [ ! -e nwjs*.tar.gz ]; then
        echo 'nwjs not found.\nAttempting to download nwjs from\n'
        wget ""
    fi &&
    nwjs_name=$(echo nwjs*.tar.gz) &&
    echo "Found $nwjs_name. Extracting files" &&
    tar -xzf $nwjs_name --transform=s/${nwjs_name%.*.*}/ActivationAppLinux/
fi &&

# We need copies of various files in ActivationApp/Resources, the simplest thing is just to copy the entire folder
if [ ! -e ActivationAppLinux/Resources ]; then
    echo 'Copying files from ActivationApp/Resources' &&
    cp -r ActivationApp/Resources ActivationAppLinux/Resources
fi &&

cd ActivationAppLinux/Resources/bin &&
# We need to recreate the Windows binary "DumpInfo.exe".
# The simplest approach is to simply copy the terminal output of the windows binary to a new file, edit it as necessary, and then make a script that will print the results to terminal
if [ ! -e DumpInfo.txt ]; then
    echo "Reading DumpInfo.exe" &&
    # DumpInfo.exe is called through Wine, for simplicity the output is dumped in a file "DumpInfo.txt"
    WINEDEBUG=-all WINEPREFIX="$wineprefix" wine DumpInfo.exe > DumpInfo.txt
fi &&

if [ ! -e ]; then
    echo "Building" &&

    # There used to be a whole extra block of code to work around the fact that at some point I found DumpInfo had given "l.i.c.e.n.s.e." instead of "license".
    # I'm pretty sure it was a wine bug and I havent seen it for a while so I'm gonna assume that doesn't happen.
    # And if it does, well, there are instructions to do this stuff manually on the AppDB page
    # The licenseFilePath needs to be modified to change it to a linux filepath, but everything else should be copied verbatim.
    otherInfo=$(grep -a -v "license" DumpInfo.txt) &&
    # There often seems to be some inconsistency about whether specific characters in the filepath should be upper-case or lower-case.
    # This is not a problem on Windows (or Wine) but since linux filepaths are case-sensitive it is necessary to correct the pathname.
    # Fortunately the correct target directory has already been created by the installer, so all we need to do is identify it.
    licenseFilePathvar=$(grep -a "license" DumpInfo.txt) &&
    linuxFilePathvar="${licenseFilePathvar/'licenseFilePath:C:\'/'*'/}" && #strip the data tag, and replace "C:\" with wildcard
    correctedFilePath=$(find "$wineprefix" -ipath "${linuxFilePathvar%/*}") && #this returns the correct (absolute path to the) directory, but has stripped the license file name

    # make new script
    echo "#!/bin/bash

echo "'"'"$otherInfo
licenseFilePath:$correctedFilePath/${licenseFilePathvar##*/}"'"' > &&

    # make executable
    chmod a+x &&

    #edit modules/constants.js, to point to "" instead of "DumpInfo.exe"
    echo 'Editing modules/constants.js:' &&
    sed -i s/DumpInfo.exe/ ../modules/constants.js
fi &&

#finally we must return to the directory outside the Activation app
cd ../../..

if [ -e ActivationAppLinux/Resources/bin/ ]; then
    cd ActivationAppLinux &&
    echo "launching activation app" &&
    ./nw Resources/app.nw
    echo "Found incomplete Activation App. Something has gone wrong - aborting"