Stable on Linux, but pthread-ed device_poll
Almost simulator ready, but unload not async