Dual GPU Twitch Streaming Setup


I play recreationally. Sometimes my head is just too full with work and the WTF Model, so I need to shoot some bots to zone out. I’ve been interested in streaming my gameplay for a while, as I’ve noticed I consistently rank first (by a distance) when playing Helldivers2 cooperative with others online.

So i recently decided to upgrade my main workstation with a second GPU. My goal was to offload Twitch streaming from my primary graphics card to avoid encoder instability. The Intel Arc A380 quickly stood out—not only for its strong support for H.264 and HEVC, but also for its highly praised AV1 encoding. Since it uses Intel’s proprietary QuickSync technology, it was exactly the type of solution I wanted to experiment with.

Dual GPU Setup

Previously, I streamed to Twitch using only my RTX 5080. This system is a headless machine, accessed remotely via Parsec, which streams everything the RTX renders back to my iMac Pro. Adding Twitch encoding to that same GPU proved problematic: the NVENC encoder consistently crashed within seconds of gameplay.

The likely cause was resource contention—NVENC was simultaneously handling remote streaming, local rendering, and Twitch encoding, which overloaded it. Installing the Arc A380 allowed me to dedicate it solely to Twitch encoding, freeing the RTX 5080 for rendering and Parsec streaming.

GPU Encoding Use Case

Configuring OBS was straightforward. In the Output tab, I selected Intel QuickSync H.264, and the encoder worked without further tweaking.

Device Manager and Intel QuickSync

Within 30 minutes, I was live-streaming my first gameplay session using the new setup.
Performance was excellent—60 FPS consistently, often higher—and the stream remained stable throughout. OBS has matured into a polished, reliable tool, and its Twitch integration is seamless: paste the stream key, and you’re ready to go. My only minor delay was occasionally searching through the settings for specific options.

OBS Streaming Setup

To make better use of my streams, I set up a lightweight publishing workflow for this static GitHub Pages site. I wrote a Bash script paired with a scheduled cron job that runs every 3 hours. It pulls my latest clips and metadata, then commits them to the repository via the GitHub service bot—avoiding any risk of exposing client secrets in the browser.

On the frontend, a small JavaScript component reads the data and renders it dynamically. This approach completely removed the need for a dynamic backend or an Azure Function, keeping the system simple and maintainable.

YAML and Shell Script Update Workflow

Additionally, I built a workflow that syncs my Twitch videos once at night to my YouTube channel to keep a record. Twitch deletes entire streams after 7 days, so this is a way to preserve them.

comments powered by Disqus