Resource icon

OBS Studio Streaming on Linux using Elgato Game Capture HD and OBS Studio


New Member
Oby submitted a new resource:

Streaming on Linux using Elgato Game Capture HD and OBS Studio - A tutorial on how to install Linux driver for the Elgato Game Capture HD and use it for streaming.

Preliminary remarks:
  • The driver is unofficial, and alpha-quality software. Use at your own risk and do not expect that it will work with your device or setup. Bugs can be reported here.
  • The driver has been tested on several Linux distributions, including Arch, CentOS, and Fedora. The following guide is written with Ubuntu 15.10 in mind.
  • Currently, only the original Game Capture HD is supported....
Read more about this resource...


New Member
Don't really know what you mean about "put into repo". I guess you meant to ask whether it will be available as a .deb pacakage?

As of now the driver operates in userspace, and is quite easy to compile & run. There is really not much need for a .deb pacakage. The only step that requires one to pay close attention is the part where one extracts the firmware - which one would have to do anyhow, since it is not legal to distribute it without permission from Elgato.


New Member
Oby updated Streaming on Linux using Elgato Game Capture HD and OBS Studio with a new update entry:

Update to current driver

I have more or less completely rewritten the guide to take into account the many changes in both extracting firmware and building the driver.

The driver has also been significantly updated in the year or so since this guide was current. If you were having problems earlier, you should test the driver again. It has really come a long way.
Read the rest of this update entry...
Followed each & every step and the driver is working and detecting my PS4 signal (I have turned off HDCP on the PS4). So far so good, but using the media file (gchd.ts) does not get the thing to pop up in OBS (latest version - auto update with Ubuntu).

EDIT - same problem with PS3 not showing it's screen in OSB

EDIT 2 - I've been playing around a bit with the parameters the file DOES make an output in the current directory, which can be viewed with OBS. That means that somehow the FIFO file does not really work correctly on my system. The FIFO file is always 0 bytes as well when the driver is running. Will test socket next.

EDIT 3 - Can't get the socket to work (I might miss some know-how on that part), but I did manage to get the stream-transport to work with a HUGE work around...
#1 Start the Elgato driver as described
#2 Run VLC Media Player and open the gchd.ts file
#3 Run OBS (20.0.1 right now) and it should be able to get the gchd.ts file, but now both VLC and OBS will get interferance
#4 STOP stream (don't quit!) and OBS will keep capturing
Last edited:
Hi! Whenever I try to run the driver, i get the following error in the terminal:

~/elgato-gchd/build/src$ sudo ./gchd
Firmware files missing.
Need: mb86m01_assp_nsec_idle.bin
Need: mb86m01_assp_nsec_enc_h.bin
Does anyone have any advice? Thanks in advance.

I already tried deleting everything in the /build directory, copying the mentioned files from the macos-dmg into /elgato-gchd/firmware and compiling again. No luck.


New Member
Sorry for being so late to reply, @HoratioShure . I didn't get any notification.

You seem to be missing the firmware files. Read the guide closely, make sure you do everything described in " Preparation - Part two: Obtaining the Elgato firmware" correctly. Then you should not see that error message.
Had a bit of trouble installing at first, somehow i didnt have cmake installed already on this system, so had to install that. I then had a "FIND_PACKAGE" error, which was resolved by installing pkg-config using apt-get.

Lastly, I didnt have libusb-1.0 installed, so after installing with apt-get, i was able to run "cmake .." properly. I am running a headless Ubuntu server, so my issues might be more unique, since my system is missing many files typically installed with a desktop configuration.
So I just did everything on Ubuntu 18.04 and had to tweak a couple things and am stuck.

#1: The very beginning code HAS to include cmake or there is an error:
sudo apt-get install git dmg2img hfsprogs libusb-dev clang make build-essential
sudo apt-get install git dmg2img hfsprogs libusb-dev clang make cmake build-essential

#2: When creating the firmware gchd directory, it has to be done twice:
sudo mkdir /usr/local/lib/firmware/gchd
sudo mkdir /usr/local/lib/firmware
sudo mkdir /usr/local/lib/firmware/gchd

#3: So "cmake .." worked initially but when I do "make" in the ~/elgato-gchd/build$, I get:
make: *** No targets specified and no makefile found.  Stop.
Last edited:
I wrote the tutorial, but that was easy thanks to the hard and important work by Tolga9009, who single-handedly reverse-engineered the device and developed this driver. He deserves all the praise in the world!
See also the driver's GitHub page for more information: