Need help using Nvidia output alongside integrated Intel output

Hello. As the title says, I’m trying to output to two monitors connected to my Nvidia card (GT 1030) alongside one monitor connected to my integrated Intel graphics. I’m using X11 as my display manager. I previously achieved this using optimus-manager, but this caused significantly longer boot times (not sure why exactly) and visible screen tearing, especially when playing video. Please note that while I’m not too new to Linux, EndeavourOS is my first Arch based distro, and I also don’t know much about how to configure X11.

What I have already tried:

  • Running nvidia-inst --prime --conf --32 to install nvidia-prime and the correct graphics drivers.

  • Using the xorg.conf I found here. My system booted to a blank screen.

  • Appending the following to my xorg.conf:

Section "Screen"
    Identifier "intel"
    Device "intel"

This again caused the system to boot to a blank screen.

My current xorg.conf is spread across two files inside /etc/X11/xorg.conf.d: 00-keyboard.conf and 20-nvidia-conf.

Not sure if this helps, but my output of xrandr --listproviders is:

Providers: number : 1
Provider 0: id: 0x1b7 cap: 0x1, Source Output crtcs: 2 outputs: 2 associated providers: 0 name:NVIDIA-0

And my output of lspci | grep VGA is:

00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 VGA compatible controller: NVIDIA Corporation GP108 [GeForce GT 1030] (rev a1)

Sorry if this is a stupid question or I’ve missed anything- please ask if you need any other information.
Thank you!

Thank you, but I can’t get the monitor connected to integrated graphics to show up in xrandr (or anywhere else).
Output of xrandr --listmonitors:

Monitors: 2
 0: +*HDMI-0 1920/527x1080/296+0+0  HDMI-0
 1: +DVI-D-0 1680/474x1050/296+1920+0  DVI-D-0

My third monitor connected to integrated graphics displays the boot messages while the system is booting, but when the display manager starts it outputs a blank screen with a static text cursor.

I also dual-boot Windows which is able to detect and use the third monitor.

It may be that your your laptop switches to dedicated graphics when connected to external monitors. I don’t know the hardware you have? Some laptops do this automatically and don’t need optimus-manager. I’m assuming it’s a laptop? Can you post the url link for this command?

inxi -Faz | eos-sendlog

No, it’s a desktop (sorry, should have mentioned that in the original post).
Here is the command output.

Sorry, I just assumed it was a laptop. Looks like you are running on Nvidia. So at least that parts good. Drivers are installed properly. Do you switch graphics with optimus manager? I thought this was only for laptops? Hence why i assumed it was laptop? I don’t recall anyone with desktop using optimus? :thinking:

API: OpenGL v: 4.6.0 NVIDIA 525.85.05 renderer: NVIDIA GeForce GT
    1030/PCIe/SSE2 direct render: Yes

Edit: I’m not an expert on this so I’m just thinking?

Edit2: Did you read through this also?

I previously used optimus-manager just because it was the only way I could get output on all three of my monitors. As I said in my original post, while this “worked”, it made boot times much longer and had screen tearing. I didn’t ever actually use optimus-manager to switch graphics devices, I always had it set to use Nvidia graphics. I know this obviously isn’t what it was designed for, but it just about “worked”. I’m trying to find a better solution for this as using optimus-manager isn’t how it should have to be set up.

I think a better solution would be display port split to two monitors?

That’s what I’d like to do, though unfortunately the GPU I’m using is old and doesn’t have Displayport. I do have Displayport output on the integrated graphics in my motherboard though: do you think this is worth trying?

Does the internal graphics work hooking one monitor to it without optimus manager? Then try another on the dedicated card. Then add a third on the dedicated card. You may have to use xrandr to set up the displays.

After experimenting for a while, I eventually deleted 20-nvidia.conf and replaced it with 10-graphics.conf containing:

Section "Device"
	Identifier "intel-integrated"
	Driver "modesetting"
	BusID "PCI:0:2:0"

Section "Device"
	Identifier "nvidia-dedicated"
	Driver "nvidia"
	BusID "PCI:1:0:0"

Section "Screen"
	Identifier "nvidia-scr"
	Device "nvidia-dedicated"

Section "Screen"
	Identifier "intel-scr"
	Device "intel-integrated"

Didn’t have to do anything else, all my monitors were found automatically.
Solved, thanks for your help!

1 Like

There you go! That’s why i gave you the link as it’s hard for me to duplicate. Did you not need optimus then? If so is it still rendering on nvidia?

inxi -Ga

Removed optimus-manager as no longer needed. Nvidia is still doing the rendering (I think), but screen tearing is gone and boot times are much quicker. Thanks again!

inxi -Ga output
glxinfo -B output

Yep it’s using nvidia graphics to render. Looks good.

API: OpenGL v: 4.6.0 NVIDIA 525.85.05 renderer: NVIDIA GeForce GT
    1030/PCIe/SSE2 direct render: Yes

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.