I had stuttering issues myself, but it only happened on windowed linux and windowed AND fullscreen windows
My imperfect solution was to interpolate player camera rotation and movement (separately)
I didn't interpolate movement or rotation before, so when i did with rotation it became really smooth.
After that I just added weight to player position (very stupid 'fix',) but it actually works ok
like
player.xyz = oldPlayer.xyz * weight + newPlayer.xyz * (1.0 - weight);
where old and new are only updated each time the physics thread is updated
I'ts not a solution, but if it makes things smooth for you, like it did for me, at least we both know the reason
the physics thread just didn't update regularly enough because of the variable amount of background work it does and the irregularities in the update frequency
Also, for rotation i just interpolated pitch/yaw/roll, because that made things simpler (no need for slerp)