More work on hardware detection