Volumio on touch screen

I would like to build a kind of Ipod-like. To do this I bought a 10’’ touch screen (eGalax).
I connected my RPI to the screen via HDMI. Touch controller is connected to RPI via USB.
I would like to have the Volumio GUI on this screen, with the ability to control it using the touch screen.
Is is feasible?

Note that I am a (almost) complete dummy in Linux world :unamused:



Ipod like on a 10" screen?

Any way, it is possible to do this, but I’m afraid it takes a lot of work depending on the available as in pre-installed packages.

You would require an sort of X.org display manager that runs a browser, this all is available by default on raspbian.
But in volumio, to make it run better and lighter some packages are removed.

so a little to do list:

  1. Check if theres a display manager, for this use the command startx.
  2. Check if there is a browser if not install one. Epiphany is, if I’m correct, the default browser for the raspberry pi.
  3. If the browser works go to localhost and control volumio
  4. Then make sure your touch screen works as it should
  5. make the browser start by default and on the volumio page
  6. Preferably minimize the amount of processes that are running for x

So yes its possible in 6 easy steps :smiley:

Let me know when you got it working i would love to see it.

Oh and don’t forget to document the steps, you might need to do it all again when theres a new mayor release of volumio.
(apt-get update etc breaks stuff)

Thanks for the quick reply.
As I confessed, I am close to ground level on the linux skill ladder :laughing:
I would have expect a kind of “native” gui instead of calling a web browser.
Anyway, I can test this solution because I like the interface rather than overloaded GUI like XBMC

My rooky question will be how to make Epiphany start automatically when I power on RASPI?
How do you declare the touch screen as a valid input device?



I’m using Chrome to have the volumio UI loaded in fullscreen on the touchscreen on boot :

sudo apt-get install chromium x11-xserver-utils unclutter
sudo nano /etc/xdg/lxsession/LXDE/autostart
comment # screen saver line and add those lines:
@xset s off
@xset -dpms
@xset s noblank
@chromium --kiosk --incognito --user-data-dir --disable-touch-editing --enable-touch-events volumio.local

Save file and reboot


I will try all these chinese hieroglyphs :laughing:

Thanks to all


Olivier c’est un compatriote Champolion qui a réussi à déchiffrer les hyérogliphes c’est dans l’ADN national :wink:
et même pas besoin de déchiffrer, copier-coller-envoyer/sauver depuis la ligne de commande et le tour est joué

Champolion didn’t have a Raspberry but an Arduino! :nerd:
I’ll try Ctrl-C/Ctrl-V. That I can do :blush:

Champollion would have loved the Arduino for sure :slight_smile:
Ctrl-C/Ctrl-V for sudo actions, cursor and Ctrl-C/Ctrl-V inside the nano file editor then Ctrl-X to save the file



when I launch:
sudo apt-get install chromium x11-xserver-utils unclutter
there are 3 last lines:
E: Unable to locate package chromium
E: Unable to locate packet x11-xserver-utils
E: Unable to locate packet unclutter

I found this to launch before (Google is our friend)
sudo apt-get update && apt-get upgrade -y
and this time, there was a looooong process running
</latest news>

Then, when I launch sudo nano /etc/xdg/lxsession/LXDE/autostart it opens an empty file!

So I made a "search -name “autostart” and I found one in /home/pi but when I open it it shows plenty of escape code (sorry I can’t make a hard copy). There was a text at the bottom of the editor saying something like “Read 5 lines (Converted from Mac format)”

Note also that it does not understant “startx” command as suggested by MobeyDuck

:question: :question: :question:



You have to use a desktop environnement to run a browser and launch it on boot, the one used here is LXDE :

sudo apt-get install -y lxde xserver-xorg

/etc/xdg/lxsession/LXDE/autostart is the file with the command to execute on LXDE boot :

this part is to disable the screensaver and the monitor power saving mode :
comment # screen saver line
@xset s off
@xset -dpms
@xset s noblank

this line is for launching Chrome in fullscreen (kiosk mode) with some other useful settings for a touchscreen and the Volumio web UI as the default home page :
@chromium --kiosk --incognito --user-data-dir --disable-touch-editing --enable-touch-events volumio.local



I’ll test this this evening and keep you informed. I realize Linux world is maybe not for me :confused:

Youve stated that you used:
sudo apt-get update && apt-get upgrade -y

Unfortunately this breaks volumio 1.5 (don’t know for earlier and later versions)

What djoulle posted should work, if you have LXDE installed

Don’t give up this easy! magic doesn’t happen in one day :smiley:

Just do it step-by-step

Connect your Raspberry Pi and boot volumio
We already know there isn’t a display server so it should be installed

sudo apt-get update (only updates repository’s doenst break stuff)

sudo apt-get install lxde xserver-xorg

Now LXDE should be installed
Check if it is working (startx)

Make LXDE auto start at bootup
Install a browser and make it start at bootup
See djoulle reply thats probably the easiest way.

For the errors you are getting:

Looks like the repository’s for chromiom are unavailable same go’s for x11-xserver-utils and unclutter.
I dont know whether or not and why x11-server-utils and unclutter would be needed since i dont know what they would do…

But before you can install them using apt-get the repository’s need to be added. Unfortunatly, i dont do this often enough so i completely forgot where to add is :blush: and my google skills are failing me :blush:

MobeyDuck is right, it’s really easier that it seems :wink:

I didn’t try it, but he must be right also about the apt-get upgrade -y breaking Volumio 1.5 (apt-get upgrade -y upgrades a lot of components and Michalangelo the creator of Volumio has made a fantastic work to optimize some components for better sound/perfomance, upgrading them can break some essential things).

Burn a fresh Volumio 1.5 on your SD, login using ssh and here is the full set of commands to install the LXDE Desktop environnement, install Chrome and have it lauched in fullscreen mode on boot on your touchscreen with the Volumio webUI :

sudo apt-get update sudo apt-get install -y lxde xserver-xorg sudo reboot

sudo apt-get install chromium x11-xserver-utils unclutter sudo nano /etc/xdg/lxsession/LXDE/autostart comment # screen saver line and add these lines : @xset s off @xset -dpms @xset s noblank @chromium --kiosk --incognito --user-data-dir --disable-touch-editing --enable-touch-events http://volumio.local sudo reboot

If you’r still booting in the bash mode on your touchscreen (command line mode) :
sudo raspi-config > 3. Enable boot to desktop > “Destok log in as user ‘pi’ at the graphical desktop”


Oh Gosh I screwed up :laughing:

Ok, I will restart from scratch and follow religiously what you said. And I will try to understand because currently, the light bulb is still off :unamused:

Many thanks. I’ll keep you informed.


So, I am stuck at the step:
sudo nano /etc/xdg/lxsession/LXDE/autostart
because, it opens an empty file.
I looked in the /etc/xdg (from the root because by default I am in home/pi) and there are 2 files (user-dirs.conf & user-dirs.defaults) plus one a directory called “autostart” with one file in it (mpd.desktop)
So where can I find it?

Another think: how can I have a french keyboard by default? with numlock ON?



This can best be done using raspi-config for this do:

sudo raspi-config

And go to option 4 Internationalisation Options (i would swear that it should’ve been written with an Z not S but wikipedia says both)

Looks like this folder isn’t created, im following the steps as i type this to see whats up.

Ill probably need this when the official screen is released :smiley:

---- edit ----

All right, so i just installed lxde, but this didnt work… the partition was full. So I’ve increased the partition size using a complete detour to get gparted working on my notebook.

After re-flashing and re-sizing the partition I’ve given it a 2nd try.

I’m intentionally installing one-by-one, to see if and where it go’s wrong if it go’s wrong.
Turns out it does…

apt-get install lxde

When installing lxde there are some (40) packages that want to be upgraded

The following packages will be upgraded:
  alsa-base dmsetup dpkg gcc-4.9-base ifupdown initscripts kmod libacl1
  libcrypt-openssl-bignum-perl libcrypt-openssl-rsa-perl libcups2
  libcurses-perl libdevmapper1.02.1 libexif12 libgcrypt11 libgcrypt11-dev
  libgomp1 libhtml-parser-perl libkmod2 liblocale-gettext-perl
  libnet-ssleay-perl liborc-0.4-0 libpulse0 librtmp-dev libselinux1
  libsocket6-perl libstdc++6 libterm-readkey-perl libtext-charwidth-perl
  libtext-iconv-perl libva1 libvpx1 libx11-6 libxcb1 perl perl-base
  perl-modules plymouth sysvinit-utils udev
40 upgraded, 506 newly installed, 1 to remove and 435 not upgraded.

Upgrading these will break stuff :frowning: I hate it when stuff breaks. SO basicly this stops the volumio part of volumio working…

Yes I’ve also followed the other steps, and it turns out that the initial apt-get install lxde also installs xserver-xorg and x11-xserver-utils, so these can be skipped. Unclutter is used to make the cursor disappear when it isn’t used. For me this isn’t useful, so i skipped it.

Good news is that apt-get install has an option to not install upgrades “–no-upgrade”, so im going to re flash now and try this.

sudo apt-get update
sudo apt-get install lxde --no-upgrade
sudo apt-get install chromium

Oh and the “missing folders” were created during installation, and LXDE did autostart without needing to change a thing. But for your usage you probably want it to auto-login and start chromium.

@djoulle, Any idea if there is a good on screen keyboard?

I’m running out of ideas…

Ive tried to --no-upgrade the upgrade packages, but that doesn’t do any thing…
So I’ve put the packages on hold, disallowing upgrades. Then those darn dependency’s keep nagging they need it all…

like this one

The following packages have unmet dependencies:
 kmod : Breaks: alsa-base (<= 1.0.25+3) but 1.0.25+3 is to be installed

Kmod breaks alsa-base so alsa-base needs to be updated…
[spoiler]kmod messes something up and an other one needs to be updated :confused: sounds like the wrong way around to me… :imp:[/spoiler]

Mabey it is possible to install an older version of LXDE and dependency’s, but i don’t know how to do that and what version does work…

OK, I’m lost in this jungle :confused:
Thanks anyway.


Don’t give up :wink:
Take a look at the result (it’s Volumio with a custom webUI theme on a small 2.8" touchscreen) :

I’ve started the setup from scratch to test it with Volumio 1.5 as I was previously using it with 1.41. But it’s not working, my touchscreen drivers and the Chromium installation are not working with the new “Jessie” debian kernel used on Volumio 1.5.

So here are all the steps for the Volumio 1.41 version :

  1. Burn a fresh Volumio 1.41 on your SD boot and login

  2. Increase the partition size

sudo fdisk /dev/mmcblk0 Command : d (delete the partition won't delete the content, it's just a partition table update) Partition number : 3 Command : n Select : default Partition number : 3 Partition start : default Partition end : default Command : w sudo reboot
Expand the updated partition

sudo resize2fs /dev/root

Check the updated partition size, you should now use the whole SD capacity.

df -h
  1. Install your touch screen drivers

  2. Install LXDE desktop environnement

sudo apt-get update sudo apt-get install -y xserver-xorg xinit xserver-xorg-video-fbdev lxde lxde-common

  1. Install and configure Chromium browser and LXDE

sudo apt-get install chromium x11-xserver-utils unclutter sudo nano /etc/xdg/lxsession/LXDE/autostart comment # screen saver line and add those lines (disable screensaver and sleep mode + boot Chromium in fullscreen mode with volumio) #@xscreensaver -no-splash @xset s off @xset -dpms @xset s noblank @chromium --kiosk --incognito --user-data-dir --disable-touch-editing --enable-touch-events http://volumio.local

Reboot while making a prayer to linux gods :wink: