[How To] KlipperScreen on Android Smart Phones

Great solution!

Modified mine to this method, thanks!

What can i do in this case? I’m noob in Linux
Skr 1,4t → usb pi4 ← usb android

2022-03-24 20:43:21,754 [KlippyWebsocket.py:reconnect()] - Attempting to reconnect
2022-03-24 20:43:21,754 [KlippyRest.py:send_request()] - Sending request to http://127.0.0.1:7125/server/info
2022-03-24 20:43:21,772 [screen.py:show_panel()] - Attaching panel splash_screen
2022-03-24 20:43:21,783 [screen.py:show_panel()] - Showing back. count: 0
2022-03-24 20:43:21,784 [screen.py:show_panel()] - Current panel hierarchy: [ā€˜splash_screen’]
2022-03-24 20:43:21,786 [splash_screen.py:search_power_devices()] - Connecting to Printer
2022-03-24 20:43:21,786 [splash_screen.py:search_power_devices()] - Power devices: []
2022-03-24 20:43:21,787 [splash_screen.py:search_power_devices()] - Printer power devices not found

How to change to 3 point manual bed level?

I had the same problem . As the XSDL server boots, very briefly, there is a gray configuration bar at the top of the screen. Touching is provides a pulldown menu that includes mouse settings. In my version of XSDL the best selection was the last ā€œTablet (touch)ā€. Playing with the other options was not rewarding. I got into a boot loop and had to uninstall XSDL and reinstall.

Help. Where can I change port number?


/home/pi/KlipperScreen/launch_klipperscreen.sh

After re-install system everything work fine

I finally got KlipperScreen working in a Lenovo Tab 7 . But then all my test prints came out shrunk! about 50% and the prints look terrible

I didnt change anything else in any other settings in Klipper. What could have happened?

Update - still dunno what happened, but I just reverted to a previously saved printer.cfg and removed the android tablet and print is back to what it was.

After making the change you recommend to use by Wifi I receive this message:

 pi@hypercube:~/KlipperScreen $ DISPLAY=:100 /home/pi/.KlipperScreen-env/bin/python screen.py
Unable to init server: Could not connect: Connection refused
Unable to init server: Could not connect: Connection refused
2022-07-07 00:35:41,587 [screen.py:main()] - KlipperScreen version: v0.2.4-10-g37c10fc-dirty
2022-07-07 00:35:41,588 [config.py:get_config_file_location()] - Passed config file: /home/pi/KlipperScreen.conf
2022-07-07 00:35:41,589 [config.py:get_config_file_location()] - Found configuration file at: /home/pi/KlipperScreen/ks_includes/defaults.conf
2022-07-07 00:35:41,589 [config.py:__init__()] - Config path location: /home/pi/KlipperScreen/ks_includes/defaults.conf
2022-07-07 00:35:41,606 [config.py:__init__()] - Configured printers: [
  {
    "Printer": {
      "moonraker_host": "127.0.0.1",
      "moonraker_port": "7125",
      "moonraker_api_key": ""
    }
  }
]
2022-07-07 00:35:41,606 [config.py:__init__()] - Detected language: None
2022-07-07 00:35:41,614 [screen.py:__init__()] - OS Language: en_GB.UTF-8
pi@hypercube:~/KlipperScreen $ ^C
pi@hypercube:~/KlipperScreen $

Any help?

Solved - Don’t worry there is a simple way on Klipperscreen website under Android

Can’t seem to get klipperscreen auto running. I’m just going over wifi as it worked so why not

This is my launch_klipperscreen.sh

#!/bin/bash
# forward local display :100 to remote display :0
DISPLAY=192.168.1.6:0 /home/pi/.KlipperScreen-env/bin/python screen.py

When I start klipperscreen service I get no display and the following with status.

Process: 8603 ExecStart=/home/pi/KlipperScreen/launch_klipperscreen.sh (code=exited,status=203/EXEC)

Funny thing, I had enabled the option to see the rpi’s and mcu’s temperature by adding this to the printer.cfg:

[temperature_sensor raspberry_pi]
sensor_type: temperature_host
min_temp: 10
max_temp: 100

[temperature_sensor mcu_temp]
sensor_type: temperature_mcu
min_temp: 0
max_temp: 100

But I’d never thought using klipperscreen since januari I could see those temperatures on klipperscreen. By accident I discoverd that when running the klipperscreen code as a non-rooted user you are able to see those temperatures.

If your non-rooted user is called ā€œpiā€, add this before the klipperscreen start command:

sudo -u pi

So it looks like this:

adb forward tcp:6100 tcp:6000 && cd /home/pi/KlipperScreen && sudo -u pi DISPLAY=:100 /home/pi/.KlipperScreen-env/bin/python screen.py &

And now you should be able to see Mcu temp and Raspberry pi below the Extruder and Heater bed temperatures

hi would there be a possibility to get in a discord call for some help? i would really appriciate it. i have been trying for 3 days straight now and i really don’t get it.

thx in advance!
Devon

Hi, I would really like to help you but I am on vacation and have no access to my printer config and only limited internet connection. Could you try to describe where you are stuck?

I will be back home November 3rd. We could probably do a discord call then.

Thanks. I am struggling to find out how to disable mouse.

Hello,

I’m having some troubles getting this to work…

Running mainsail OS on a raspberry pi 4, used KIAUH to install klipperscreen.

If I run adb devices on raspberry pi, it shows my device is connected.

When I try to start klipper screen service, it shows this:

KlipperScreen.log is filled with:

--------------------KlipperScreen Log Start--------------------
Git Version: v0.2.9-93-g8ebc855
2022-12-02 16:30:01,310 [screen.py:main()] - KlipperScreen version: v0.2.9-93-g8ebc855
2022-12-02 16:30:01,311 [screen.py:main()] - Failed to initialize Gtk

and /var/log/xorg.log has:

[   763.910] (EE) Screen(s) found, but none have a usable configuration.
[   763.910] (EE)
Fatal server error:
[   763.911] (EE) no screens found(EE)
[   763.912] (EE)

I followed the guide for on the klipperscreen docs page to a T, but still cannot get it to work.

I’ve tried googling Failed to initialize Gtk but cannot find anything relevant to klipperscreen…

Not really sure what I’m doing wrong… if anyone could assist I would be grateful.

Thanks,

-Alex

Hi friends
I have a problem and I can’t solve it.
Installation went smoothly, but touch doesn’t work.
Could it be something on the smartphone?
thanks

sorry for the english of the translator.

So I am hoping for some assistance. I am trying to run two printer with two separate tablets on one host. Through github, I was advised that I would need two DISPLAY commands in my launch_KlipperScreen file. So I added the following command that reprensent my two tablets running xserver.

DISPLAY=192.168.0.7:0 $KS_XCLIENT && DISPLAY=192.168.0.89:1 $KS_XCLIENT

I got one of the printers working. When KS launches, it gives me the option to launch my RedRover printer or my WhiteLighting printer. The issue is, no matter which printer I choose, I am only able to control my RedRover printer. And the only tablet that launch KS is the tablet that is first in the DISPLAY= syntax.

So if I configure as the sample above then my 0.7 tablet launches KS. but if I flip it like below, then my 0.89 tablet launches KS. But never both of them, and my RR printer is the only one controllable regardless of what printer I select when KS launches.

DISPLAY=192.168.0.89:1 $KS_XCLIENT && DISPLAY=192.168.0.7:0 $KS_XCLIENT

I thought this could be an issue with my KlipperScreen.conf but after doing some tweaks to it, it doesn’t appear to make any different. Below is how it is set up. I tried storeing it in the root of my user folder, I also made copies and installed them under each printer folder in the config dir. See below example.

/home/solo/RedRover_data/config
/home/solo/WhiteLighting_data/config

Here is what is in my KlipperScreen.conf

[printer RedRover] moonraker_host: 127.0.0.1 moonraker_port: 7125
[printer WhiteLighting] moonraker_host: 127.0.0.1 moonraker_port: 7126

Ports have been verified multiple times. Can anyone give me a hand with this? Thanks!

I have an update. The first issue that only one printer being able to be control, has been resolved. Editing the KlipperScreen.conf file with the text below resolved that issue.

# Define printer and name. Name is anything after the first printer word
[printer RedRover]
# Define the moonraker host/port if different from 127.0.0.1 and 7125
moonraker_host: 127.0.0.1
# ports 443 and 7130 will use https/wss
moonraker_port: 7125
# Moonraker API key if this is not connecting from a trusted client IP
moonraker_api_key: False

# Define printer and name. Name is anything after the first printer word
[printer WhiteLighting]
# Define the moonraker host/port if different from 127.0.0.1 and 7126
moonraker_host: 127.0.0.1
# ports 443 and 7130 will use https/wss
moonraker_port: 7126
# Moonraker API key if this is not connecting from a trusted client IP
moonraker_api_key: False

Now I can switch between printers from ONE tablet. But I need to be able to use two tablets. So this issue I believe has to do with my launch_KlipperScreen.sh file. Could the formatting be wrong?

Image

I was able to resolve my issue. So to sum up, in order to get multiple printers on the same host, running KlipperScreen on multiple tablets/phones, you need to first edit the KlipperScreen.conf file that is stored "~/home// See a sample of mine below.

KlipperScreen.conf

Second, you need to edit the ā€œlaunch_KlipperScreen.shā€ to launch on the proper displays. I just followed this tutorial. Android - KlipperScreen

Where I deviated, is to accommodate for multiple tablets. So instead of following the tutorial, I changed the ā€œDISPLAYā€ line to account for multiple tablets running xserver by adding an ā€œ&ā€ between the displays. See example below.

DISPLAY=192.168.0.7:0 $KS_XCLIENT & DISPLAY=192.168.0.89:0 $KS_XCLIENT

sample-launch_KlipperScreen.sh

I hope this helps anyone trying a similar set up. Feel free to reach out if you have any questions.

1 Like