I'm using Ubuntu 14.04 with Linux version 3.16.0-30-generic. I've installed Beignet for OpenCL support. I'm running into some errors and the Beignet documentation says to resolve them by applying this patch to the linux kernel. I tried saving the patch and running

patch -p1 < disable-batchbuffer-security.patch

But it says it can't find file to patch. I tried searching for i915_gem_execbuffer.c but couldn't find it. Do I need to install kernel source to apply the patch?


The short answer is: Yes.

The long answer is, that you will need to compile your own kernel. So after installing your sources from repo, you need to patch them. This is the point, where to use the patch command from above. I think here you can find a good start as documentation how to do it on your Ubuntu system.


You have a 3.16 kernel. Why do you have to install kernel source? The patch is to augment the _local errors you get when you compile


which would be fixed in Linux kernel 4.2. Since you are using an older kernel, the patch will fix the 15-30 errors you get when you compile


One thing you have to do that the documentation did not mention is to log on to root (sudo su) before you apply the patch. If you take a look at the first line of that patch, you would see that the patch goes through the /drivers directory in your root folder. Do this, apply command parser if you have to, and run ./utest_run all over again. Be sure to report your output here to help others in the future.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.