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

    New Port - VVVVVV

    Scheduled Pinned Locked Moved Ideas and Development
    portsvvvvvvgame
    53 Posts 17 Posters 11.0k 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
      pamput @pjft
      last edited by

      @pjft no worries, I appreciate the help. I'm happy to run any kind of debug for you if you need it.

      1 Reply Last reply Reply Quote 0
      • pjftP
        pjft
        last edited by pjft

        So, I confirm that on the Pi4 we do get the mouse pointer there (extremely awkward :) ) even on my DS3, but also that the performance is indeed not optimal.

        Let me look into it for a bit and see if I can come up with anything.

        The CPU is at 30%, so that's not the framerate bottleneck. Might be related to the graphics driver.

        EDIT: the mouse cursor seems to be related to a commit that took place recently.
        https://github.com/TerryCavanagh/VVVVVV/commit/adde99dfe6f75d58ea8ff5284fed76f14d3e0154

        and EDIT: it might just be that we're out of luck here until the actual graphic drivers are improved.
        https://www.raspberrypi.org/blog/vc4-and-v3d-opengl-drivers-for-raspberry-pi-an-update/

        1 Reply Last reply Reply Quote 0
        • BobHarrisB
          BobHarris
          last edited by

          Does anyone know if I can extract the data.zip file after purchasing the game from here: https://www.humblebundle.com/store/vvvvvv
          It's only € 1.34 there currently. :)

          Pi 3B , 64 GB Sandisk ultra flashdrive, 19 systems, 872 hand picked classic gaming gems :-) Dual shock 4v2

          pjftP 1 Reply Last reply Reply Quote 0
          • pjftP
            pjft @BobHarris
            last edited by

            @BobHarris I'd imagine you can - it's DRM-free for Mac, Windows and Linux, so you should be able to just go at it.

            BobHarrisB 1 Reply Last reply Reply Quote 0
            • BobHarrisB
              BobHarris @pjft
              last edited by

              @pjft Ok thanks yes it was mostly DRM I was worried about.

              Pi 3B , 64 GB Sandisk ultra flashdrive, 19 systems, 872 hand picked classic gaming gems :-) Dual shock 4v2

              1 Reply Last reply Reply Quote 0
              • RanmaR
                Ranma
                last edited by

                Thanks for the heads up on this. Got it nicely installed on my Pi3b+ no issues. Yes it does have the cursor also but that doesn't bother me. The performance is absolutely brilliant, and what a great game! I'd never played it before but it's amazing fun.

                Can I just ask - I installed from source and it all went well, but I think I now have a folder in /opt called vc. I didn't have this before so I'm assuming this is as a result of the source install. Can this folder now be deleted or is it still a crucial working directory? Many thanks all. :-)

                1 Reply Last reply Reply Quote 0
                • pjftP
                  pjft
                  last edited by pjft

                  I always recall having /opt/vc, so I wouldn't touch it :)

                  If you want to disable the cursor, you can probably checkout an older commit and compile that source version. I can try to help with that later.

                  @pamput and @langest and everyone else on the Rpi4. First of all, huge thanks to @psyke83 as it was his guidance that helped address this. After some troubleshooting and back and forth I do confirm that I have gotten this to run as smooth as possible on the Pi4 :)

                  Summary:

                  1. Install xorg if it isn't installed. An easy way to go about it is to install Minecraft via RetroPie-Setup (you can probably uninstall it afterwards), as it'll install that dependency.
                  2. Update runcommand from RetroPie-Setup > Core Packages
                  3. On /opt/retropie/configs/ports/vvvvvv/saves/unlock.vvvmake sure that fullscreen is set to 0. <fullscreen>0</fullscreen>
                  4. On /opt/retropie/configs/ports/vvvvvv/emulators.cfg add XINIT:before the command. It should look like:
                  vvvvvv = "XINIT:/opt/retropie/ports/vvvvvv/VVVVVV"
                  default = "vvvvvv"
                  

                  After this, enjoy!

                  RanmaR P langestL 3 Replies Last reply Reply Quote 2
                  • RanmaR
                    Ranma @pjft
                    last edited by

                    @pjft said in New Port - VVVVVV:

                    I always recall having /opt/vc, so I wouldn't touch it :)

                    Yes you're right. For some reason I thought it was a new directory. I've only just started setting up a new fresh install from scratch. I've been running the same version for some time and thought it time to upgrade, and I didn't remember the directory. Having a look on my old system shows it is indeed there too, so I'll leave it alone. Many thanks!

                    1 Reply Last reply Reply Quote 1
                    • P
                      pamput @pjft
                      last edited by pamput

                      @pjft, still no good for me :( All I get now is a still image of the word "Pre" in the middle of the screen (a piece of the word "Press" usually shown at the beginning of the game). :( Other than that the game is frozen.

                      pjftP 1 Reply Last reply Reply Quote 0
                      • pjftP
                        pjft @pamput
                        last edited by pjft

                        @pamput edit the config file and set full screen to zero, as described. You're almost there.

                        Edit: noticed that in the text I said zero (correct) but in the example it read 1 (wrong). Fixed it now.

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

                          Another (possibly simpler) option is to force vsync without the need of Xorg by prefixing the command with SDL_RENDER_VSYNC=1. So, emulators.cfg would look like so:

                          vvvvvv = "SDL_RENDER_VSYNC=1 /opt/retropie/ports/vvvvvv/VVVVVV"
                          default = "vvvvvv"
                          

                          The performance issue is due to a bug in SDL2's kmsdrm video driver when vsync is disabled, which doesn't happen when using the X11 driver via an Xorg context.

                          Setting the above environment variable will force vsync to be enabled, but this may cause in-game issues, judging from the comment on this rejected PR.

                          roslofR 1 Reply Last reply Reply Quote 3
                          • P
                            pamput @pjft
                            last edited by

                            @pjft said in New Port - VVVVVV:

                            Edit: noticed that in the text I said zero (correct) but in the example it read 1 (wrong). Fixed it now.

                            Ok, I thought I was going crazy O___O Now it works! Thank you very much my friend :D

                            1 Reply Last reply Reply Quote 0
                            • langestL
                              langest @pjft
                              last edited by

                              @pjft
                              Adding XINIT: works great.
                              @psyke83
                              Adding SDL_RENDER_VSYNC=1 prevented the game from launching.

                              BuZzB 1 Reply Last reply Reply Quote 0
                              • BuZzB
                                BuZz administrators @langest
                                last edited by

                                @langest shouldn't have. Maybe something wasn't right. I've tested it and it works. Can post a log if you want.

                                To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                                1 Reply Last reply Reply Quote 0
                                • roslofR
                                  roslof @psyke83
                                  last edited by

                                  @psyke83 Worked perfectly. Thanks!

                                  roslofR 1 Reply Last reply Reply Quote 0
                                  • roslofR
                                    roslof @roslof
                                    last edited by roslof

                                    Holy cow, that works for Drastic and Oric, too! You made my day, @psyke83 !

                                    P 1 Reply Last reply Reply Quote 0
                                    • P
                                      pamput @roslof
                                      last edited by

                                      @roslof said in New Port - VVVVVV:

                                      Holy cow, that works for Drastic and Oric, too! You made my day, @psyke83 !

                                      how did you make it work for Drastic?

                                      I've tried and met mixed results:

                                      drastic = "XINIT:pushd /opt/retropie/configs/nds/drastic; /opt/retropie/emulators/drastic/drastic %ROM%; popd"
                                      default = "drastic"
                                      P 1 Reply Last reply Reply Quote 0
                                      • P
                                        psyke83 Global Moderator @pamput
                                        last edited by psyke83

                                        @pamput said in New Port - VVVVVV:

                                        @roslof said in New Port - VVVVVV:

                                        Holy cow, that works for Drastic and Oric, too! You made my day, @psyke83 !

                                        how did you make it work for Drastic?

                                        I've tried and met mixed results:

                                        drastic = "XINIT:pushd /opt/retropie/configs/nds/drastic; /opt/retropie/emulators/drastic/drastic %ROM%; popd"
                                        default = "drastic"
                                        

                                        You should try the other workaround. In this case, you would need to prefix the variable before the emulator rather than the pushd or popd:

                                        drastic = "pushd /opt/retropie/configs/nds/drastic; SDL_RENDER_VSYNC=1 /opt/retropie/emulators/drastic/drastic %ROM%; popd"
                                        default = "drastic"
                                        

                                        Since we can't build drastic from source or control vsync via other means, it might be a good idea for us to set this as the default for the installation script.

                                        P 1 Reply Last reply Reply Quote 0
                                        • P
                                          pamput @psyke83
                                          last edited by

                                          @psyke83 ah, ok, I actually thought the variable would apply to the entire context, not the single individual command. Live and learn.

                                          So this actually works, but still keeps a quite interesting bug. If you get drastic running and get into the menu, the rendering on screen is always on one frame behind what the actual menu state is in. Are you guys having a similar issue?

                                          I'm wondering if it's worth starting a new thread discussing this, since we already hijacked the original conversation.

                                          roslofR 1 Reply Last reply Reply Quote 0
                                          • roslofR
                                            roslof @pamput
                                            last edited by roslof

                                            So this actually works, but still keeps a quite interesting bug. If you get drastic running and get into the menu, the rendering on screen is always on one frame behind what the actual menu state is in. Are you guys having a similar issue?

                                            Yes, exactly the same issue. The side effect is worth the performance for me.

                                            I'm wondering if it's worth starting a new thread discussing this, since we already hijacked the original conversation.

                                            Probably. I confirmed this works for

                                            • Drastic
                                            • Oric
                                            • Port: Jump & Bump
                                            • Port: Prince of Persia (sdlpop)
                                            • ...and the unsupported SRB-Kart (for those who followed the installation thread

                                            Marathon could probably also benefit, but it launches differently. Since you figured this out, I'd welcome you to start the new thread and leave this to "VVVVVV".

                                            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.