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.1k 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

      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
                        • P
                          pamput
                          last edited by

                          I've moved the discussion here.

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

                            Has anyone had luck getting an 8bitdo controller working in D-input mode working with this port? It recognizes my controller in X-input mode, but not in D-input mode.

                            1 Reply Last reply Reply Quote 1
                            • Y
                              Yeetzy @tacgnol
                              last edited by

                              @tacgnol there's an option in-game to show/hide cursor. Worked for hiding mine :)

                              1 Reply Last reply Reply Quote 1
                              • nitrohepcatN
                                nitrohepcat @tacgnol
                                last edited by

                                This post is deleted!
                                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.