Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Setup: Boot to Browser (OctoPi or Jessie Light)
Clone this wiki locally
This is a guide for Jessie Lite or OctoPi (0.13 and higher)
Follow this guide for Jessie Full.
It's not recommended to use a single-core Raspberry Pi with OctoPrint and a touchscreen. The single-core processor is only recommended for running OctoPrint. Attaching third-party equipment (e.g. camera or touchscreen) can result in failing prints or slow performance.
Before starting with this guide, make sure you've installed OctoPrint and installed TouchUI from the 'Plugins Manager'.
Make sure you've expanded your file system. Note: If you are using OctoPi, that has already been taken care of automatically on first boot, no need to do it manually.
Make sure you've your touchscreen working by installing the required drivers.
Make sure all packages are up-to-date:
sudo apt-get update
Install all required packages:
sudo apt-get install --no-install-recommends xinit xinput xserver-xorg xserver-xorg-video-fbdev x11-xserver-utils matchbox unclutter chromium-browser
Register your touchscreen to X11 by creating a new config:
sudo nano /usr/share/X11/xorg.conf.d/99-fbdev.conf
If your touchscreen is connected with HDMI, paste the following code:
Use this if you're using the Official Pi Touchscreen
Section "Device" Identifier "touchscreen" Driver "fbdev" Option "fbdev" "/dev/fb0" EndSection
Otherwise, paste the following code:
Section "Device" Identifier "touchscreen" Driver "fbdev" Option "fbdev" "/dev/fb1" EndSection
Save and exit (
note you can check the touchscreen mount name through
ls /dev | grep fb. Ensure this matches what you add in
Allow X11 to run as anybody by running the following command:
Ignore this step if it fails
sudo sed -i 's/allowed_users=console/allowed_users=anybody/' /etc/X11/Xwrapper.config
Get the TouchUI boot files:
git clone https://github.com/BillyBlaze/OctoPrint-TouchUI-autostart.git ~/TouchUI-autostart/
Copy service file and register it as auto boot:
sudo cp ~/TouchUI-autostart/touchui.init /etc/init.d/touchui sudo chmod +x /etc/init.d/touchui sudo cp ~/TouchUI-autostart/touchui.default /etc/default/touchui sudo update-rc.d touchui defaults
Test if your kernel can run Chromium by running the following command:
If you get the following error, you need to upgrade your kernel to the latest version, follow these extra steps.
/usr/lib/chromium-browser/chromium-browser: symbol lookup error: /usr/lib/chromium-browser/chromium-browser: undefined symbol: mmal_vc_init_fd
The errors below are ok. So if you see these you can proceed to step 10:
/usr/bin/chromium-browser: line 138: lsb_release: command not found /usr/bin/chromium-browser: line 139: lsb_release: command not found bootstrap_helper: /usr/lib/chromium-browser/nacl_helper: Cannot open ELF file! errno=2 [1:1:0605/122948.230046:ERROR:nacl_fork_delegate_linux.cc(315)] Bad NaCl helper startup ack (0 bytes) [3904:3904:0605/122948.236249:ERROR:browser_main_loop.cc(495)] Failed to put Xlib into threaded mode. [3904:3904:0605/122948.244840:ERROR:browser_main_loop.cc(272)] Gtk: cannot open display:
Do not remove the directory
~/TouchUI-autostartand if you change the path of this directory then edit the file
/etc/default/touchuiwith the new path.
Upgrading your kernel:
sudo apt-get upgrade sudo apt-get install rpi-update