Ideal answer will be option 1 but it always gives rise to politics with the teams blaming each other when Server gets slow and impacts development.
Try with first option 1 and then switch to option2(Virtual Server) if they fight a lot 😉 .
Important here is how have you designed your architecture?
DevPC->Dev Env->PreProd->Prod or Dev->PreProd->Prod?
I have experienced all types of scenarios so it varies from your budget and scope of the project
At one customer we had
Individual virtual Pc's(for development)->Dev Server(with auto continuous deployment/test rutines every 2 hours,so what you deploy should work irrespective of machine)->PreProd Environment->Prod Environment.