A Word Of Warning When Using AMDGPU-PRO On An Unsupported Kernel
After talking with John Bridgman last week, AMDGPU-PRO 16.40 is only intended to work with Linux 4.7 kernels and older while the official focus is on Linux 4.4 of Ubuntu 16.04. I had tested with Linux 4.8 since that's what I was using during the AMDGPU open-source testing as well as during my NVIDIA testing with its proprietary driver, which quickly supports new kernel versions.
But the strange thing is when testing on my 4.8 configuration, I don't recall seeing any DKMS errors when installing AMDGPU-PRO 16.40. I've encountered the AMDGPU-PRO 16.40 build problems previously when trying out too new of a kernel on some systems, but during this recent testing I don't recall encountering any problems, obviously otherwise would have reverted to an older kernel, and the 16.40 install process had succeeded.
Bridgman also explained that while the hybrid OpenGL and Vulkan driver components make use of ioctls not found in the mainline AMDGPU DRM code, they can still work albeit slower. One of the ioctls not present in the mainline AMDGPU code is for fencing used by the hybrid driver. So rather than having fences, the driver waits for timeouts. "We try to make them degrade rather than fail when running over the wrong kernel driver but that is not a release requirement."
No error messages are printed when this happens, but hopefully in a future AMDGPU-PRO update they will make it more clear when the unsupported combination is in use.
Last week I did run some AMDGPU-PRO vs. NVIDIA OpenCL benchmarks prior to finding out about the -PRO + 4.8 issue. So take those results worth a grain of salt, but actually the numbers aren't all that bad for AMDGPU-PRO and the issue seems to have greater impact on Vulkan and OpenGL. Anyhow, I'll have some fresh AMDGPU-PRO 16.40 benchmarks up shortly when falling back to Linux 4.4.