RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    gamecon_gpio_rpi 1.3 (kernel 4.9 build fix)

    Scheduled Pinned Locked Moved Ideas and Development
    gpiocontrollergamecongamecondriver
    20 Posts 7 Posters 5.2k 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.
    • P
      psyke83 Global Moderator
      last edited by psyke83

      Update: the original author has updated the official packages to incorporate the build fix. Please update your RetroPie-Setup script and reinstall the gamecondriver. No need to follow the instructions below!


      Hi folks,

      Due to changes in kernel source, the current upstream gamecon_gpio_rpi package will not build on kernel 4.9. I'm offering an updated package that includes a workaround to allow building.

      First make sure to follow the official instructions on installing the gamecon driver via the RetroPie-Setup script: https://github.com/RetroPie/RetroPie-Setup/wiki/GPIO-Modules. This is necessary as the script does more than simply install a single deb package.

      Download the updated package here: (link removed - see updated note!)
      You need to install via a terminal command, like so (replace /path/to/ with the actual location):

      sudo dpkg -i /path/to/gamecon-gpio-rpi-dkms_1.3_all.deb
      

      Pay attention to any errors. A successful installation and build should produce the following output:

      Selecting previously unselected package gamecon-gpio-rpi-dkms.
      (Reading database ... 99733 files and directories currently installed.)
      Preparing to unpack ../gamecon-gpio-rpi-dkms_1.3_all.deb ...
      Unpacking gamecon-gpio-rpi-dkms (1.3) ...
      Setting up gamecon-gpio-rpi-dkms (1.3) ...
      Loading new gamecon_gpio_rpi-1.3 DKMS files...
      First Installation: checking all kernels...
      dpkg: warning: version '*-*' has bad syntax: version number does not start with digit
      It is likely that 4.9.35-v7+ belongs to a chroot's host
      Building for architecture armv7l
      Building initial module for 4.9.35-v7+
      Done.
      
      gamecon_gpio_rpi:
      Running module version sanity check.
       - Original module
         - No original module exists within this kernel
       - Installation
         - Installing to /lib/modules/4.9.35-v7+/updates/dkms/
      
      depmod....
      
      DKMS: install completed.
      

      Please note: I can't test the module myself due to lacking any GPIO-connected controllers. Although the patch is not ideal (using hardcoded defines), it should work fine on all current Pi revisions. If a Pi 4 is released that has a different GPIO base or ARM core revision, it will probably break.

      Source: https://github.com/psyke83/gamecon-gpio-rpi/ (extracted from the deb package via deb-dpkg, as I couldn't find an upstream source repository).

      DarksaviorD 1 Reply Last reply Reply Quote 2
      • P
        psyke83 Global Moderator
        last edited by

        Update: I had to update the package since posting this thread. The previous version I posted (1.2-1) seemed to be confusing DKMS install/uninstall due to the hypen. Please try the new package version 1.3 - OP updated with new link.

        1 Reply Last reply Reply Quote 0
        • G
          geneworld
          last edited by

          Oh man I hope this works! I've been unable to use my controllers for two months now x.x I'll be able to try this hopefully this weekend :)

          1 Reply Last reply Reply Quote 0
          • DarksaviorD
            Darksavior @psyke83
            last edited by

            @psyke83 After 2 months...a fix. Seems to work fine. Thanks!

            1 Reply Last reply Reply Quote 0
            • L
              lbrockman
              last edited by

              Just curious if there is a trick to getting the driver to show inside RetroPie-Setup. The installation completed successfully but the gamecon driver does not show up in the list of installed packages -- and I cannot seem to configure it.

              I am guessing I am missing an easy step somewhere :)? Any idea what I can try?

              Gracias.

              L 1 Reply Last reply Reply Quote 0
              • L
                lbrockman @lbrockman
                last edited by

                @lbrockman Actually I spoke too soon. I updated the RetroPie-Setup Script and I now see the gamecon configuartion under the Configuration / Tools menu.

                Sorry for the confusion. And thanks for the fix :D

                1 Reply Last reply Reply Quote 0
                • G
                  geneworld
                  last edited by

                  I didn't get a chance to try this but I did have one question. If I start with a fresh install is this file a complete install or do I need to install gamecon driver through RetroPie-Setup and then patch it with this?

                  P 1 Reply Last reply Reply Quote 0
                  • P
                    psyke83 Global Moderator @geneworld
                    last edited by psyke83

                    @geneworld

                    It's recommended that you do, because the script does additional configuration beyond installing a .deb package. See: https://github.com/RetroPie/RetroPie-Setup/blob/master/scriptmodules/supplementary/gamecondriver.sh

                    Install the gamecondriver from RetroPie-Setup, ignore the errors related to the 1.2 module not being built, then install my package. Then go back into the RetroPie-Setup script to access the configuration menu.

                    Also keep in mind that either reinstalling gamecondriver from the script or updating all packages will cause the 1.2 package to be installed again.

                    1 Reply Last reply Reply Quote 0
                    • G
                      geneworld
                      last edited by

                      @psyke83 Awesome thanks!

                      1 Reply Last reply Reply Quote 0
                      • B
                        BPMnyc
                        last edited by

                        I just installled your package. I have a pi Zero with NES controller inputs wired to GPIO. I am testing now.
                        Will report back

                        1 Reply Last reply Reply Quote 0
                        • B
                          BPMnyc
                          last edited by

                          This worked like a charm! Thanks for your work! BTW I made this splashscreen image for my "NesPi," setup. Feel free to use it!0_1501795319232_NesPi.png

                          1 Reply Last reply Reply Quote 0
                          • B
                            BornDead
                            last edited by

                            @psyke83
                            Thank you! It´s working perfectly.
                            Do you have knowledge how to change which GPIO pins that are used for player 5 and 6?

                            I have tried to edit gamecon_gpio_rpi.c to the following code without success:

                            /* GPIO pins 0, 1, 4, 7, 22, 23 */
                            static const int gc_status_bit[] = { 0x01, 0x02, 0x10, 0x80, (1<<22), (1<<23) };
                            static const int gc_gpio_ids[] = { 0, 1, 4, 7, 22, 23 };

                            I want to be able to use GPIO02 and GPIO03 for power and reset buttons. And to use 2 nes controllers and 2 snes controllers via gamecon gpio.

                            1 Reply Last reply Reply Quote 0
                            • E
                              EmuChicken
                              last edited by

                              Nice to see this is a quite recent topic. Hey y'all!

                              Thanks for helping rewrite the code to work in the latest Retropie, psyke83! - I can successfully install your package, but when I configure the controller through the commandline, "modprobe --first-time db0_gpio_rpi map 4,4" - it throws out an error ... (re: finding a modfile or db9 etc)

                              Is there a way around this?

                              Thanks in advance
                              Tim (with a pi primed with 2 sets of wired db9 connectors all ready to go)

                              --- slightly unrelated, but if I set up both to megadrive connectors, would the amiga / atari work also? I remember megadrive pads working fine in the amiga, so any thoughts?

                              P 1 Reply Last reply Reply Quote 0
                              • P
                                psyke83 Global Moderator @EmuChicken
                                last edited by

                                @EmuChicken

                                The RetroPie script's gamecon driver installation consists of two packages that build kernel modules - db9_gpio_rpi and gamecon_gpio_rpi. The package that I provided is only for one, and not the one you need.

                                I'm guessing that you tried installing my updated package without first following the installation instructions, which is why the db9 package (and driver) is not present. https://github.com/RetroPie/RetroPie-Setup/wiki/GPIO-Modules

                                1 Reply Last reply Reply Quote 0
                                • DarksaviorD
                                  Darksavior
                                  last edited by Darksavior

                                  The original developer, marqs, has updated both drivers to build properly:

                                  https://github.com/marqs85/gamecon_gpio_rpi
                                  https://github.com/marqs85/db9_gpio_rpi

                                  Do those repos need to be added by @BuZz to retropie?

                                  P 1 Reply Last reply Reply Quote 0
                                  • P
                                    psyke83 Global Moderator @Darksavior
                                    last edited by

                                    @darksavior said in gamecon_gpio_rpi 1.3 (kernel 4.9 build fix):

                                    The original developer, marqs, has updated both drivers to build properly:

                                    https://github.com/marqs85/gamecon_gpio_rpi
                                    https://github.com/marqs85/db9_gpio_rpi

                                    Do those repos need to be added by @BuZz to retropie?

                                    Great news. I see that marqs has already sent a PR to update the RetroPie-Setup script, so nothing needs to be done. I've added a note to the top of this thread.

                                    1 Reply Last reply Reply Quote 0
                                    • P
                                      psyke83 Global Moderator
                                      last edited by

                                      @EmuChicken,

                                      I didn't realize that the db9_gpio_rpi driver also needed patching with the same build fix, but the original author has done it now. If you update your script and reinstall the official drivers, your controllers should work.

                                      1 Reply Last reply Reply Quote 0
                                      • E
                                        EmuChicken
                                        last edited by

                                        Aye, thanks for the update... Will give it a shot now

                                        1 Reply Last reply Reply Quote 0
                                        • E
                                          EmuChicken
                                          last edited by

                                          when configuring with modprobe:
                                          "modprobe: ERROR: could not insert 'db9_gpio_rpi': Invalid argument"

                                          ;-(

                                          1 Reply Last reply Reply Quote 0
                                          • E
                                            EmuChicken
                                            last edited by

                                            Sussed it! Updated everything using the command lines- reinstalled. then needed to add "SUDO" to the "modprobe --first-time gamecon_gpio_rpi map 4,4"

                                            All working! Thanks for the help!

                                            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.