Console Gaming on a Laptop

Posted by SarahElSaig on December 23, 2023

No, this isn't about emulators. For sure, we live in a golden age of console emulation where you can emulate almost all consoles up to 2 console generations ago (e.g. PS3 and Xbox 360) and even some newer ones. But what if you don't want to emulate? Maybe you still want to use your original hardware but your TV is toast? Maybe you want to use your PlayStation on the train station? Nothing can stop you.

In these situations you need a video capture device (sometimes called an external capture card). I used the Hama 4K Video Recording Stick because it's got one of the best reviews for something that's not in the "business expense" price range. I didn't notice any lag while testing it with a Nintendo Switch and Sony PlayStation 2 (using either a separate AV-to-HDMI adapter or an upscaler like the RetroTINK 2K). It actually looks better than sending the same signal directly to a monitor, because you are allowed to upscale without blurring everything.

Of course these things are made for archival or streaming, so it takes some software abuse to get what we want. I found two workable options.

OBS Studio

Using OBS Studio. This open source and cross-platform screen-casting app is one of the top software for creating dynamic picture-in-picture scenes, mixing multiple different audio, video and static sources, creating elaborate streaming (or video conferencing) layouts, etc. It will happily consume any video source you throw at it. If you are so inclined you can even set up multiple scenes, e.g. for custom screen borders or to quickly zoom in during cutscenes with 4:3 games that do the old cinematic letterboxing nonsense. At the simplest, you can quickly create a single full screen projection like this:

  1. Find the Scenes area at the bottom left. Click the "+" button to add a new scene.
  2. Find the Sources area right of that and click its "+" button to add a Video Capture Device.
  3. Right click on the scene you created and select Fullscreen Projector (Scene).

Bonus points if you also click the Start Virtual Camera button on the bottom right and show up to your next Teams or Zoom meeting as the famous Solid Snake...

HTML

But did you know HTML5 can also do the job reasonably well without having to install anything? It just takes some coaxing, because for some reason the browser wants you to tell it what resolution you want... without letting you query the device about what kind of resolutions it supports! I wrote a simple page you can download below with two presets for full HD (1920x1080) and retro (640x480) screens. It lets you display the video from the capture card and gives instructions how to set up the audio for Windows and Linux. Sadly this is necessary because (at least for me) playing the audio through the HTML <video> element was super lagged and completely useless. Not piping the audio through the browser should in theory also reduce latency.

Download capture-device-playback page!

As an example, here you can see when I was playing Guilty Gear XX #Reload (that's pronounced as "guilty gear excess - sharp reload" for some objectively cool reason). The signal is coming from the PS2 to the side into my laptop running the Arch Linux based EndeavourOS. It's a pretty luggable setup, now you can play anywhere as long as it's anywhere near a power outlet.

The striking yellow base of the PS2 is a vertical stand I found on Thingiverse. And this was my excuse to sneak in the "3D printing" tag...

I'm running Sol Badguy, because I'm very basic.

The End

In the end this was nowhere nearly as clunky as I expected. The whole project is very niche, but I hope it's useful for anyone with these constraints.