I think
rotX = rotX + prevRotX * dt;
is wrong, since rotX is Current Angular Velocity and prevRotX is previous Angle (I'm terrible at naming variables).
We need to multiply current Angular velocity by time to get the angle difference and add it to the previous angle so
the correct one (I think )
rotX = prevRotX + rotX * dt;
But iam getting too much drift. like with in a minute the angle is crossing 360.
is it normal ?