[381.xx] Dual monitor setup: external monitor not working

After many troubles, I finally managed to

  • upgrade my distro to Mint 17.3
  • upgrade the kernel to the latest stable version available for my distro (4.10.9-041009-generic)
  • install the drivers nvidia-381
    Everything works perfectly on the built-in monitor of my laptop (ASUS N551JX with optimus technology) but the external monitor connected to the HDMI port is completely unusable. The image is wrong (artifacts) and frozen. I tried using the commands
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

but nothing happened. Instead if I type

sudo prime-select intel

to switch to the integrated GPU and then log out and back in, both monitors work perfectly but I “lose” the nvidia GPU. Is there a way to make both monitors work with the nvidia mode enabled?

This is what I see in the NVIDIA X Server Settings application:

Also, I noticed that the monitor that works is the one on the left: if I swap the monitors and put the external on the left and the built-in on the right, then the external works and the internal is frozen.

Please find attached the output of nvidia-bug-report.sh
nvidia-bug-report.log.gz (153 KB)

You’re still running xserver 1.15 according to your logs.
Mint 17.3 should have:

Linux Mint 17.3 “Rosa” (kernel 3.19, xorg 1.17, mesa 10.5.9)
So it seems it’s not fully upgraded.
And maybe keep your setup a bit more conservative, nvidia-driver-381 is beta and kernel-4.10 has known issues with older drivers, maybe go back to kernel 4.4 and driver 378.
Edit: See this:
https://forums.linuxmint.com/viewtopic.php?t=210940
https://launchpad.net/~tigerite/+archive/ubuntu/mint-xorg-update

Thanks for your answer but I think the upgrade is not supposed to update xorg:

From http://blog.linuxmint.com/?p=2955

If I want 1.17 I think I have to do a fresh install.

As for the more conservative setup, ok I will try.

I see. I’ve taken a look at the available HWE stacks and to get something recent you will have to upgrade to Mint 18.

Thanks for confirming my doubts. I don’t think I want to reinstall everything right now because I need this machine to work and my time is unfortunately limited. So for the moment I’ll keep using the dual screen with the intel driver and I’ll switch to nvidia with single monitor if I need the power of the dicrete gpu.

Thank you again for your help!

I have a similar problem to you, except the other way around (i.e. external monitors only work for me when I’m in Nvidia GPU mode, not in Intel GPU mode). I’ve been searching for a solution for years (on and off), as sometimes I like being in Intel GPU mode to save battery. I haven’t been able to find a solution. I have simple come to accept that when I want to use an external monitor, I need to:

sudo prime-select nvidia

This isn’t too bad for me, as I have the power of the Nvidia GPU when using multiple monitors, which is (I suppose) a better predicament than yours.

I had someone reply to me a while back in a forum and he was convinced it’s the way the ports are “wired up” (i.e. it’s a hardware thing, and no software/settings/config in the world would resolve my issue).

I have almost given up on searching for a solution, but every now and then (like right now) I do a quick Google search to see if someone, somewhere, may have a solution.

Sorry I couldn’t be of any help - I just feel your pain and thought I’d throw in my 2 cents worth.

@AndyTurfer:
Solutions for that exist, it’s called reverse PRIME.
As you already discovered, the external connectors are hardwired to the nvidia gpu on your hardware. So this won’t work with the nvidia gpu turned off completely. But if the dGPU is only needed to drive the display, it should stay in a low power idle state.
The problem is just that you would have to disable the ubuntu gpu management infrastructure and set up everything by hand. You will most likely have to use nouveau to drive the dGPU in that state since I don’t believe the nvidia kms drm is supporting PRIME in that way yet. Though I don’t know if anyone ever tried that, I can’t because my external connectors are all wired to the intel gpu.

I’m in the same position as @AndyTurner; I have a muxless Optimus laptop (Lenovo ThinkPad P70, with a Quadro M4000M) and try as I might I cannot get an external monitor to function unless I’m using the dGPU only. The internal display is wired to the internal Intel GPU while the external ports are all wired to the dGPU. I’m running openSUSE 15.0 with the current 430 driver.

I’ve seen any number of recommendations on the net to use Bumbleee (which is what would typically be described as EOL); aside from the fact that I didn’t get that working either, it’s a real pain to use.

I know plenty of people who use nouveau, and this setup works. But nouveau is very slow, often doesn’t survive suspend, and doesn’t provide OpenCL for when I want it.

I’d like to be able to run off the Intel GPU much of the time, to save power and because video to the internal display is actually faster. But right now I’m stuck on just using the nvidia driver.

The entire nVidia Linux situation is just plain a mess.

@rlklvwjb - I’ve recently installed Kubuntu 19.04 on my muxless laptop. I think I have Nvidia’s 430 driver installed. In regards to switching between the Nvidia dGPU and Intel iGPU, things work much better: I can go in to the Nvidia settings, select the Intel GPU, and then reboot. After the laptop starts up, it’s using the iGPU only, and the dGPU is completely powered down.

There are a lot of different muxless laptops out there, wired in a lot of different ways. What are your internal and external displays wired to? If you use the Intel GPU, are you able to drive the external displays?

Rebooting my laptop is not a viable option, neither is switching distributions.

@rlklvwjb - When I’m using the iGPU, external monitors do not work. All I’m saying is that switching off the dGPU is a little less painful now.

I bought a Lenovo ThinkPad T470p a while ago - it’s not muxless so works perfectly. I’ll never buy another muxless laptop again (I’ll do more research next time).

I can easily switch if I want via prime-select (a shell script that sets up xorg.conf, libglx, and whatever other odds and sods are needed), followed by logout and back in. But that’s too much of a headache, so I just keep it in dGPU all the time.

I didn’t know about this when I bought the laptop, but there weren’t a lot of others that met my criteria (won’t go into more details beyond that the Dell Precision 7710 and beyond don’t have 2 2.5" drive bays and I have big storage needs). Next time, which should be quite a ways off, I’ll pay more attention to it, but who knows what the state of things will be then.

rlklvwjb, it’s always a problem to know beforehand to which gpu the external ports are wired to. No notebook review or datasheet ever mentions this. Newer notebooks tend to have a mixed setup, though. If it has an USB-C connector with TB/DP functionality, this was so far always connected to the iGPU. So it’s always worth to really check all connectors.