optimus-manager works perfectly. I had problems after the last update (2016-12-16) and it stopped working, but I did the following:
- I have made the necessary changes related to Python 3.10, as described here:
https://www.reddit.com/r/archlinux/comments/rf6c84/psa_python_310_is_in_core_rebuild_your_aur/ - Then I installed and configured optimus-manager 1.4.3 from AUR.
The video switches to Nvidia when the laptop is plugged in and to Intel when it is on battery. It works without a problem with a second monitor, as it was before update.