Your best bet regarding Discrete Graphics on Linux is to go with AMD Cards / chips. AMD works with mainline kernel and without proprietary kernel modules.
If you are using nVidia then Fedora Magazine has excellent article on installing nVidia GPU on Fedora.
Alternatively, you can check nVidia download page to download and install nVidia driver.
GNOME 3.24 supports two graphics cards, with option to select which GPU to use when opening an application by right-clicking on its dock/favourites bar icon.
Fedora 26 onwards comes with GNOME 3.24. See System Settings to check presence of both graphics cards.
You can use DRI_PRIME=1 env variable to run an application using discrete GPU:
RI_PRIME=1 glxinfo | grep vendor
Check display providers with: