HDMI troubleshooting on Fedora 32

Hi, I’m new to Fedora. I’m using Fedora 32 on a Asus TUF 505DD. It has a Ryzen 5 3550H and a nVidia GeForce GTX 1050.
I’m having issues with the HDMI output on wayland. I tried login using an Xorg session and the HDMI works ok, although the sound doesn’t work.
When using a wayland session, the external monitor has 2/3 of the view completely blank and the top 1/3 of the view looks good.

I’m using nouveau drivers. I tried using the latest nVidia drivers (440.x version) but I haven’t had any luck.

Here is a photo I took to show you how my external monitor looks

Here is the output of lshw -C display

  *-display                 
       description: VGA compatible controller
       product: GP107M [GeForce GTX 1050 3 GB Max-Q]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
       configuration: driver=nouveau latency=0
       resources: irq:65 memory:f6000000-f6ffffff memory:c0000000-cfffffff memory:d0000000-d1ffffff ioport:f000(size=128) memory:f7000000-f707ffff
  *-display
       description: VGA compatible controller
       product: Picasso
       vendor: Advanced Micro Devices, Inc. [AMD/ATI]
       physical id: 0
       bus info: pci@0000:05:00.0
       version: c2
       width: 64 bits
       clock: 33MHz
       capabilities: pm pciexpress msi msix vga_controller bus_master cap_list rom
       configuration: driver=amdgpu latency=0
       resources: irq:24 memory:e0000000-efffffff memory:f0000000-f01fffff ioport:c000(size=256) memory:f7500000-f757ffff memory:c0000-dffff

And the output of lspci -vvv (only the nvidia and amd gpu parts)

01:00.0 VGA compatible controller: NVIDIA Corporation GP107M [GeForce GTX 1050 3 GB Max-Q] (rev ff) (prog-if ff)
	!!! Unknown header type 7f
	Kernel driver in use: nouveau
	Kernel modules: nouveau

01:00.1 Audio device: NVIDIA Corporation GP107GL High Definition Audio Controller (rev ff) (prog-if ff)
	!!! Unknown header type 7f
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel

05:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Picasso (rev c2) (prog-if 00 [VGA controller])
	Subsystem: ASUSTeK Computer Inc. Device 18f1
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort+ <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 24
	Region 0: Memory at e0000000 (64-bit, prefetchable) [size=256M]
	Region 2: Memory at f0000000 (64-bit, prefetchable) [size=2M]
	Region 4: I/O ports at c000 [size=256]
	Region 5: Memory at f7500000 (32-bit, non-prefetchable) [size=512K]
	Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
	Capabilities: [48] Vendor Specific Information: Len=08 <?>
	Capabilities: [50] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [64] Express (v2) Legacy Endpoint, MSI 00
		DevCap:	MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
			ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+
		DevCtl:	CorrErr- NonFatalErr- FatalErr- UnsupReq-
			RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+ FLReset-
			MaxPayload 256 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr- NonFatalErr+ FatalErr- UnsupReq+ AuxPwr- TransPend-
		LnkCap:	Port #0, Speed 8GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <64ns, L1 <1us
			ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
		LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 8GT/s (ok), Width x16 (ok)
			TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		DevCap2: Completion Timeout: Not Supported, TimeoutDis-, NROPrPrP-, LTR+
			 10BitTagComp-, 10BitTagReq-, OBFF Not Supported, ExtFmt+, EETLPPrefix+, MaxEETLPPrefixes 1
			 EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
			 FRS-
			 AtomicOpsCap: 32bit- 64bit- 128bitCAS-
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
			 AtomicOpsCtl: ReqEn+
		LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance De-emphasis: -6dB
		LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete+, EqualizationPhase1+
			 EqualizationPhase2+, EqualizationPhase3+, LinkEqualizationRequest-
	Capabilities: [a0] MSI: Enable- Count=1/4 Maskable- 64bit+
		Address: 0000000000000000  Data: 0000
	Capabilities: [c0] MSI-X: Enable+ Count=3 Masked-
		Vector table: BAR=5 offset=00042000
		PBA: BAR=5 offset=00043000
	Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
	Capabilities: [200 v1] Resizable BAR <?>
	Capabilities: [270 v1] Secondary PCI Express
		LnkCtl3: LnkEquIntrruptEn-, PerformEqu-
		LaneErrStat: 0
	Capabilities: [2a0 v1] Access Control Services
		ACSCap:	SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-
		ACSCtl:	SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-
	Capabilities: [2b0 v1] Address Translation Service (ATS)
		ATSCap:	Invalidate Queue Depth: 00
		ATSCtl:	Enable+, Smallest Translation Unit: 00
	Capabilities: [2c0 v1] Page Request Interface (PRI)
		PRICtl: Enable+ Reset-
		PRISta: RF- UPRGI- Stopped+
		Page Request Capacity: 00000020, Page Request Allocation: 00000020
	Capabilities: [2d0 v1] Process Address Space ID (PASID)
		PASIDCap: Exec+ Priv+, Max PASID Width: 10
		PASIDCtl: Enable+ Exec- Priv-
	Capabilities: [320 v1] Latency Tolerance Reporting
		Max snoop latency: 0ns
		Max no snoop latency: 0ns
	Kernel driver in use: amdgpu
	Kernel modules: amdgpu

Is there anything I can do to make HDMI sound and video output work?

I run a Nvidia RTX 2080 on Fedora 32 with X11, I’ve actually never had much luck with Wayland and Nvidia so I’ve mostly given up. However this recent post from negativo17 indicates otherwise:

As for the nouveau drivers, I never bothered much with them either. For the better part of 2 years I was manually installing Nvidia drivers directly from the Nvidia website (after every kernel update) - this worked reasonably well, however just recently I switched over to the negativo17 nvidia repositories (I’d link it, but apparently I’m only allowed to put 2 links in a post).

The setup was very straight forward if you’re looking to switch to the proprietary driver. Basically:

dnf config-manager --add-repo=https://negativo17.org/repos/fedora-nvidia.repo
dnf info nvidia-driver-libs.i686 nvidia-driver nvidia-settings  nvidia-driver-cuda cuda-devel cuda

(omit i686 libs if you don’t care about Steam, and omit cuda if you don’t care about ML applications).

As for flaky audio on X11 w/ Nvidia, I actually just wrote a post about that but it’s waiting for approval, but tldr, do this:

https://wiki.archlinux.org/index.php/PulseAudio/Examples#HDMI_output_configuration

Thanks for your response and help. I’ll try this and com back to tell you how it worked.

Well, it didn’t work. I’m using the latest Nvidia drivers from negativo17 repo. If I enable wayland support the computer hangs as soon as connecting the hdmi cable. When login using Xorg, the computer doesn’t crash but the hdmi is completely black.

“When login using Xorg, the computer doesn’t crash but the hdmi is completely black.”

This is generally what I get when I manage the nvidia drivers manually after a kernel update, and need to reinstall the drivers.

If you switch to a different tty after startup (e.g. Ctrl-Alt-F2 or any F3-F6 key) then run nvidia-smi, what do you get?

Did you disable nouveau drivers in /etc/grub2.cfg? (See steps here https://linuxconfig.org/how-to-install-the-nvidia-drivers-on-fedora-32) (although, this may be done automatically w/ the dnf installed drivers, I’m not sure)

Can you share your X11 config? If there’s an /etc/X11/xorg.conf.d directory your nvidia settings may be in a file in there

Lastly, are there any errors in dmesg or journalctl -xe?

nvidia-smi output

Mon Jul 20 19:35:47 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.57       Driver Version: 450.57       CUDA Version: 11.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce GTX 1050    Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   38C    P8    N/A /  N/A |     11MiB /  3020MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1313      G   /usr/libexec/Xorg                   4MiB |
|    0   N/A  N/A      1942      G   /usr/libexec/Xorg                   4MiB |
+-----------------------------------------------------------------------------+

I think nouveau is blacklisted. This is inside /etc/default/grub: rd.driver.blacklist=nouveau

This is inside xorg.conf.d folder:

[mbianchi@mbianchi-asus ~]$ cat /etc/X11/xorg.conf.d/10-nvidia.conf 
Section "OutputClass"
    Identifier "nvidia"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    Option "SLI" "Auto"
    Option "BaseMosaic" "on"
EndSection

I’ll check journalctl -xe and dmesg later to see what they show.

last thing that I just remembered… I remember when I initially setup my system I had trouble with gdm defaulting to Wayland, now there seems to be a flag to disable that (to prefer X) in /etc/gdm/custom.config, but I had better luck just installing sddm

although I just checked and switching back to gdm seems to work fine for me now… so I don’t know if that’s actually still an issue.

Please post the output of

 lsmod | grep nvidia 

and

 lsmod | grep noveau 

Also post the output of

 dnf list installed '*nvidia*' 

I am running the same video card as you (Geforce GTX 1050) and have never had problems with the nvidia drivers from rpmfusion.

The packages I have installed for nvidia are

dnf list installed '*nvidia*'
akmod-nvidia.x86_64                                                     3:440.100-1.fc32                               @rpmfusion-nonfree-updates
kmod-nvidia-5.6.13-300.fc32.x86_64.x86_64                               3:440.82-1.fc32                                @commandline             
kmod-nvidia-5.7.8-200.fc32.x86_64.x86_64                                3:440.100-1.fc32                              @commandline             
kmod-nvidia-5.7.9-200.fc32.x86_64.x86_64                                3:440.100-1.fc32                              @commandline             
nvidia-modprobe.x86_64                                                  3:440.100-1.fc32                              @rpmfusion-nonfree-updates
nvidia-persistenced.x86_64                                              3:440.100-1.fc32                               @rpmfusion-nonfree-updates
nvidia-settings.x86_64                                                  3:440.100-1.fc32                               @rpmfusion-nonfree-updates
nvidia-xconfig.x86_64                                                   3:440.100-1.fc32                               @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia.x86_64                                              3:440.100-1.fc32                               @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-cuda.x86_64                                         3:440.100-1.fc32                               @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-cuda-libs.x86_64                                    3:440.100-1.fc32                               @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-devel.x86_64                                        3:440.100-1.fc32                               @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-kmodsrc.x86_64                                      3:440.100-1.fc32                               @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-libs.x86_64                                         3:440.100-1.fc32                               @rpmfusion-nonfree-updates

and the modules loaded are

Blockquote

lsmod | grep 'nvidia'
nvidia_drm             57344  9
nvidia_modeset       1118208  12 nvidia_drm
nvidia_uvm           1093632  0
nvidia              20721664  597 nvidia_uvm,nvidia_modeset
drm_kms_helper        249856  1 nvidia_drm
ipmi_msghandler       118784  2 ipmi_devintf,nvidia
drm                   618496  12 drm_kms_helper,nvidia_drm

Thanks for your help! I had a tough week so I have just seen your comment.

The output for lsmod | grep nvidia is this

nvidia_drm             57344  4
nvidia_modeset       1187840  5 nvidia_drm
nvidia_uvm           1130496  0
nvidia              19726336  144 nvidia_uvm,nvidia_modeset
drm_kms_helper        249856  2 amdgpu,nvidia_drm
drm                   618496  14 gpu_sched,drm_kms_helper,amdgpu,nvidia_drm,ttm

The output of lsmod | grep noveau is empty.

Running dnf list installed "*nvidia*" shows this:

akmod-nvidia.x86_64                                             3:450.57-1.fc32                         @fedora-nvidia
kmod-nvidia-5.7.8-200.fc32.x86_64.x86_64                        3:450.57-1.fc32                         @@commandline 
kmod-nvidia-5.7.9-200.fc32.x86_64.x86_64                        3:450.57-1.fc32                         @@commandline 
nvidia-driver.x86_64                                            3:450.57-1.fc32                         @fedora-nvidia
nvidia-driver-NVML.x86_64                                       3:450.57-1.fc32                         @fedora-nvidia
nvidia-driver-cuda.x86_64                                       3:450.57-1.fc32                         @fedora-nvidia
nvidia-driver-cuda-libs.x86_64                                  3:450.57-1.fc32                         @fedora-nvidia
nvidia-driver-libs.i686                                         3:450.57-1.fc32                         @fedora-nvidia
nvidia-driver-libs.x86_64                                       3:450.57-1.fc32                         @fedora-nvidia
nvidia-kmod-common.noarch                                       3:450.57-1.fc32                         @fedora-nvidia
nvidia-libXNVCtrl.x86_64                                        3:450.57-1.fc32                         @fedora-nvidia
nvidia-persistenced.x86_64                                      3:450.57-1.fc32                         @fedora-nvidia
nvidia-settings.x86_64                                          3:450.57-1.fc32                         @fedora-nvidia

I note that your module list shows the amdgpu module is loaded and used by drm. Do you have an amd card installed? If not, why is the module loaded?

I have never tried with both types of cards installed but would suspect that one interferes with the other.

Also, if you look at the packages you have installed you find you are using the fedora-nvidia repo. I am using the rpmfusion repo.
It is likely the packages differ and that may be part of the reason you are having problems.

Maybe you can try removing all those packages and install the packages from rpmfusion to see if there is a difference in the way they function.

Thinking about the problem a bit, I would suggest fixing the module issue first then if the problem continues try the packages.