New build black screen

Hi,

I’m new to Zynthian, apologies if I’m missing anything obvious.

My new installation shows the logo and then UI on boot, then the screen goes black with a small white underscore in the left corner, the web interface remains available throughout.

I used the my recent image from the Wiki.

I then installed the LCD drivers as recommended by LCD vendor, hardware details below. Any help would be appreciated.

Screen:

Raspberry Pi 4B (Model B) Rev 1.2

Driver install:
http://www.lcdwiki.com/3.5inch_RPi_Display

Thanks.

Don’t do this. Installing the drivers will break zynthian config. You have to use one of the listed displays or create your custom config for zynthian.

Touch controller: XPT2046 (ADS7846)
Display controller: ILI 9486

It should be “more or less” compatible with the official Zynscreen.
If not, try some waveshare 3.5 display from the list. They use the same chips (more or less) and have the same resolution.

This options should work “more or less”, but probably, there will be some problem like rotated display, not working or rotated touch, backlight problems, etc.

The best you can do is create a custom config display using the manufacturer scripts & repo as source. From the install script, i see they are using this overlay:

dtoverlay=tft35a:rotate=90

(LCD-show/LCD35-show at master · goodtft/LCD-show · GitHub)

The overlay is available on the same repo, inside the “usr” folder. You should copy it to “/boot/overlays” and rename it to “tft35a-overlay.dtbo”. I just downloaded and renamed it for you:

tft35a-overlay.dtbo (2.6 KB)

Anyway, i would recommend to start with a fresh-burned SD and don’t install anything from the manufacturer, except the overlay.

When you have a fully working config, you can send a PR to the zynthian-sys repo, or simply report here and i would do, so your display get listed on the webconf.

Regards,

Thanks so much for the detailed reply. I’ll start with a fresh install and copy the overlay as advised.

Will let you know how it goes.

Cheers.

Hi,

I have started from a fresh clean image and tried the following available options:

  • ZynScreen 3.5
  • PiScreen 3.5v1 and v2
  • PiTFT 3.5 resistive
  • WaveShare 3.5 (all versions)

With and without the overlay tft35a-overlay which I copied and renamed in /boot/overlays as advised.

The results are consistent across all configurations which is a constant white screen displayed on the LCD.

I will attempt to create the custom config display using the manufacturer scripts and repo as source as suggested, but I’m not clear exactly on the process for this.

Looking over the detail provided here I’m assuming I need to:

  • Download the manufacturer driver repo
  • Work out exactly which files are changed in /etc and /boot as described in the link above.
  • Create a custom /zynthian/config/zynthian_custom_config.sh which downloads the source and copies the files to the relevant destinations
  • Test config until working.
  • Once working submit a pull request to zynthian-sys to add the custom config.

I’m slightly concerned I’m maybe overcomplicating things and also reluctant to write changes to the clean image as re-imaging the SD cards is very slow on my machine.

Sorry for the long post, any advice on the best way to proceed, ideally referencing some detailed instructions would be greatly appreciated.

Many Thanks.

You should try more display options in webconf to see if any work, for example MHS35 480x320.

Thanks @riban - just tried that and it was whitescreen only. I’ll work my way through any other 3.5 I can see.

That screen is a pain! I bought one in my early Zynth days and ended up throwing it across the room in despair, vowing to never buy another one. Even if you get it working it tends to be locked to a particular kernel version or is prone to break. I think there has been some work since then to improve support but I value my time too much to revisit that hellish time!

Yes this screen is a pain, but I’ve managed to get it working many times ago.
Let me have a look

1 Like

Thanks again everyone for the support, really appreciated. This journey has definitely been a good meditation practice =)

Initially I lost about 6hrs due to Balana Etcher bricking both my new SD cards which is something I’ve never seen before.

After managing to essentially unbrick one of the SD cards and use Rasberry’s native imaging tool, they still take much longer than I remember to deploy the image.

I accept this will be an exercise requiring patience, but have no doubt it will be more than worth it at the end.

I’ll also gladly document the journey to hopefully help others going forward.

Thanks.

1 Like

A brief update:

After wiping the SD card again, I retried the MHS35 custom setting, looking at the UI logs, it seems the UI is running, however the screen remains white. Kind of feels like progress?

Ta.

Another brief update:

I will work through the screen driver install/config file line by line and make all relevant changes made by the script on my install until I hopefully see the Zynthian UI instead of the white screen.

I will document the changes in a copy of the LCD35-show file, detailing which changes were made or if changes were not applicable.

I’m hoping once this is complete, it will shed light on the specific changes required and then also feed into the next step of making a pull request to add the custom display.

Please let me know if this is a sound/logical approach and if there are any specific things I should avoid doing or stick to, particularly in regard to Zynthian custom config.

It’s also worth noting, I have initially scanned across multiple google results regarding specific errors and will likely reference any previous posts as part of this investigation process.

Thanks in advance.

1 Like

Yeah that’s good. I’m just doing exactly the same as you starting from a fresh new SD Zynthian install.
10 mn left until SD card is burned …

2 Likes

Starting from a fresh latest stable install:

  • via ssh access:

git clone https://github.com/goodtft/LCD-show.git
cd LCD-show/
cp ./usr/tft35a-overlay.dtb /boot/overlays/
cp ./usr/tft35a-overlay.dtb /boot/overlays/tft35a.dtbo

  • via webconf:
    Hardware → kit → custom → save
    Display → custom-> set :

config:dtoverlay=tft35a:rotate=90
width: 480
height: 320
framebuffer: /dev/fb1

=> reboot: It works except Y axis of touch interface wich is swapped.

BTW, that’s how mine looks like:

1 Like

Thanks, will replicate exact steps and update, I was literally dissecting, documenting and rev engineering / learning at the /boot/config.txt stage. Will update shortly, although my clean install is now a bit tainted so may re-image also.

Thanks again.

@le51 you are an absolute star!

I think I needed a better understanding of the question before trying to find the answer. You’ve without doubt saved me many hours on a sunny Friday.

Thanks @le51 , @jofemodo and everyone else who posted!

2 Likes

Once everything is fully working and tested, I’ll do the write up with full details.

2 Likes

Fantastic!!

1 Like

Hi, hopefully a quick and simple question, but what is the correct way to manage screen axes calibration? I tried multi configurations in /etc/X11/xorg.conf.d/99-calibration.conf

So far I tried using the keyboard to navigate to the menu on the UI, along with the xinput_calibrator writing out to 99-calibration.conf and various combinations passed to the dtoverlay in UI config (e.g. invx=), but nothing seems to be making any difference.

The screen is the right way up, but stylus up is left, down is right etc.

Thanks!

IT runs in a similar fashion (touchscreen reversed) on a Pi 3 but a mouse exhibits the select the first element in the list effect alluded to elsewhere… Using it from a arduino encoder box occasionally goes down the select list but jumps back to the top selected item, same happens with a keyboard.
… SORRY FOR THE UPDATE.

So it looks like I can resurrect zynthian-touch.local.

It runs testing too…