Comparing to Box2D is a little bit of apples-versus-oranges. In real life, stopping something that is big and heavy and rolls is actually very hard. Even something that is small an light, like a soccer ball, will roll a long way before it stops – and that has a lot of deformation going on while rolling. Adding angular and linear damping is not “unrealistic,” it simulates energy loss that occurs when the surface of the ball deforms under gravity against the bottom. If you don’t want the ball to stop while on a slope, then detect the slope and modify the amount of damping (or sleep threshold) accordingly. If you tune the values of angular and linear damping appropriately to your intended object, and use a reasonable-but-nowhere-huge sleep threshold, you should be able to get a behavior that is what you want.