Reduce Pipelight/Netflix CPU usage on Intel HD graphics by disabling hardware acceleration

I have been trying to solve a problem viewing Netflix on my laptop. I was annoyed by the laptop fan running high while playing video making it difficult to hear the audio from Netflix.

The laptop has a current generation Intel Haswell i5 4340M CPU with Intel HD4600 graphics and I’m running Linux kernel 3.16 on Kubuntu 14.04 although this problem existed on kernel versions 3.14 and 3.15. I mention this because YMMV particularly with different GPU makes.

The solution I found is to disable GPU hardware acceleration on Pipelight, this drops the CPU usage from 30-40% to under 20% allowing the laptop to run cooler and use less power, meaning a quieter laptop and longer battery life.

Before, GPU acceleration on:

sysmon_netflix_ss_gpuhwaccel_on

After, GPU acceleration off:

sysmon_netflix_ss_gpuhwaccel_off

It is possible to disable hardware acceleration permanently using the instructions on the Pipelight website here, however I prefer to be more selective and have created myself an application launcher to start a new Firefox Window that opens Netflix immediately, the launcher command line is:

PIPELIGHT_GPUACCELERATION=0 firefox -new-window http://www.netflix.com

I would normally expect hardware acceleration to reduce CPU load because this hands off the video decoding work onto the GPU but the opposite appears to be happening here, I don’t know why this is the case, the CPU seems barely notice that it’s decoding 1080p video so it might be some magic built into integrated Intel chips but if anyone has any better theories I’d be interested to know!