Why does it need its own kernel driver?