This is completely on Nvidia. Don't buy a GPU from them if you care about Linux support.
amd uses the gbm properly, nvidia is half cooked and previously used eglstreams instead of because they did not like gbm. reality is every compositor just uses gbm.
So I guess the situation is not simply black & white but a bit more nuanced.