[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