0

I have been trying to get a 4" LCD touchscreen (allegedly a waveshare 4inch HDMI LCD device, 800x480 + XPT2046 controller, but no branding, so who knows) working with a pi 3b to no avail. The problem I'm having is easier to show than to explain, so image attached.

manky display

For the sake of explanation, what it looks like is that the scanlines are 90 degrees of where they should be, but somehow the net area of the screen is taken up. Thus, there are a bunch of black lines between the parts with image data, and everything is just plain manky but you can see the image is "there" in the mess.

things tried

I have used both the driver installer and the image from the waveshare github page, no effect. I have also read through this rather scathing but useful blog post but that did not manage to help either. I can get the image rotated 90 degrees so it's not as bad, but the missing horizontal data is still missing, and I am not sure what the problem is primarily because I don't seem to be able to find others having this problem (most likely I'm describing the problem incorrectly, hence the image).

Also, screen is confirmed working correctly because I can use an SD card that has some massaged code on it and it works as expected. Unfortunately, I cannot seem to extract the information from the working image owing to a rather massive amount of undocumented hacking on that image by not-me. Hornets nest that one.

Thanks in advance for any help, greatly appreciated.

  • how many raspberries should be showing? – jsotola Mar 5 at 4:50
  • dunno, never counted them before. The key takeaway here, however, is that there should be only one row of them; this is what I was saying about the display being out by 90 degrees but still filling the display. However, if I get the 90degree problem fixed, the illegible text remains. – Matt Mar 5 at 5:00
  • @jsotola since Matt says it's a RPi3B there should be four raspberries. What does tvservice -s make of that screen? Does it work if you connect some other HDMI source? Have you tried hdmi_safe=1 in /boot/config.txt? – Dougie Mar 5 at 14:38
  • it looks like the horizontal resolution of the display is set to a higher value than it should be ... the image is folded and each row of dots in the image is displayed in two rows on the screen – jsotola Mar 5 at 15:22
0

OK, I posted this question after a few days of faffing about to no avail, only to manage to get it working a couple hours later.

Feeling like a bit of a lemon now, but for the sake of completeness I'm posting what I've done here; this solution is incomplete and probably not quite correct anyway as I am still trying to figure out all the config options, but this does work for now at least.

I am using an ubuntu 19.10 server image (32 bit), and made the following edits:

/boot/firmware/usercfg.txt

dtparam=i2c_arm=on
dtparam=spi=on
enable_uart=1
display_rotate=3
hdmi_force_hotplug=1
config_hdmi_boost=7
hdmi_group=2
hdmi_mode=1
hdmi_mode=87
hdmi_drive=1
hdmi_cvt 480 800 60 6 0 0 0
dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy=0,pmax=255,xohms=150,xmin=200,xmx=3900,ymin=200,ymax=3900

/boot/firmware/nobtcmd.txt

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=LABEL=writable rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait fbcon=map:10 fbcon=font:ProFont6x11 logo.nologo

If I come up with something more optimal in the next steps, I'll update this answer to reflect the changes.

| improve this answer | |
  • Please accept your own answer with a click on the tick on its left side. Only this will finish the question and it will not pop up again year for year. – Ingo Mar 9 at 10:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.