-
Notifications
You must be signed in to change notification settings - Fork 93
X: Setup: Boot to Browser (OctoPi or Jessie Light)
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 TouchscreenSection "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 (
CTR-O
,enter
andCTR-X
)note you can check the touchscreen mount name through
ls /dev | grep fb
. Ensure this matches what you add in99-fbdev.conf
-
-
Allow X11 to run as anybody by running the following command:
Ignore this step if it failssudo 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:
chromium-browser
-
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:
-
-
Reboot
-
Do not remove the directory
~/TouchUI-autostart
and if you change the path of this directory then edit the file/etc/default/touchui
with the new path. -
Troubleshooting: