A lot of what you request can be achieved by using Vulkan wrappers that simplifies these things without making the driver API more magic/implicit and regress back to the dx9/openGL style API's that mantle/vulkan/dx12 was made in opposition of.
A lot of what you request can be achieved by using Vulkan wrappers that simplifies these things without making the driver API more magic/implicit and regress back to the dx9/openGL style API's that mantle/vulkan/dx12 was made in opposition of.
99% of tutorial readers are going to grab the first device exposed to them. On a system with a discrete GPU, which is what most people will want to use, they'll pick that. When it's not available, an integrated device will be exposed.
You will almost never need to actually query for more device information.
If you're working through a tutorial, you will almost never need to actually write your own validation layers.
etc.
Edit: A lot of these tutorials do things that you don't need to do simply because they read it from another tutorial! I seriously doubt everyone is actually reading the reference specification.
All of this to say: I fully agree. The Vulkan tutorials I've found have put me off ever trying to use it again. I'm sticking to Metal which is much easier to understand and a delight to use.