[winswitch] XPRA - installation on Orange PI Plus 2E

Philip Loewen philip at tidepool.ca
Thu Aug 24 17:18:21 BST 2017


Hello,

I have succeeded in getting XPRA to work on an ARM-based single-board 
computer. In the hope that this might interest someone else, I recorded 
the commands I used in the form of a shell-script that I successfully 
ran as 'root'. These commands make xpra available to all users on the 
system. The script is provided here below my signature.

This note provides a snapshot of my experience, after removing the sad 
parts -- hours of trial-and-error, etc. Please set (low) expectations 
accordingly.

The board is an Orange PI Plus 2E. The monitor is my HDTV with 720i 
format. Network connection comes through wired ethernet.

My first step was to install a suitable Ubuntu-based desktop OS on the 
Orange PI. This came from https://www.armbian.com; the download was named
   Armbian_5.30_Orangepiplus2e_Ubuntu_xenial_default_3.4.113.7z
Getting Armbian started on the board required some tuning of the file 
system, my location, the video parameters, keyboard, etc., and 
rebooting. All the usual stuff associated with installing a new OS.

I went on to create a sudo-capable user account for myself, named 
'philip'. This shows up in the last command in the script.

On a freshly-rebooted OrangePI, I said "sudo su -" to get root, then ran 
the script shown below. About 2 hours later, I had a working XPRA setup 
on the little device. (Of these 2 hours, about 80 minutes were spent 
doing other constructive tasks while ffmpeg compiled.)

Please note that the script requires frequent user interaction: one has 
to consent to each of the "apt-get install" commands. This allows one to 
see what's working, assess the speed of the system, and notice if 
something breaks.

I use XPRA daily, but only to forward silent X-windows. This now works 
for me, and I'm satisfied. I have not pursued the many other exciting 
things XPRA can do -- e.g., sound, video, and print-forwarding. But I 
can report that X-window forwarding works nicely as both client and 
server. Many thanks to Antoine for this nice cross-platform(!) system.

Sincerely,
Philip

#####################################################################
# 2017-08-18: Commands to install xpra on armbian (Orange PI Plus 2E)

# Run all these as root. Or, prefix each one with "sudo -H ".

# Clean up potentially conflicting packages
apt-get purge xpra cython

# Get a bunch of system tools. Check that the file vpx.pc actually arrived.
apt-get install libx11-dev libxtst-dev libxcomposite-dev libxdamage-dev
apt-get install libxkbfile-dev libx264-dev libvpx-dev libswscale-dev
apt-get install libavformat-dev libavcodec-dev
apt-get install xvfb xauth x11-xkb-utils
apt-get install zlib1g zlib1g-dev liblzo2-2 liblzo2-dev
echo +++++ /usr/lib/pkgconfig/vpx.pc +++++
cat /usr/lib/pkgconfig/vpx.pc
echo +++++++++++++++++++++++++++++++++++++

# Get a bunch more system tools based on Python.
apt-get install python-all-dev python-gobject-dev python-gtk2-dev cython
apt-get install python-netifaces dbus-x11 python-dbus python-rencode
apt-get install hicolor-icon-theme python-avahi python-numpy
apt-get install gstreamer1.0-x gstreamer1.0-tools
apt-get install python-pil python-lzo python-setuptools python-wheel

# Some system-supplied Python tools are just too old.
# Get new ones directly from the world of Python.
apt-get install python-pip
pip install --upgrade pip
pip install lz4

# System version of ffmpeg is too old. Compile new one from source.
# Note the suggested LDPATH and PIC flag in configuration step.
# (Found this online at some stage - forgot source - sorry.)
# Compilation took about 80 minutes.
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
LDPATH=/usr/lib/arm-linux-gnueabihf ./configure --enable-pic
time make
make install

# Note that version number 2.1 below might increase in future.
# Used LDPATH from above just in case it helps.
wget https://www.xpra.org/src/xpra-2.1.tar.xz
unxz xpra-2.1.tar.xz
tar xvf xpra-2.1.tar
cd xpra-2.1
LDPATH=/usr/lib/arm-linux-gnueabihf ./setup.py install

# xpra wants to have a group, and xpra users should belong.
addgroup xpra
adduser philip xpra

# DONE!



More information about the shifter-users mailing list