RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Python Help - Second ILI9341 Display White After Pi Update

    Scheduled Pinned Locked Moved Help and Support
    pythontfttft screenprogrammingadafruit
    20 Posts 3 Posters 5.7k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • obsidianspiderO
      obsidianspider
      last edited by

      I have said before that one of the nice things about the Raspberry Pi is that it's a "low consequence" computer, meaning that worst case, you can either just pop in a new disk or if the whole hing explodes, you're only out $35 or so.

      After spending HOURS yesterday on figuring out what was going on with the screen not working and ultimately ending up with garbled output, I decided to take another Micro SD card, put a fresh image of RetroPie on it, update it fully, including Raspbian, and then reinstall the Adafruit library, and try again.

      Lo and behold, it works.

      0_1488569198367_sfc-pi3-apart-testing-screen.jpg

      Since the problem before seemed to stem from the bad identification of the SOC I ran cat /proc/cpuinfo and I'm seeing the

      Hardware	: BCM2709
      

      that my other Pi 3s are showing. I only put one game on to see how things are working, but in the RetroPie menu I'm getting the "Northwest" problem, so I'm going to apply the patch and see what happens. That takes a few hours to run, so we'll see.

      📷 @obsidianspider

      1 Reply Last reply Reply Quote 0
      • obsidianspiderO
        obsidianspider
        last edited by

        It looks like I'm not the first one to notice the BCM2835 issue. Even our RetroPie team has noticed it.

        📷 @obsidianspider

        1 Reply Last reply Reply Quote 0
        • obsidianspiderO
          obsidianspider
          last edited by

          After running the Raphnet fix, the CPU is once again reporting as BCM2835, so that's the issue, apparently the kernel coders have decided to correctly report the chip, which ultimately is a good thing, but it breaks this Adafruit script. Now to try to fix it again on the new image.

          📷 @obsidianspider

          obsidianspiderO 1 Reply Last reply Reply Quote 0
          • obsidianspiderO
            obsidianspider @obsidianspider
            last edited by obsidianspider

            Sure enough, fixing the GPIO module to tell it that it's a BCM2835 resulted in the same garbled image. Which tells me that something else is looking for that BCM2709 and is freaking out because it can't find it.

            Oh well, at least I'm getting somewhere.

            Time to pop the original SD card back in.

            📷 @obsidianspider

            1 Reply Last reply Reply Quote 0
            • obsidianspiderO
              obsidianspider
              last edited by obsidianspider

              I can't seem to tell if the issue is with the new kernel, or another piece in the Adafruit libraries that is somehow misidentifying the SOC.

              I can see this being a bigger problem going forward too, because in doing a search for BCM2709 on my machine I see that Adafruit's retrogame also uses BCM2709 to determine GPIO layout.

              I wonder if this is something I should bring up on Github? I'm not even sure how to do that exactly.

              📷 @obsidianspider

              1 Reply Last reply Reply Quote 0
              • obsidianspiderO
                obsidianspider
                last edited by

                I sent a message via the feedback link on Adafruit's site, but not sure if that will do anything.

                0_1488580125970_Screen Shot 2017-03-03 at 5.28.01 PM.png

                📷 @obsidianspider

                1 Reply Last reply Reply Quote 0
                • obsidianspiderO
                  obsidianspider
                  last edited by

                  I also put a message up over at the Adafruit forums since Github says to try there first .

                  0_1488582974609_Screen Shot 2017-03-03 at 6.15.48 PM.png

                  📷 @obsidianspider

                  herb_fargusH 1 Reply Last reply Reply Quote 0
                  • herb_fargusH
                    herb_fargus administrators @obsidianspider
                    last edited by

                    @obsidianspider just throwing this out there but might be mutually beneficial if adafruit were willing to work on a module with us for inclusion with the setup script (more people would probably buy their hardware if there was an "easier" setup) I've been meaning to make a handheld (one day!)

                    If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

                    Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

                    obsidianspiderO 1 Reply Last reply Reply Quote 1
                    • obsidianspiderO
                      obsidianspider @herb_fargus
                      last edited by

                      @herb_fargus This particular library wouldn't help with a handheld as it's just for static images, but they do have others that are used in their handheld kids/projects for enabling TFTs and also their Retrogame library (which I plan to use with a Pi 3 if I can get the 3 trimmed down enough to fit).

                      If I didn't need the "Northwest Fix" I'd reimage my spare SD card again, and be done with it, but I think that's shortsighted, because eventually that BCM2835 identifier will find its way into "regular" updates and then all kinds of stuff is going to break, as BuZz pointed out in that Github thread.

                      I'm hopeful someone will figure out what's going on with that garbled output, but I don't know if the updated kernel is causing issues, if the libraries Adafruit is using is doing something weird, or if my code modification to cause the platform to be detected as a Pi is to blame.

                      I don't know enough about Python, programming, hardware, or Linux to fully grasp this, but I'm sure as heck learning a lot as I've been digging into the issue.

                      📷 @obsidianspider

                      1 Reply Last reply Reply Quote 0
                      • obsidianspiderO
                        obsidianspider
                        last edited by

                        More confirmation that there's likely something up with SOC identification. When I was updating my Genesis Pi I noticed that the kernel was updated to 20170303, so I figured I'd update my Super Famicom Pi just to see what happens. Sure enough, after applying the new kernel, the SOC is once again identifying as BCM2709 and the screen is working correctly. That darn "Northwest" problem is back again though, so I'm going to try re-running the fix and see how that goes. If I knew where in the kernel source the SOC hardware identification was located I'd just change it, but I don't know where to look.

                        0_1488809558880_screen-working.jpg

                        📷 @obsidianspider

                        1 Reply Last reply Reply Quote 0
                        • obsidianspiderO
                          obsidianspider
                          last edited by

                          It's working!

                          I reapplied the Raphnet kernel patch. The CPU is once again showing as BCM2835, but my screen's output is fixed! It looks like the 20170303 version of the kernel fixed the issue.

                          I'm really going to think twice about updating the software on my now working Super Famicom Pi.

                          📷 @obsidianspider

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                          Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.