sn-lab / MouseGoggles

A dual-SPI display mouse VR headset, powered by Raspberry Pi and the Godot game engine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Displays not updating

monrky opened this issue · comments

Hello! I've assembled all the components and installed all the specified software, but the LCD displays are still not updating, even after starting the display driver. I've attached a picture (I realize one of the screens is broken, plz disregard!). Is there anything else I can check or fix?

2B543510-C66E-42E5-9667-EA43991F9932_1_102_o

Looks close to working! The display on the left that's all jumbled, that's what the display looks like before initialization and frame streaming, so it's either that the display driver isn't working or that the communication to the displays is broken somewhere. The former is easy to check:
Just after completing step 1 of operating the system, check that the terminal says something like "Display 0 initialized", "Display 1 initialized", and "main loop started". If you see all that and don't see any errors, then that likely rules out software issues, so tou can move on to the connections. Especially on the first tries of the DIY microsoldering method, it's easy to have bad connections to the FPC connector, usually a pin disconnected or a bridge between pins. Following the microsoldering instructions , you can visually inspect to see if any connections are bad, and you can use a multimeter to check the connections between the FPC pins and the raspberry Pi connector. If any connections are bad, you can try repairing them with a fine-point tip soldering iron, and/or you can try again with a new board (I like to assemble multiple boards at a time anyway in case something goes wrong that I don't notice).

After completing step 1, it doesn't say "Display 1 Initialized" or "main loop started" but it does say "Initializing display / Resetting display at reset GPIO pin 22 / Initialized GC9307 on CS 0 / Initialized GC9307 on CS 1 " ... then it gives me this message: "vc_dispmanx_display_open failed! Make sure to have hdmi_force_hotplug=1 setting in /boot/config.txt"

I went into boot/config.txt and uncommented the line saying "hdmi_force_hotplug=1", rebooted the raspberry pi, and it still gives that message.

I haven't seen this issue before, but I did find a couple related ones in the original driver repository. Though I don't see any obvious clues that would apply to your case. I think that hdmi_force_hotplug solution would only work if you were starting this up without anything connected to the hdmi, but I see you have a monitor plugged in so that's probably not it.

Just checking that you're running this on a Pi 4 model B, with the most recent 32-bit Raspberry Pi OS (Debian Bullseye)? That OS should be the default on the imager so I would guess so. I just installed this a few weeks ago and didn't have any problems but maybe I wasn't using this most recent update on May 3rd? If this is what you're using, you could try installing the previous version from Feb 22. I believe this is done by download that image file, then selecting it from the "Use custom" option in the Raspberry Pi Imager. I'll check what OS I most recently installed as well.

Hm.. okay, thank you for checking. To answer your question, yes, I'm on a Pi 4 model B with the 32-bit Raspberry Pi OS - bullseye. I tried re-installing the OS with the Feb 22 version you linked to, and the displays still don't update. I tried both of my PCBs (I had 2 assembled) -- both produce the same static-y screen -- which indicates it's not an issue with the microsoldering, right? I also tried disconnecting the damaged LCD screen and still getting the same result.

Also: every time I accidentally jostle the LCD display or the pi, the monitor shuts down and restarts, so I have to be really careful to not touch it. I'm not sure if that points to an issue with the LCD display?

I'm not sure what would cause this issue then. If jostling the LCD display can cause the Pi to shut down then maybe there's a microsoldering issue after all, even if it's not the cause of the driver problem.

Try disconnecting the PCB entirely and starting the driver to see if you get the same "vc_dispmanx_display_open failed" error. This will at least narrow down the driver problem. If you still see it, then the only thing I can think of is that some dependency was updated in the last couple weeks and it's causing a new issue. I'll make a new installation this week to see if I run into the same problem.

After disconnecting the PCB entirely from the pi, I'm still getting the "vc_dispamx_display_open failed" error

Oh!! I tried something and it worked! I did some googling and it looks like a lot of people have had similar errors ... it seems like this line: dtoverlay=vc4-kms-v3d in the config.txt file was problematic, so I just commented it out. Now I'm not getting the error message anymore and the display driver is running -- my (single) LCD screen is now updating !! Glad it seemed to be a much simpler fix -- thank you so much for the help troubleshooting.

Oh great to hear, thanks for pushing through that!

Unfortunately I think commenting that line is prevents the Godot game engine from running -- it crashes when I try to open it. It's a catch-22!

Well it's informative nonetheless. Maybe try to switch to an older driver by adding an "f": dtoverlay=vc4-fkms-v3d

works!!! thank you very much.