You don't really have to choose between things like Qt and X.org, Wayland, hidpi, etc. Using a library such as Qt means you only have to care about your application, and leave the rest for the toolkit developers, who will code the actual backends for X.org, Wayland, Mir... whatever. Of course nothing is perfect and issues may arise but I don't think it's as bad as you depicted it.