Re: Don't go back to Windows!
Not 3.90, it's 390. Anything that works with 390 should work with something newer, and 390 by now is pretty old. The newest driver in the graphics-drivers ppa is 430 now, and that may help to get it working. You need to use the modesetting driver for the Intel portion, as far as I know (it works for me).
Prime (they call the dual-GPU technology Optimus in Windows and Prime in Linux... I guess they're insinuating that the graphics are more than meets the eye?) worked out of the box for my laptop with the 415+ drivers (I used KDE Neon, which is Ubuntu-based like Mint), but there was tearing all over the place when using the nVidia GPU, and none of the usual tricks fixed it. I found that Prime sync is needed to eliminate the tearing. It's a software thing, built into the later nVidia drivers. You just need to enable it.
It was a little fiddly to get it working properly, but now that I have, my Linux with Prime Sync is by far the best in graphical stuff "just working" of any of my Linux PCs. There's no need for turning on composition pipeline or full composition pipeline, sync to vblank, or any other such option in nvidia-settings or xorg.conf, nor turning on vsync in the compositor. There just isn't any tearing.
My single-GPU nVidia PCs aren't as robust. KDE doesn't tear at all when it first boots just using the vsync options in the compositor and an environment variable, and that works great unless I run a game that turns the compositor off (via Kwin rule). The tearing without the compositor is expected, but it persists even after the compositor is turned back on again. I can get rid of it for the rest of that session by temporarily enabling composition pipeline in nvidia-settings (the full option isn't necessary), but I have resisted setting that permanently as it is supposed to cause stuttering in some circumstances.