You are not logged in.
My desktop has both an AMD and Nvidia graphics card. Three monitors are plugged into the AMD card and one monitor is plugged into the Nvidia card.
On my dualbooted windows this setup is able to display on all monitors, however on linux the Nvidia card does not output anything. (i.e: monitor shows "no signal")
I use the 'nvidia' package as the nvidia driver and 'xf86-video-amdgpu' as the amd driver.
My display manager is sddm and I use the KDE Plasma desktop environment.
The drivers seem to load fine based on my understanding and xrandr also detects all the screens, for full logs see below.
cat /var/log/Xorg.0.log | grep "Setup complete"
[ 9.847] (II) AMDGPU(0): [DRI2] Setup complete
[ 9.925] (II) NVIDIA(G0): [DRI2] Setup completexrandr --listproviders
Providers: number : 2
Provider 0: id: 0x58 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 6 outputs: 4 associated providers: 1 name:AMD Radeon RX 6900 XT @ pci:0000:0c:00.0
Provider 1: id: 0x227 cap: 0x2, Sink Output crtcs: 4 outputs: 8 associated providers: 1 name:NVIDIA-G0The Nvidia screen is also present in the KDE System Settings gui and can be enabled without issue (but the monitor does not receive any signal).
Interestingly, no nvidia monitor is present in the xorg log:
cat /var/log/Xorg.0.log | grep "Monitor name"
[ 9.728] (II) AMDGPU(0): Monitor name: VG259
[ 9.731] (II) AMDGPU(0): Monitor name: Index HMD
[ 9.733] (II) AMDGPU(0): Monitor name: VG259The monitor is however apparently recognized by name, but the log shows a failure to configure Reverse Prime.
Excerpts from Xorg.0.log (full log see below):
[ 9.830] (--) NVIDIA(GPU-0): ViewSonic VG2448 (DFP-4): connected
[ 10.429] (--) NVIDIA(GPU-0): ViewSonic VG2448 (DFP-4): connected
[ 17.283] (--) NVIDIA(GPU-0): ViewSonic VG2448 (DFP-4): connected
[ 17.720] (--) NVIDIA(GPU-0): ViewSonic VG2448 (DFP-4): connected
[ 40.950] randr: failed to create shared pixmap
[ 40.950] (EE) NVIDIA(G0): Failed to configure Reverse PRIME on output DP-1-2.Trying to enable the monitor using xrandr fails:
xrandr --verbose --output DP-1-2 --auto
screen 0: 3840x1080 1013x285 mm 96.25dpi
crtc 6: 1920x1080 59.93 +0+0 "DP-1-2"
xrandr: Configure crtc 6 failed
crtc 0: disable
crtc 1: disable
crtc 2: disable
crtc 3: disable
crtc 4: disable
crtc 5: disable
crtc 6: disable
crtc 7: disable
crtc 8: disable
crtc 9: disable
screen 0: revert
crtc 0: revert
crtc 1: revert
crtc 2: revert
crtc 3: revert
crtc 4: revert
crtc 5: revert
crtc 6: revert
crtc 7: revert
crtc 8: revert
crtc 9: reverthere is the output of: lsmod | grep 'nvidia\|amd'
amdgpu 11874304 150
edac_mce_amd 53248 0
nvidia_drm 94208 3
kvm_amd 204800 0
nvidia_modeset 1556480 3 nvidia_drm
kvm 1318912 1 kvm_amd
drm_buddy 20480 1 amdgpu
gpu_sched 53248 1 amdgpu
nvidia_uvm 3477504 0
drm_suballoc_helper 12288 1 amdgpu
drm_ttm_helper 12288 1 amdgpu
ttm 98304 2 amdgpu,drm_ttm_helper
drm_display_helper 204800 1 amdgpu
ccp 155648 1 kvm_amd
video 73728 2 amdgpu,nvidia_modeset
i2c_algo_bit 20480 2 igb,amdgpu
nvidia 62607360 90 nvidia_uvm,nvidia_modesethere is the output of dmesg | grep 'nvidia\|amd':
[ 0.243572] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).
[ 0.329891] amd_pstate: driver load is disabled, boot with specific mode to enable this
[ 2.134383] nvidia: loading out-of-tree module taints kernel.
[ 2.134387] nvidia: module license 'NVIDIA' taints kernel.
[ 2.134390] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[ 2.134390] nvidia: module license taints kernel.
[ 2.337064] nvidia-nvlink: Nvlink Core is being initialized, major device number 236
[ 2.337762] nvidia 0000:0d:00.0: enabling device (0000 -> 0003)
[ 2.337820] nvidia 0000:0d:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=none
[ 2.626804] nvidia_uvm: module uses symbols nvUvmInterfaceDisableAccessCntr from proprietary module nvidia, inheriting taint.
[ 2.717095] nvidia-uvm: Loaded the UVM driver, major device number 509.
[ 2.792558] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 535.86.05 Fri Jul 14 20:20:58 UTC 2023
[ 2.796328] [drm] [nvidia-drm] [GPU ID 0x00000d00] Loading driver
[ 2.796329] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:0d:00.0 on minor 0
[ 2.796336] kvm_amd: TSC scaling supported
[ 2.796337] kvm_amd: Nested Virtualization enabled
[ 2.796338] kvm_amd: Nested Paging enabled
[ 2.796352] kvm_amd: Virtual VMLOAD VMSAVE supported
[ 2.796352] kvm_amd: Virtual GIF supported
[ 2.796353] kvm_amd: LBR virtualization supported
[ 3.897276] [drm] amdgpu kernel modesetting enabled.
[ 3.897298] amdgpu: vga_switcheroo: detected switching method \_SB_.PCI0.GPP8.SWUS.SWDS.VGA_.ATPX handle
[ 3.901299] amdgpu: Ignoring ACPI CRAT on non-APU system
[ 3.901302] amdgpu: Virtual CRAT table created for CPU
[ 3.901308] amdgpu: Topology: Add CPU node
[ 3.903298] amdgpu 0000:0c:00.0: No more image in the PCI ROM
[ 3.903311] amdgpu 0000:0c:00.0: amdgpu: Fetched VBIOS from ROM BAR
[ 3.903312] amdgpu: ATOM BIOS: 113-D4120100-100
[ 3.917620] amdgpu 0000:0c:00.0: vgaarb: deactivate vga console
[ 3.917621] amdgpu 0000:0c:00.0: amdgpu: Trusted Memory Zone (TMZ) feature disabled as experimental (default)
[ 3.917646] amdgpu 0000:0c:00.0: amdgpu: MEM ECC is not presented.
[ 3.917646] amdgpu 0000:0c:00.0: amdgpu: SRAM ECC is not presented.
[ 3.917660] amdgpu 0000:0c:00.0: amdgpu: VRAM: 16368M 0x0000008000000000 - 0x00000083FEFFFFFF (16368M used)
[ 3.917661] amdgpu 0000:0c:00.0: amdgpu: GART: 512M 0x0000000000000000 - 0x000000001FFFFFFF
[ 3.917662] amdgpu 0000:0c:00.0: amdgpu: AGP: 267894784M 0x0000008400000000 - 0x0000FFFFFFFFFFFF
[ 3.917744] [drm] amdgpu: 16368M of VRAM memory ready
[ 3.917746] [drm] amdgpu: 16006M of GTT memory ready.
[ 6.128432] amdgpu 0000:0c:00.0: amdgpu: STB initialized to 2048 entries
[ 6.129554] amdgpu 0000:0c:00.0: amdgpu: Will use PSP to load VCN firmware
[ 6.341187] amdgpu 0000:0c:00.0: amdgpu: SECUREDISPLAY: securedisplay ta ucode is not available
[ 6.341208] amdgpu 0000:0c:00.0: amdgpu: smu driver if version = 0x00000040, smu fw if version = 0x00000041, smu fw program = 0, version = 0x003a5800 (58.88.0)
[ 6.341210] amdgpu 0000:0c:00.0: amdgpu: SMU driver if version not matched
[ 6.341241] amdgpu 0000:0c:00.0: amdgpu: use vbios provided pptable
[ 6.415040] amdgpu 0000:0c:00.0: amdgpu: SMU is initialized successfully!
[ 6.419880] snd_hda_intel 0000:0c:00.1: bound 0000:0c:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])
[ 6.888864] kfd kfd: amdgpu: Allocated 3969056 bytes on gart
[ 6.888977] amdgpu: sdma_bitmap: ffff
[ 6.944380] amdgpu: HMM registered 16368MB device memory
[ 6.944437] amdgpu: SRAT table not found
[ 6.944438] amdgpu: Virtual CRAT table created for GPU
[ 6.944992] amdgpu: Topology: Add dGPU node [0x73bf:0x1002]
[ 6.944994] kfd kfd: amdgpu: added device 1002:73bf
[ 6.945021] amdgpu 0000:0c:00.0: amdgpu: SE 4, SH per SE 2, CU per SH 10, active_cu_number 80
[ 6.945091] amdgpu 0000:0c:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
[ 6.945092] amdgpu 0000:0c:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
[ 6.945094] amdgpu 0000:0c:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
[ 6.945094] amdgpu 0000:0c:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 5 on hub 0
[ 6.945095] amdgpu 0000:0c:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 6 on hub 0
[ 6.945095] amdgpu 0000:0c:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 7 on hub 0
[ 6.945096] amdgpu 0000:0c:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 8 on hub 0
[ 6.945096] amdgpu 0000:0c:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 9 on hub 0
[ 6.945097] amdgpu 0000:0c:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 10 on hub 0
[ 6.945097] amdgpu 0000:0c:00.0: amdgpu: ring kiq_2.1.0 uses VM inv eng 11 on hub 0
[ 6.945098] amdgpu 0000:0c:00.0: amdgpu: ring sdma0 uses VM inv eng 12 on hub 0
[ 6.945098] amdgpu 0000:0c:00.0: amdgpu: ring sdma1 uses VM inv eng 13 on hub 0
[ 6.945099] amdgpu 0000:0c:00.0: amdgpu: ring sdma2 uses VM inv eng 14 on hub 0
[ 6.945100] amdgpu 0000:0c:00.0: amdgpu: ring sdma3 uses VM inv eng 15 on hub 0
[ 6.945100] amdgpu 0000:0c:00.0: amdgpu: ring vcn_dec_0 uses VM inv eng 0 on hub 1
[ 6.945101] amdgpu 0000:0c:00.0: amdgpu: ring vcn_enc_0.0 uses VM inv eng 1 on hub 1
[ 6.945101] amdgpu 0000:0c:00.0: amdgpu: ring vcn_enc_0.1 uses VM inv eng 4 on hub 1
[ 6.945102] amdgpu 0000:0c:00.0: amdgpu: ring vcn_dec_1 uses VM inv eng 5 on hub 1
[ 6.945102] amdgpu 0000:0c:00.0: amdgpu: ring vcn_enc_1.0 uses VM inv eng 6 on hub 1
[ 6.945103] amdgpu 0000:0c:00.0: amdgpu: ring vcn_enc_1.1 uses VM inv eng 7 on hub 1
[ 6.945103] amdgpu 0000:0c:00.0: amdgpu: ring jpeg_dec uses VM inv eng 8 on hub 1
[ 6.946021] amdgpu 0000:0c:00.0: amdgpu: Using BACO for runtime pm
[ 6.946489] [drm] Initialized amdgpu 3.52.0 20150101 for 0000:0c:00.0 on minor 1
[ 6.960923] fbcon: amdgpudrmfb (fb0) is primary device
[ 7.167285] amdgpu 0000:0c:00.0: [drm] fb0: amdgpudrmfb frame buffer deviceYou can find the full output of xrandr -q, dmesg and journalctl as well as Xorg.0.log here:
https://gist.github.com/SpellcheckerExt … 7382c8a12f
I have tried to make use of the information in the arch wiki articles for Multihead, PRIME, NVIDIA and AMDGPU.
There is no xorg.conf configuration file, as according to the wiki neither the proprietary nvidia drivers nor the open source amdgpu driver strictly need one.
The way I understand it, anything in the xorg.conf should be achievable with xrandr, just not persitently:
RandR can be configured for the current session via the xrandr tool, arandr or persistently via an xorg.conf file.
So there is no point in tinkering with the xorg.conf until I can enable the screen using xrandr. Is this assumption correct?
Any pointers and suggestion to further troubleshoot the issue are greatly appreciated.
Please let me know if there is any more useful information that I can provide.
Last edited by CluelessArcher (2023-08-22 18:14:35)
Offline
Reverse prime is intended to let the primary card (amdgpu) do the rendering and output it to screens attached to the secondary card (nvidia) .
That is what you want ?
There have been cases recently where xf86-video-amdgpu + nvidia has issues, but modesetiing + nvidia doesn't .
Try removing xf86-video-amdgpu, then restart X .
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
Yep, the second card is for the extra outputs not for the extra power so reverse PRIME would be fine.
Sadly using modesetting did not work either, still no signal.
Offline
[ 1152.114] (EE) NVIDIA(G0): Failed to configure Reverse PRIME on output DP-1-2.
[ 1152.244] (EE) AMDGPU(0): drmmode_do_crtc_dpms cannot get last vblank counter
[ 1152.311] (EE) AMDGPU(0): drmmode_do_crtc_dpms cannot get last vblank counterPlease upload an updated Xorg log w/ the modesetting driver.
Also please use 0x0.io or post a direct link to the raw text; finding stuff in the scroll-happy gist is a complete pita.
Edit: also https://wiki.archlinux.org/title/NVIDIA … de_setting
Last edited by seth (2023-07-25 21:00:44)
Offline
Here is an updated Xorg log with the modesetting driver
Offline
Edit: disregard. I confused this for another thread.
Still remove xf86-video-ati
Last edited by seth (2023-08-22 08:35:21)
Offline
[ 10.992] (II) NVIDIA(G0): Validated MetaModes:
[ 10.992] (II) NVIDIA(G0): "NULL"
[ 10.992] (II) NVIDIA(G0): Virtual screen size determined to be 640 x 480
[ 10.999] (WW) NVIDIA(G0): Cannot find size of first mode for ViewSonic VG2448 (DFP-4);
[ 10.999] (WW) NVIDIA(G0): cannot compute DPI from ViewSonic VG2448 (DFP-4)'s EDID.
[ 10.999] (==) NVIDIA(G0): DPI set to (75, 75); computed from built-in defaultEnable https://wiki.archlinux.org/title/NVIDIA … de_setting
Then run
for OUT in /sys/class/drm/card*; do echo $OUT; edid-decode $OUT/edid; echo "================="; doneand post the output, https://aur.archlinux.org/packages/edid-decode-git
Offline
Thank you for your reply, setting the kernel parameter has solved the issue.
For completeness, here is the output you asked for.
Out of curiosity, where could I have found the hint that enabling that parameter might help?
Just so I know where to look in the future
Offline
The parameter is relevant for the edid to show up in that location (not sure whether that's documented anywhere) and I speculated that was gonna be relevant for the output being picked up for reverse prime.
"Jedi instincts", but the wiki also points out that enabling modesetting is now important to get away from the simpledrm device.
Offline