Official release thread for WindowCast core

WindowCast for Libretro (formerly WGC Window Capture)

Libretro core to capture the contents of another window for video processing. This is useful, for say, capturing the output of a standalone emulator (like xemu, Dolphin standalone, RPCS3 or PCSX2 nightlies) or a PC game running in a window and then processing it with RetroArch’s shader stack.

Here’s an example of the core in action, capturing Dead Cells (image courtesy of HyperspaceMadness).

Download

I plan to eventually have this core downloadable via the online updater. Until such time, you can download it from the following links;

  • Original software-only version here. Use this for now as the Vulkan blit version is still rather unstable.
  • WindowCast 2.0 experimental build here. Note:
    • This version only supports X11/Linux, but will be updated soon to support Windows as well.
    • Vulkan-only, requires RetroArch’s video driver be set to Vulkan.
    • Experimental from-scratch rewrite. Except bugs not seen with the original software-only version.
  • Windows Vulkan blit version here. Will be deprecated in favour of WindowCast 2.0 soon.
  • Original version updated 27/04/2023. WindowCast 2.0 experiemental build updated 07/02/2024. Vulkan version updated 27/08/2023.

Please read the included README file carefully, and expect some bugs/crashes to occur.

Source Code

Source for the core is located at GitLab.

39 Likes

Welcome to the forum! I’m so excited about all the possibilities this opens up, I had been hoping for years someone could do something like this.

Thanks @IHQMD for this amazing contribution to the community :smiling_face_with_three_hearts: I’m looking forward to following your development!

21 Likes

Thank you very much @IHQMD! This has the potential to become huge! It already seems to be working quite well. I currently use ReShade for my pixel art PC games and it’s not quite the same as what I’m used to from using RetroArch Shaders.

Now, I no longer have to choose. Will be checking this out sometime in the future (if I ever get back to playing modern games).

I wonder if this would also work for MPC-HC using MadVR?

Strange no one seems to have mentioned how awesome this would be for watching movies and videos yet instead of using the FFMPEG core.

5 Likes

Yes this works with MPC-BE, MadVR or otherwise. I can attest this personally. It helps to put MPC-BE into borderless window mode (press 1).

5 Likes

Looking forward to watching some of the old Sat morning cartoons with scanlines. :grin:

10 Likes

Thank you man! This is the beginning of a revolution!

6 Likes

Awesome work @IHQMD :star_struck: might try some Ghouls n Ghosts Resurrection with this!! Thank You!!

5 Likes

Awesome work @IHQMD! Looking forward to pumping Demul (for Sega Hikaru), M2, and Supermodel through this. No need to wait for those cores anymore. And @Cyber has a good idea; I may have to watch Akira with this core. :pill:

2 Likes

I loaded this core up and went through the instructions in the txt file, including turning off the “pause when not active” option in RA, but when I launch the game in PCSX2 windowed, then load content in RA and point to the examples txt file, RA just freezes up and sits in the taskbar until I kill it.

I’m wondering if there could be an issue with the window name for PCSX2 in the examples file? Not sure how to get the name for a window. Thanks for any help anyone can offer. Very excited about this core. :+1:

edit I found a little program called winlister that displays the titles for windows. It looks like PCSX2 has a window title after the name of the game running… when I changed this in the txt file WindowCast launched properly. I guess the window title changing presents a new problem, but that is another story. Pressing “esc” to exit RA while WindowCast was running did freeze up again.

2 Likes

Hi.

I’m aware of an issue that is causing RA to freeze it’s image when running in fullscreen mode. RA actually stalling and stopping responding to the system when WindowCast is running is a new one on me, and it might be related, or might not. It’s something I’ll note and try to look into.

I still don’t know what’s actually causing the image freeze issue either, so it remains an open problem for now. I’ll get to the bottom of it somehow, I know it…

6 Likes

An issue where some users experienced the image in RA ‘freezing’ when RA was in fullscreen mode has been identified as a Nvidia driver issue. Please see the updated README.md file in the latest download.

4 Likes

Thanks… I switched on the DXGI option in the Nvidia control panel as per the readme file… that seems to help. It looks like it still freezes if the target window is minimized. Maybe this is just the way it works… not sure.

edit Actually, seems to be freezing on launch pretty consistently now when I’m testing with standalone mini vmac.

this core is just awesome dude i wished for something like this :slightly_smiling_face: :+1:

2 Likes

so nice for pixelart and improved ports in combination with shaders^^

6 Likes

@p3st, I think you got your answer on this.

2 Likes

Thanks for shots @p3st What emul are you using to have a wide rendering without deformation please ?

For PCSX2 write the game title it displays on its window in the txt file you open with the core.

1 Like

This is fun stuff! I’m trying to get it to work with the modified version of 1964 to play the original Goldeneye in 60 fps and with Mega Bezel awesomeness. I’m pretty close, but I can’t get input to respond.

1 Like

??? these are pc ports :upside_down_face: not emulation if you mean that

1 Like

If the game is a PC game try pressing CTRL-ALT-T. The core goes into a mode designed for the exact purpose of letting you play a game ‘behind’ the RA window, if that makes any sense. Assuming this mode is working that is; I know some folks were reporting an issue with it.

5 Likes