What's new
VORON Design

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members!

KlipperScreen\XServer not starting - 'No screens' error. PI boots to console prompt.

Exaggerbator

New member
I have a Voron 2.4 rev-C LDO kit with a BTT 4.3inch TFT LCD DSI Display. Since Nov\Dec 2024 the screen would not boot into KlipperScreen only to the console prompt. Printing still worked through Mainsail. I didn't update anything that I know of it just stopped working. Digging around I was getting these errors in both the KlipperScreen and xserver logs
  • Could load module "fbdev"
  • Could load module "fbturbo"
  • (EE) no screens found(EE).
I thought it would be a simple driver install (fbturbo) issue but doing just that did not work. It gave me the error here:
https://klipperscreen.readthedocs.io/en/latest/Troubleshooting/FBturbo/

It was quite the ordeal to get it working so I'm posting my steps in case it can save someone else the pain.


Here's all the things I did to resolve the problem:

Hardware:
  • Running a RPI4b on Bookworm.
  • BTT 4.3inch TFT LCD DSI Display
1. View your logs

# Copy the klipperscreen and xscreen logs to show up in your Mainsail page under Machine -> Logs
# The xserver log was the most helpful. It tells you all of the drivers it's trying to load and the errors so you can see what it isn't finding - for me it was the fbturbo, fbdev, and inputlib drivers at different points.
Code:
/var/log/Xorg.0.log


2. Update the host

Code:
sudo apt-get update
sudo apt-get upgrade


3. Update all the packages showing in Mainsail; klipper, klipperscreen, mainsail, moonraker etc. If you haven't updated in awhile be careful - there may be breaking changes that needed additional actions to get update-to-date.


4. Reinstall KlipperScreen

# In Kiauh
Uninstalled KlipperScreen
Resinstalled KlipperScreen


5. Update /boot/config.txt

# Set my boot config.txt as directed in the LDO kit documentation


6. Removed and resinstalled fbturbo driver

Removal steps: https://klipperscreen.readthedocs.io/en/latest/Troubleshooting/FBturbo/
Install:
Code:
sudo apt-get install xserver-xorg-video-fbturbo


7. Update/Confirm the driver config is using the right frame buffer (fb) id.

# Checked which frame buffer (FB) is active - I only had one which was fb0
Code:
ls /dev/fb*
/dev/fb0

# Updated the config files in both the etc and usr locations - I think xserver is using the usr location.

Code:
sudo nano /etc/X11/xorg.conf.d/99-fbdev.conf
sudo nano /usr/share/X11/xorg.conf.d/99-fbdev.conf

Code:
    Section "Device"
    Identifier "LCD"
    Driver "fbdev"
    Option "fbdev" "/dev/fb0"
    Option "Rotate" "180"
    Option "SwapbuffersWait" "true"
    EndSection


8. At this point the screen worked but touch was not registering in the right positions. If it's all working for you, no need to continue with the rest of the steps.

9. Xserver log said it could not load inputlib driver so resinstalled it.

Code:
sudo apt-get reinstall xserver-xorg-input-libinput


10. Play with the touchscreen matrix transformations to see which works.

# You can run these on the ssh console and test immediatly - no need to reboot each change


11. Update the touchscreen input driver configs with the transformation matrix that worked as an Option.

# Again I did in both the etc and usr configs
Code:
sudo nano /etc/X11/xorg.conf.d/40-libinput.conf
sudo nano /usr/share/X11/xorg.conf.d/40-libinput.conf

Code:
    Section "InputClass"
    Identifier "libinput touchscreen catchall"
    MatchIsTouchscreen "on"
    MatchDevicePath "/dev/input/event*"
    Driver "libinput"
    Option "TransformationMatrix" "1 0 0 0 1 0 0 0 1"
    EndSection


Hope this helps someone. Happy troubleshooting!
 
Last edited:
Top