New Port - VVVVVV
-
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/adde99dfe6f75d58ea8ff5284fed76f14d3e0154and 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/ -
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. :) -
@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.
-
@pjft Ok thanks yes it was mostly DRM I was worried about.
-
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. :-)
-
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:
- 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.
- Update runcommand from RetroPie-Setup > Core Packages
- On
/opt/retropie/configs/ports/vvvvvv/saves/unlock.vvv
make sure that fullscreen is set to 0.<fullscreen>0</fullscreen>
- On
/opt/retropie/configs/ports/vvvvvv/emulators.cfg
addXINIT:
before the command. It should look like:
vvvvvv = "XINIT:/opt/retropie/ports/vvvvvv/VVVVVV" default = "vvvvvv"
After this, enjoy!
-
@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!
-
@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.
-
@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.
-
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 theX11
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.
-
@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
-
-
@langest shouldn't have. Maybe something wasn't right. I've tested it and it works. Can post a log if you want.
-
@psyke83 Worked perfectly. Thanks!
-
Holy cow, that works for Drastic and Oric, too! You made my day, @psyke83 !
-
@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"
-
@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
orpopd
: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.
-
@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.
-
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".
-
I've moved the discussion here.
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.