Can't change dev.i915.perf_stream_paranoid to 0

Even though this thread is marked as “solved”, it really isn’t, since I could not fix the issue by reading the replies and looking at the linked thread. But good news, I’ve managed to fix the issue permanently.

The actual problem here, is that during boot time the parameter dev.i915.perf_stream_paranoid=0 is not being ignored, it is just failing to execute because the i915 kernel driver isn’t loaded yet when the sysctl options are being executed.

The fix here, is to add the i915 driver to the initrd so that it gets loaded early, before the actual boot process starts.

To do this, open the file /etc/mkinitcpio.conf in your favourite text editor, and make sure the i915 module is added to the MODULES array. I also have an nVidia card in my laptop, so I’ve loaded those modules too (since this occasionally causes gdm to crash because it is also missing the video card drivers when it starts). My MODULES line looks like this:

MODULES=(i915 nvidia nvidia_drm nvidia_uvm nvidia_modeset)

If you do not need the nVidia drivers, do not add them as this makes no sense. If you have any other modules in there, leave them there too.

Re-generate your initrds with the command (as root):

mkinitcpio -P

Now, if you don’t already have it, add the sysctl parameter in a file under directory /etc/sysctl.d (I have chosen to do it in /etc/sysctl.d/i915.conf) with the following contents:

dev.i915.perf_stream_paranoid=0

Now reboot your system. Since the i915 driver is loaded early, the parameter will be set at boot time and your browsers will no longer complain about the performance penalty.

4 Likes