My compass acts oddly when my phone is in landscape orientation. It works fine in portrait orientation. If my phone is flat on a table (i.e., the screen is facing directly up), it's fine. As I rotate the phone vertically (with the power button facing away from me), it works up until the phone is about at a 45° angle from horizontal. Then the compass can sweep though an angle of about 180°. I see this behavior in GPS Status & Tools and with the blue arrow in Google Maps.
In portrait, everything is fine. I prefer to have my phone mounted in landscape when I'm in the car. This is when I need my directions to be correct, and this is precisely when they are not.
It seems that there's nothing telling the compass that the phone is in landscape orientation. I don't know if this is a hardware problem or an issue with CM11.
However, Google Sky works when the phone is in EITHER orientation. I have no way to explain that.
I cannot find anything or anybody else describing the same issue or any way to resolve it.