Issues with external monitor on an NVidia GPU

I am using Fedora 30 on a laptop. My laptop has two graphics processing units. GTX 1660ti and the integrated graphics from the Intel processor I have.

My issue is that my laptop screen is working just fine, but when I plug in an external monitor using either mini DP or HDMI nothing shows up on the monitor. Fedora doesn’t seem to recognize that they are plugged in when running xrandr or checking the Fedora settings section: “Displays”

Any help would be much appreciated. Thanks!

1 Like

Welcome to the forum! Check out #start-here to get acquainted with the community.

Have you installed the proprietary nvidia drivers yet? To install them, enable rpmfusion, then install the driver. You can confirm if it’s working or not by running sudo lsmod | grep nouveau\|nvidia and making sure none of the output likes say “nouveau”.

2 Likes

Thanks for the reply. I am pretty new to Fedora so I apologize if this is something that seems super obvious that I missed. :sweat_smile:

I will give this a try and let you know how it goes.

According the website link for installing the driver, I am supposed to run:

sudo dnf install xorg-x11-drv-nvidia akmod-nvidia

This gets me the following output.

Last metadata expiration check: 0:12:36 ago on Sat 07 Sep 2019 11:43:40 AM CDT.
No match for argument: xorg-x11-drv-nvidia
No match for argument: akmod-nvidia
Error: Unable to find a match: xorg-x11-drv-nvidia akmod-nvidia

I did install RPM Fusion without any problems and enabled the Appstream Data.
I did some googling and it would appear that my both my GPU’s are supported. Could it be an optimums thing?

sudo dnf --refresh repolist rpmfusion\*
sudo dnf --refresh list xorg-x11-drv-nvidia akmod-nvidia

What does this say?

The first command outputs:

Fedora Modular 30 - x86_64 84 kB/s | 19 kB 00:00
Fedora Modular 30 - x86_64 - Updates 83 kB/s | 18 kB 00:00
Fedora 30 - x86_64 - Updates 126 kB/s | 19 kB 00:00
Fedora 30 - x86_64 79 kB/s | 20 kB 00:00
google-chrome 13 kB/s | 1.3 kB 00:00
RPM Fusion for Fedora 30 - Free - Updates 3.6 kB/s | 3.0 kB 00:00
RPM Fusion for Fedora 30 - Free 3.6 kB/s | 3.2 kB 00:00
repo id repo name status
rpmfusion-free RPM Fusion for Fedora 30 - Free 616
rpmfusion-free-updates RPM Fusion for Fedora 30 - Free - Updates

The second command outputs:

Fedora Modular 30 - x86_64 90 kB/s | 19 kB 00:00
Fedora Modular 30 - x86_64 - Updates 75 kB/s | 18 kB 00:00
Fedora 30 - x86_64 - Updates 121 kB/s | 19 kB 00:00
Fedora 30 - x86_64 60 kB/s | 19 kB 00:00
google-chrome 19 kB/s | 1.3 kB 00:00
RPM Fusion for Fedora 30 - Free - Updates 4.1 kB/s | 3.0 kB 00:00
RPM Fusion for Fedora 30 - Free 18 kB/s | 3.2 kB 00:00
Error: No matching Packages to list

You haven’t done the second part of enabling rpmfusion:

Optionally, enable the Nonfree repository:

$ sudo dnf install \
  https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.

Being non-free, NVidia drivers are part of Nonfree repository.

Then again

sudo dnf --refresh install xorg-x11-drv-nvidia akmod-nvidia

On a separate note, I find it strange that external monitors won’t work without proprietary drivers. But I don’t have such a notebook to be able to actually check it.


It’s ok, you’ll learn with a little bit of help, and then you’ll be able to help other new users too :slight_smile: We all have to start somewhere )

2 Likes

I had an issue with the command you gave me for installing the non-free repository. I found a similar command on the site that was linked earlier in this thread. However, you were absolutely right that my issue was that I hadn’t yet installed the non-free repository. Everything went smoothly from there and I am now running with a few external monitors. Thank you so much for all the help!

One a side note, does anyone have any recommendations for where I can go to learn a bit more about everything that I just did? I understand what installing a driver is. To install it on Fedora I basically just copied and pasted these commands I was given into a terminal. My goal would be to be capable of coming up with those commands because I understand what they are doing.

Thanks again.

2 Likes

It’s actually not that fancy:

  • When you install the rpmfusion repository, you’re basically giving dnf the URLs of two packages to install. Those packages just contain repository files that go in /etc/yum.repos.d to add rpmfusion.
  • The command to actually install the driver…installs the driver. It basically uses a system called akmods, where the “driver” you install is just the source code, and on reboot it gets compiled into a binary kernel module (and is recompiled on every kernel or driver update).
1 Like

This depends on the laptop generally. When they have multiple GPUs, then how external monitors are connected may vary. Sometimes the Intel card handles everything and the nvidia one needs to copy its results to the Intel card which sends it out. Or sometimes (the more annoying case), the external connection is handled by the nvidia card, and then both need to work if you want to use two displays.

2 Likes

Basic – level zero – why’s of it is like this. The best way of installing anything on a good (any?) Linux system is to install packages from this system’s repositories (repos for short).

  • Packages are programs and various parts of programs (for example, core libraries in one package, cli tools for the same program – in other, graphical UI part – in the third).

  • Repos are sort of collections of packages ready to be installed and used (with all the metadata needed for it to be convenient). (Almost) each Linux distribution has it’s own repos. Repos and packages in the repos are maintained by package maintainers from that distribution.

Installation/removal, updating, etc. of packages are usually done using package managers. dnf is a cli package manager for Fedora, Gnome Software is a sort of GUI package manager (not exactly, but let’s leave it at this so as to not overcomplicate things here).

It’s best to use packages made ready for you by package maintainers – because they are tested (more or less), easy to install and remove without breaking your system and without leaving litter all over it, etc. – it’s a topic in itself.

Now to NVidia drivers. They can’t be included in official Fedora repository because they are proprietary. There’s a good page with explanation about such legal stuff and Fedora’s packages, but I don;t have it handy, I’ll find it if you’re interested.

Quite a number of such packages – good, useful, needed by people – but can’t be included in the official repo – are included in PRMFusion repository. May of (or all) package maintainers for RPMFusion are Fedora’s maintainers, so while it’s officially third-party, it’s still a known trusted and good source of packages/software for Fedora.

So the commands we gave you did the following:

  1. Added new repository (RPMFusion) to the list of repos your system knows of. Technically you needed to add two repos, separately for free software and non-free software.

  2. Installed some packages (containing drivers) from the newly added repository.

@refi64 have already explained this part more technically.

I hope my explanation shed a bit of light on the matter. I personally find it easier to learn as I go – but that’s me, we all are different. There are plenty of information on the matter, but you can quickly become overwhelmed by it if you try to read it all at once. And I don’t have useful links handy.

Well Fedora’s quick docs are a useful place to see, maybe to start. Though I haven’t read them all and can’t personally vouch they’re error-free and up-to-date. As far as I know Fedora’s always in need of people’s help with improving documentation, quick docs as well.

Things we did are covered in Usage and customisation chapter, look through first five subjects there.

Asking here is good too )

3 Likes

Wow! Thank you guys for such detailed and helpful explanations. I really appreciate it!

2 Likes

Since yall were so helpful, I figured I’d post this link here because I made another post for a different issue.