Optimus Switching

I’m sure this has been discussed to death in a thousand threads, but I’m gonna ask anyway. What is the state of Optimus switching in the Linux driver?
Besides that, what is NVIDIA doing to support past and future hardware running on Linux?