Ubuntu 16.04 (Xenial) Package


I’ve been building debian (deb) packages for Interface/Stack for past year++ and thought it might be of help to others to, at least, make them available for any who’d like to try.

Few things.

Unsupported – That means I can try, as time permits, to help with any issues you may run into, but, I can not hold your hand and walk you through working with a Linux box, command line and how this all works. If you’re not comfortable working with a command line, reading rough instructions etc etc etc - then this is probably not a good fit for you. I have a day job, have to sleep, eat and etc so I may be hours, if not days, answering any questions.

That said…

This is only lightly tested, myself and one other - though I’ve tested it on multiple boxes.

This package set uses QT5.6.x from a PPA installing it in /opt
It installs Hifi binaries under /opt as well and those binaries use hard coded RPATH to find Qt and Hifi’s libraries under /opt as well (in specific locations under /opt as well). This allows a coexistence with other Qt installs (unless they use the exact same path as the Qt5.6.x PPA).

DEV Builds are compiled and posted within a few minutes of being posted to HiFi’s Tag releases. RC Builds may take several hours to appear as I actually review those before adding to repository.

Required PPA

sudo add-apt-repository ppa:beineri/opt-qt562-xenial

Required HiFi Packages Repository

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E9A40B0F
sudo add-apt-repository "deb [arch=amd64] https://packages.o2t.info/ xenial o2t-hf"

Update package cache

sudo apt-get update

At this point you should have Qt5.6.2 and my HiFi packages available to install.

Option 1 - only use High Fidelity’s released versions (RC)

sudo apt-get install o2t-hifi-stable

Option 2 - use High Fidelity’s developer (bleeding edge) versions

sudo apt-get install o2t-hifi-unstable

You can switch from RC to DEV or DEV to RC by running proper command again – if you installed RC prior and want to use DEV just run command to install unstable or opposite if you installed DEV and want to run RC. You can’t have both under current package structure - maybe, someday, I’ll consider changing that.

I don’t install launchers for Interface from Desktop. So - open a terminal and run;


Stack (domain-server, assignment-client) binaries are installed at;


I do not start stack or install systemd scripts to do so.

Fixing USB errors spewing from Interface;

Interface wants to do some low level interrogation of USB devices that require read/write access to root USB devices. By default Ubuntu only allows root to do so… the fix for this is to allow special group “plugdev” access as follows;

Create a file called 70-persistent-usb.rules in /etc/udev/rules.d

sudo nano /etc/udev/rules.d/70-persistent-usb.rules

Add the following line and save it;

SUBSYSTEMS=="usb", GROUP:="plugdev"

Make sure your normal user is a member of plugdev group. Reboot and you should be fine. All that does is tell UDEV to change the group that owns USB from root to plugdev and should be about a safe a workaround as there is.

I’ll likely post my systemd scripts as another package and, maybe, the USB fix and Launcher icons once I have time to work that out as well.

Nividia TX2 (ARM)
Updated Ubuntu Xenial Package

Thank you so much for this. Installing as I write. This might just help me actually finish the appimage packaging I’ve been working on. Feel free to use the desktop file or anything else I have there.


If you’re running the stable/rc branch, ignore this for now - it only applies to the unstable branch.

As of build 5938 there’s a new AC server type, entity-script-server. If you’re running a HiFi stack and using the simple assignment-client -n to set number of AC processes (i.e. -n6 -n7) you’ll want to up the count +1.

As of now there are issues involved with memory leaks and other specific bugs not introduced by this new server… I don’t suggest making heavy use of it until those are addressed. Just preparing for the glorious future of the new AC type.


RC-33 (Build 6008) pushed today.


Another Thank You! I’m running Ubuntu Studio 16.04.1. I am able to get into the interface though I have yet to try it out extensively. I have noticed that exiting the application does not properly end the process. Killing the process resulted in an error, eventually. I’m running the “stable” version. I’ll post more as I have time to test the builds.


Glad it (mostly) works for you. The hang at exit of interface has been around a long time and, yes, it’s annoying. It will eventually core dump and close. Someday I hope to figure out why that’s happening and suggest a fix.


RC34 (Build 6905) posted for Windows/Mac. See High Fidelity’s official Beta 34 posting for change lists/notes. Beta Release 34

Amazon is still being slow to serve some requests so I’m seeing build fails for stable RC34 and Unstable 6095. Once that sorts out I’ll post an update to availability.


Stable RC34 and Unstable 6095 posted to repository.


Stable RC35 and Unstable 6128 posted.

In case anyone ever wonders… for a specific point RC release, stable = unstable. Once unstable is > stable they diverge again. Trivia to fill in minimum reply length.


Packages are currently broken for unstable and, if I allowed it to build, latest RC. Unfortunately, I’m on an extensive road trip for work and won’t be able to sort this out for several days. For now I’ve disabled building new unstable/stable packages. Problem is a new dependency that, unfortunately, exists in Ubuntu repository, but HiFi chose to refer to it as a new incompatible with Ubuntu’s thus requiring some work on my part to clean up I don’t have time for now.


Is this what is cuasing the Domain Version Missmatch currenty? I didn’t read the whole threat before running the packages. I haven’t done this stuff in years so I’m super at a loss, thank you for putting the packages together i was able to finally get it running on my AWS Instance because of it, but can’t connect to it because of the version missmatch.


Yes - it’s not up to date due to a change in dependency libraries for latest source. I will try fixing packages today and re-start auto building/pushing packages to repository, but, have extremely limited time at the moment and it’s a tedious set of changes to fix.


Auto-build system is currently working its way through a considerable backlog of failed builds… sometime in next 2-3 hours packages should be up to date again for unstable.

Stable will not be up to date until RC39. Neither RC38 or RC38.1 (hotfix to 38) will build and I’m out of time to try to fix the mess in source for branches around code RC38/RC38.1 are based on.

Will advise when stable has been pushed, built and posted.


I don’t think this will be a huge problem as few, if any, are actually using these packages other than myself… but, stable release 41 and unstable-6630 will be last builds posted until further notice. Machine that auto compiled all then posted to repository met an untimely death today. If I’m able to resurrect said machine or recover its custom autobuild system I may start posting again. But - no promises. Apologies if this impacts anyone.


I’ve managed to rebuild compile system - unstable packages are back to current (Build 6659) and stable should be posting RC42.1 (Build 6658) sometime in next 30 minutes or so. Apologies for the downtime.


Have I ever told you you’re my hero?

edit: still having an issue i think it’s user error but When i start the domain server and assignment client via ./domain-server && ./assignment-client -n 6

It queues up a bunch of stuff http://i.imgur.com/ufIUufR.png There’s a link to what it looks like, i’ve tried -n 10 ect as some people have suggested still nothing.


Since DS seems to be working ok launch it however you like, but, alone as in ./domain-server&

Then launch AC with ./assignment-client -n6

Note No space for -n6

that doesn’t work try ./assignment-client -n6 -t7


Oh god dammit, I need to sleep more. Thank you friend.


Rumor mill has it that HiFi will be moving to QT5.9 sometime… In anticipation of this I’ve worked out methodology to do so for this package repository and have started building package linked against QT5.9. Once better tested I’ll post instructions for using QT5.9 packages and, eventually, migrate to using QT5.9 for default and deprecate QT5.6 builds.


Use of Qt5.9 is imminent, it seems. So - to be ready please add the following PPA repository.

If you don’t – these packages will fail to install starting later this week when I stop compiling packages compiled against Qt5.6.

sudo add-apt-repository ppa:beineri/opt-qt59-xenial
sudo apt-get update

You do not need to do anything more than that – once default packages (stable and unstable types) start being built against 5.9 the first update/install of will pull what’s needed.

For more information about the PPA see;

It’s also perfectly safe to have Qt5.6.x from currently used PPA and 5.9 from one you’re about to install in place at same time. They’re made to be isolated installs not impacting one another or system default QT libs.

If, and only if, nothing else uses Qt5.6.x from previous PPA you will get a notice saying it’s no longer needed and may be removed. Your choice – the 5.6 PPA does take up a fair bit of space. sudo apt-get autoremove will clean it up – though take caution to read what that command would remove – sometimes it can do dangerous things.