Turning My Linux PC Into a Retro Gaming Monitor for My Amiga

I have a fairly cramped home office at the moment. That will for sure change in the future, but as it is now there is no space for a second monitor or a permanent Amiga setup next to my workstation.

Since my workstation is powered on most of the time when I am at home, I got the idea of looking for some kind of hardware device that would let me open the screen from another computer directly on my workstation desktop.

I researched different capture devices and quickly came to the conclusion that there are several problems to consider: price, latency, and what types of video signals the devices will actually accept.

As a proof of concept, I bought a second-hand Elgato Cam Link 4K. The Cam Link is basically a small USB stick with an HDMI input. It accepts standard video modes such as 1080p60, 720p60, 576p50 and 480p60. And this is where the first problem appears, since the Amiga uses all kinds of different resolutions and video timings. More on that later.

Installation and problems with lag

I run Linux Mint on my workstation. The Cam Link 4K was detected automatically as a standard UVC/V4L2 video device, so no proprietary drivers were needed.

I initially used mpv to display the incoming HDMI signal in a window. It worked, but the default playback pipeline introduced enough latency to make it unsuitable for actually playing games through the capture window.

I later moved to FFplay, which is part of the FFmpeg suite, and used it as a more direct video preview. By keeping buffering to a minimum, FFplay gave noticeably lower latency and made the Cam Link much more practical as a live input device rather than simply a recording device.

I tested the latency by playing Pinball Fantasies. With mpv the lag was noticeable. With FFplay, much less so and Pinball Fantasies played great! There is still a tiny amount of lag, but it does not bother me much at all. In Workbench it basically feels like a direct connection.

What Amigas do I use with the capture device?

I have two main systems in use. One is my Amiga 1200 with an Indivision MK3 scandoubler, and the other is my A4000TX with a ZZ9000.

A1200

Displaying my 64 color AGA A1200 desktop on my Linux Workstation (and recording it in the pic)

The A1200 with the Indivision MK3 can be configured to output the Amiga display as a standard 1080p HDMI signal, and this works really well with the Cam Link 4K. It did not work with the Indivision set to its default 800×600 mode. All the native Amiga screen modes I tested worked beautifully once changed to 1080p60.

Playing the new Gloom port GloomReforged in an AGA screen mode with keyboard and mouse, I could not really feel any lag at all (and I had a great time!!).

A4000TX

The A4000TX with the ZZ9000 can output Workbench at 1080p60 if I set the screen mode accordingly. Using Workbench at such a high resolution can be difficult, since the Amiga has no modern display scaling.

Display output from my A4000TX (1920×1080) running in full screen in a window on my Linux workstation

But this is actually where using a capture device has another advantage. The captured image can be freely scaled on the Linux desktop to use as much or as little of the monitor as I want. In the picture above, it is using the full desktop.

Same display output now scaled down and running besides other desktop windows

Since my workstation monitor is 3840×2160, a 1920×1080 Amiga desktop scales very nicely. Better yet, Linux workspaces make it possible to have one workspace dedicated to the Amiga and another for the workstation. Or I can simply shrink the Amiga display down and use it almost like a UAE window.

The problem with the A4000TX is any video mode outside those supported by the Cam Link 4K. The ZZ9000 has newer firmware that can display native Amiga graphics through a standard 1080p output, so that may be the way forward for native screen modes.

Problems and next steps

Overall, I am super happy with this setup. It was a very successful proof of concept, and it cost me no more than about 30 euros. Anything that makes it easier to get some actual use out of the real machines we have is a huge plus in my book.

The main issues I see are the small amount of lag in the system and the limited number of supported video modes. If there is no way to reduce the latency further, that is fine. I can live with it. But I would really like to be able to connect systems using more video modes than just the few currently supported by the Cam Link.

There is also a very slight hint of something almost analog-looking in the image. It is difficult to explain, but the picture can occasionally feel a little softer if you really look for differences. It does not bother me, but I think it is worth mentioning.

Oh and the final problem, I could not get my Sam440ep working with it, there is something with the display output that is non standard or not 60hz. This will solve itself if my Mirari prayer works!

Next steps

I have not decided on the next step yet. I may try an internal PCIe capture card, or I may simply keep using the Cam Link 4K. It would be awesome to have an internal card with effectively no latency at all, although I suspect completely eliminating capture latency is probably a dream.

The next experiment will be adding an OSSC to the chain. That should make it possible to feed RGB output from other retro systems into the capture device as standard HDMI, opening up the same setup to machines such as the SNES, Mega Drive and other vintage systems without their own HDMI output.