VOGONS


First post, by Zoomer

User metadata
Rank Member
Rank
Member

Hi, Dege! As usual, truckloads of thanks for all your hard work. I mean, this is the most important project for me (and not only for me, I think!) that concerns retrogaming and other retroshenaningans.

Now, about shenanigans. Thanks to the Clint's recent LGR video about Serenescreen Marine Aquarium screensaver, I've got a memory unlocked and decided to try it out on my Win11 system. It sorta works, but it seems its internal frame limiter is buggy and causes dropped frames when activated. You can disable it in the screensaver's settings, and then it works fine (>600fps or something), everything's looking smooth. You can even limit its frame rate from the Nvidia Control Panel.

However, it still activates its built-in frame limiter after some time of running and again goes jerky-jerky. A kind of 'sleep' mode. Looks borderline ugly (it's water/fish motion, after all).

So, I was able to have it working with dgVoodoo. The MarineAquarium3.scr executable gets dropped into System32 (even though it's a x86 app). But you can copy it to another location and run it directly from there. You then can also use a utility like Screen Launcher to get it running as a screen saver again when Windows times out.

So when I did all that (copied it to another location together with 2.84.1 dgVoodoo's d3d9.dll), it would run fine (>900 of them efpeeses). However, when I run it in multi-monitor configuration, the screens would go dark for a couple of seconds and then it silently crashes. By default, this screensaver would run on all the available monitors and would span the aquarium quite nicely between them. That works without dgVoodoo (looks fantastic btw). No such luck with dgVoodoo.

I found a workaround for that by setting the 'Fake fullscreen' option, however it will then be displayed only on the main monitor. Now, I get that this probably isn't one of the most popular applications. However, maybe you'll have some suggestions on what else I can try?

The monitors connected are all extremely different. There's main 2560x1440@240hz, and then one portrait (flipped) 1050x1680@75hz, and then a CRT 1024x768@85hz, and then there's also sometimes a TV with 4k@120hz. As I mentioned before, the screensaver somehow doesn't have any problems with such a config. It's only with dgVoodoo that it's crashing.

The author lost the source code and isn't able to code any longer, as I understand it from his forum (there are some bugs reported, but the reply is always the same). So, no help there. The screensaver is available as a trial from his site: https://www.serenescreen.com/v2/issues.html?o … indows#download

I'd be really grateful if you'll get a chance to look into that or maybe push me in the right direction 😀

My GPU is Nvidia 4080S.

Edit: mucking around with it some more, I discovered that if "deferred screen mode switch" is enabled, then it won't crash, however it's getting lost it seems. The monitors will go dark and start switching modes (which doesn't happen if run w/o dgVoodoo), then either left-most monitor will display something stretched out (looks like 2560x1440 stretched and at the same time cropped to 1050x1680) and then the main monitor will probably have either another stretched out full-screen picture (not even sure, what part it is), or maybe it'll have something displayed in a small window in a top left corner (looks like 1024x768). The last monitor gets nothing.

MB: Asus P3B-F 1.03 (2x ISA)
CPU: PIII-S 1.4GHz/VIA C3 800MHz
RAM: 256MB PC133
Video: GeForce 4600Ti/Voodoo 5 5500/Voodoo 3 3500 for DOS Glide
Audio: SB16 OPL3 + Audigy Platinum Ex
OS: Windows 98

Reply 1 of 6, by Squall Leonhart

User metadata
Rank Member
Rank
Member

this looks like an unauthorised redistribution of 3D Fish school

Reply 2 of 6, by darry

User metadata
Rank l33t++
Rank
l33t++
Squall Leonhart wrote on 2025-02-18, 10:41:

this looks like an unauthorised redistribution of 3D Fish school

According to archive.org, both are at least 23 years old.

https://web.archive.org/web/20001214133900/ht … een.com/q&a.htm

https://web.archive.org/web/20010703084051/ht … 3d-fish-school/

Reply 3 of 6, by Squall Leonhart

User metadata
Rank Member
Rank
Member

fwiw, i couldn't get either working on dgvoodoo, or dxwrapper.

Reply 4 of 6, by Dege

User metadata
Rank l33t
Rank
l33t
Zoomer wrote on 2025-01-31, 09:41:
Hi, Dege! As usual, truckloads of thanks for all your hard work. I mean, this is the most important project for me (and not only […]
Show full quote

Hi, Dege! As usual, truckloads of thanks for all your hard work. I mean, this is the most important project for me (and not only for me, I think!) that concerns retrogaming and other retroshenaningans.

Now, about shenanigans. Thanks to the Clint's recent LGR video about Serenescreen Marine Aquarium screensaver, I've got a memory unlocked and decided to try it out on my Win11 system. It sorta works, but it seems its internal frame limiter is buggy and causes dropped frames when activated. You can disable it in the screensaver's settings, and then it works fine (>600fps or something), everything's looking smooth. You can even limit its frame rate from the Nvidia Control Panel.

However, it still activates its built-in frame limiter after some time of running and again goes jerky-jerky. A kind of 'sleep' mode. Looks borderline ugly (it's water/fish motion, after all).

So, I was able to have it working with dgVoodoo. The MarineAquarium3.scr executable gets dropped into System32 (even though it's a x86 app). But you can copy it to another location and run it directly from there. You then can also use a utility like Screen Launcher to get it running as a screen saver again when Windows times out.

So when I did all that (copied it to another location together with 2.84.1 dgVoodoo's d3d9.dll), it would run fine (>900 of them efpeeses). However, when I run it in multi-monitor configuration, the screens would go dark for a couple of seconds and then it silently crashes. By default, this screensaver would run on all the available monitors and would span the aquarium quite nicely between them. That works without dgVoodoo (looks fantastic btw). No such luck with dgVoodoo.

I found a workaround for that by setting the 'Fake fullscreen' option, however it will then be displayed only on the main monitor. Now, I get that this probably isn't one of the most popular applications. However, maybe you'll have some suggestions on what else I can try?

The monitors connected are all extremely different. There's main 2560x1440@240hz, and then one portrait (flipped) 1050x1680@75hz, and then a CRT 1024x768@85hz, and then there's also sometimes a TV with 4k@120hz. As I mentioned before, the screensaver somehow doesn't have any problems with such a config. It's only with dgVoodoo that it's crashing.

The author lost the source code and isn't able to code any longer, as I understand it from his forum (there are some bugs reported, but the reply is always the same). So, no help there. The screensaver is available as a trial from his site: https://www.serenescreen.com/v2/issues.html?o … indows#download

I'd be really grateful if you'll get a chance to look into that or maybe push me in the right direction 😀

My GPU is Nvidia 4080S.

Edit: mucking around with it some more, I discovered that if "deferred screen mode switch" is enabled, then it won't crash, however it's getting lost it seems. The monitors will go dark and start switching modes (which doesn't happen if run w/o dgVoodoo), then either left-most monitor will display something stretched out (looks like 2560x1440 stretched and at the same time cropped to 1050x1680) and then the main monitor will probably have either another stretched out full-screen picture (not even sure, what part it is), or maybe it'll have something displayed in a small window in a top left corner (looks like 1024x768). The last monitor gets nothing.

Thanks!

Indeed, I found bugs in handling monitor outputs in D3D9 in multidevice case. I fixed it, but I only have 2 monitors, so I could only test it for the following configurations:
- 2 monitors attached to 1 adapter (video cards)
- 2 monitors attached to separate adapters

I've just released a WIP update for testing for a game but it contains this fix as well, so you can test it if interested:
https://dege.fw.hu/temp/dgVoodoo_2_84_1_fixes.zip

Reply 5 of 6, by Zoomer

User metadata
Rank Member
Rank
Member

Hi Dege! I forgot to subscribe to my own topic, I'm sorry. I, of course, missed the WIP update, the link no longer works, however I just tried the latest available version from your website: dgVoodoo2.86.5.

If started with default config settings, the screensaver won't launch at all. It just exits after the blanking both screens for a couple of seconds and the mouse cursor showing busy. Disabling other available displays on the DirectXExt tab lets it run on the primary display fine.

However, the exclusive mode is not that important since it works fine even without dgvoodoo. But when set to "borderless", "full screen size" and "fake", then it all works exactly as I want it to! No mode switching, no nothing. Just ideal. The software itself shows both screens available and ready for screensaver. Even allows configuring their resolutions individually. Cool!

Thank you so much for looking into that, fixing it, and pardon the so much delayed reply.

Squall Leonhart wrote on 2025-02-18, 10:41:

this looks like an unauthorised redistribution of 3D Fish school

What? No, it's an absolutely different software (and much better tbh). I don't want to impose or anything but here's the link to the YouTube video I was talking about. It covers the story of the screensaver. You can see it's absolutely not a redistribution. I enjoyed it so much in my childhood. It still looks cool even on 4k displays. Works fine with an OLED panel too, the whole screen is properly moving, no static elements or anything.

https://www.youtube.com/watch?v=PprsZgA-kxs

MB: Asus P3B-F 1.03 (2x ISA)
CPU: PIII-S 1.4GHz/VIA C3 800MHz
RAM: 256MB PC133
Video: GeForce 4600Ti/Voodoo 5 5500/Voodoo 3 3500 for DOS Glide
Audio: SB16 OPL3 + Audigy Platinum Ex
OS: Windows 98

Reply 6 of 6, by Dege

User metadata
Rank l33t
Rank
l33t

Yes, you need fake fullscreen mode. You can run the screensaver in exclusive fullscreen mode but you must ensure you have fake fullscreen enabled in dgVoodoo (IIRC).
Otherwise the dxgi watchdog moves out the rendering windows from real fullscreen mode when switching display modes which loses focus for some reason so the screensaver quits.