nouveau hang at boot with kernel 6.6
Since the update to kernel 6.6 on my fedora 39, nouveau hang when X is starting. Using 6.5, everything is fine. The nivdia card is the secondary card on my laptop (main one is an Intel card).
Looking at kernel logs, i can see the following in the boot messages:
févr. 01 09:12:38 iltp016.corp gnome-shell[2265]: Device '/dev/dri/card2' prefers shadow buffer
févr. 01 09:12:38 iltp016.corp gnome-shell[2265]: Added device '/dev/dri/card2' (i915) using atomic mode setting.
févr. 01 09:12:39 iltp016.corp kernel: nouveau 0000:2d:00.0: bus: MMIO read of 00000000 FAULT at 6013d4 [ TIMEOUT ]
févr. 01 09:12:41 iltp016.corp kernel: ------------[ cut here ]------------
févr. 01 09:12:41 iltp016.corp kernel: nouveau 0000:2d:00.0: timeout
févr. 01 09:12:41 iltp016.corp kernel: WARNING: CPU: 5 PID: 2265 at drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c:1792 gf100_gr_init_ctxctl_ext+0x555/0x570 [nouveau]
févr. 01 09:12:41 iltp016.corp kernel: Modules linked in: nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ip_set nf_tables nfnetlink qrtr bnep sunrpc binfmt_misc dm_crypt rmi_smbus rmi_core snd_ctl_led snd_soc_skl_hda_dsp snd_soc_intel_hda_dsp_common snd_soc_hdac_hdmi snd_sof_probes snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic snd_soc_dmic snd_sof_pci_intel_cnl snd_sof_intel_hda_common soundwire_intel snd_sof_intel_hda_mlink soundwire_cadence iwlmvm snd_sof_intel_hda snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils soundwire_generic_allocation soundwire_bus snd_soc_skl mac80211 snd_soc_hdac_hda snd_hda_ext_core snd_soc_sst_ipc snd_soc_sst_dsp x86_pkg_temp_thermal snd_soc_acpi_intel_match intel_powerclamp snd_soc_acpi coretemp snd_soc_core kvm_intel snd_compress ac97_bus snd_pcm_dmaengine vfat libarc4 fat snd_hda_intel uvcvideo kvm snd_intel_dspcfg
févr. 01 09:12:41 iltp016.corp kernel: mei_pxp mei_wdt snd_intel_sdw_acpi uvc mei_hdcp ee1004 btusb snd_hda_codec irqbypass videobuf2_vmalloc iTCO_wdt intel_pmc_bxt btrtl videobuf2_memops iTCO_vendor_support snd_hda_core intel_rapl_msr iwlwifi rapl snd_hwdep videobuf2_v4l2 btintel intel_cstate videobuf2_common snd_seq think_lmi btbcm btmtk intel_uncore firmware_attributes_class thunderbolt wmi_bmof intel_wmi_thunderbolt videodev snd_seq_device pcspkr bluetooth cfg80211 snd_pcm thinkpad_acpi processor_thermal_device_pci_legacy processor_thermal_device processor_thermal_rfim mc snd_timer processor_thermal_mbox mei_me ledtrig_audio platform_profile i2c_i801 processor_thermal_rapl mei intel_rapl_common i2c_smbus snd rfkill intel_pch_thermal intel_soc_dts_iosf int3403_thermal soundcore int340x_thermal_zone intel_hid int3400_thermal acpi_thermal_rel sparse_keymap acpi_pad joydev loop i915 nouveau crct10dif_pclmul crc32_pclmul crc32c_intel polyval_clmulni rtsx_pci_sdmmc drm_ttm_helper drm_exec polyval_generic mmc_core gpu_sched nvme mxm_wmi
févr. 01 09:12:41 iltp016.corp kernel: i2c_algo_bit drm_buddy ghash_clmulni_intel ttm sha512_ssse3 sha256_ssse3 e1000e nvme_core drm_display_helper ucsi_acpi sha1_ssse3 typec_ucsi rtsx_pci cec typec nvme_common video wmi pinctrl_cannonlake serio_raw r8152 mii ip6_tables ip_tables fuse
févr. 01 09:12:41 iltp016.corp kernel: CPU: 5 PID: 2265 Comm: gnome-shell Tainted: G S 6.6.13-200.fc39.x86_64 #1
févr. 01 09:12:41 iltp016.corp kernel: Hardware name: LENOVO 20S5S12G00/20S5S12G00, BIOS N2XET38W (1.28 ) 01/18/2023
févr. 01 09:12:41 iltp016.corp kernel: RIP: 0010:gf100_gr_init_ctxctl_ext+0x555/0x570 [nouveau]
févr. 01 09:12:41 iltp016.corp kernel: Code: 8b 40 10 48 8b 78 10 48 8b 5f 50 48 85 db 75 03 48 8b 1f e8 2d 01 4a e7 48 89 da 48 c7 c7 d1 41 85 c0 48 89 c6 e8 2b d2 ac e6 <0f> 0b b8 f0 ff ff ff e9 06 fe ff ff e8 aa d2 99 e7 66 2e 0f 1f 84
févr. 01 09:12:41 iltp016.corp kernel: RSP: 0018:ffffc90001743bb8 EFLAGS: 00010286
févr. 01 09:12:41 iltp016.corp kernel: RAX: 0000000000000000 RBX: ffff8881023b0d70 RCX: 0000000000000027
févr. 01 09:12:41 iltp016.corp kernel: RDX: ffff88884d561588 RSI: 0000000000000001 RDI: ffff88884d561580
févr. 01 09:12:41 iltp016.corp kernel: RBP: ffff8881034ce000 R08: 0000000000000000 R09: ffffc90001743a40
févr. 01 09:12:41 iltp016.corp kernel: R10: 0000000000000003 R11: ffffffffa9346508 R12: ffff88810dd000d0
févr. 01 09:12:41 iltp016.corp kernel: R13: ffff88810dd00290 R14: 0000000000000000 R15: ffff888109fc7f00
févr. 01 09:12:41 iltp016.corp kernel: FS: 00007f657191b640(0000) GS:ffff88884d540000(0000) knlGS:0000000000000000
févr. 01 09:12:41 iltp016.corp kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
févr. 01 09:12:41 iltp016.corp kernel: CR2: 00007f65581b3000 CR3: 0000000135ebc003 CR4: 00000000003706e0
févr. 01 09:12:41 iltp016.corp kernel: Call Trace:
févr. 01 09:12:41 iltp016.corp kernel: <TASK>
févr. 01 09:12:41 iltp016.corp kernel: ? gf100_gr_init_ctxctl_ext+0x555/0x570 [nouveau]
févr. 01 09:12:41 iltp016.corp kernel: ? __warn+0x81/0x130
févr. 01 09:12:41 iltp016.corp kernel: ? gf100_gr_init_ctxctl_ext+0x555/0x570 [nouveau]
févr. 01 09:12:41 iltp016.corp kernel: ? report_bug+0x171/0x1a0
févr. 01 09:12:41 iltp016.corp kernel: ? prb_read_valid+0x1b/0x30
févr. 01 09:12:41 iltp016.corp kernel: ? handle_bug+0x3c/0x80
févr. 01 09:12:41 iltp016.corp kernel: ? exc_invalid_op+0x17/0x70
févr. 01 09:12:41 iltp016.corp kernel: ? asm_exc_invalid_op+0x1a/0x20
févr. 01 09:12:41 iltp016.corp kernel: ? gf100_gr_init_ctxctl_ext+0x555/0x570 [nouveau]
févr. 01 09:12:41 iltp016.corp kernel: ? gf100_gr_init_ctxctl_ext+0x555/0x570 [nouveau]
févr. 01 09:12:41 iltp016.corp kernel: gf100_gr_init_+0x99/0x140 [nouveau]
févr. 01 09:12:41 iltp016.corp kernel: nvkm_engine_init+0x38/0xa0 [nouveau]
févr. 01 09:12:41 iltp016.corp kernel: nvkm_subdev_init_+0x45/0x130 [nouveau]
févr. 01 09:12:41 iltp016.corp kernel: nvkm_subdev_ref+0x8b/0xd0 [nouveau]
févr. 01 09:12:41 iltp016.corp kernel: ? nvkm_uchan_sclass+0x74/0x140 [nouveau]
févr. 01 09:12:41 iltp016.corp kernel: nvkm_engine_ref+0x1b/0x30 [nouveau]
févr. 01 09:12:41 iltp016.corp kernel: nvkm_ioctl_new+0x125/0x290 [nouveau]
févr. 01 09:12:41 iltp016.corp kernel: ? __pfx_nvkm_uchan_object_new+0x10/0x10 [nouveau]
févr. 01 09:12:41 iltp016.corp kernel: ? __pfx_gf100_gr_object_new+0x10/0x10 [nouveau]
févr. 01 09:12:41 iltp016.corp kernel: nvkm_ioctl+0x10b/0x250 [nouveau]
févr. 01 09:12:41 iltp016.corp org.gnome.Shell.desktop[2265]: nvc0_screen_create:1077 - Error allocating PGRAPH context for M2MF: -16
févr. 01 09:12:41 iltp016.corp kernel: usif_ioctl+0x27b/0x430 [nouveau]
févr. 01 09:12:41 iltp016.corp kernel: nouveau_drm_ioctl+0xa5/0xb0 [nouveau]
févr. 01 09:12:41 iltp016.corp kernel: __x64_sys_ioctl+0x94/0xd0
févr. 01 09:12:41 iltp016.corp kernel: do_syscall_64+0x5d/0x90
févr. 01 09:12:41 iltp016.corp kernel: ? nouveau_drm_ioctl+0x7d/0xb0 [nouveau]
févr. 01 09:12:41 iltp016.corp kernel: ? __x64_sys_ioctl+0xaf/0xd0
févr. 01 09:12:41 iltp016.corp kernel: ? syscall_exit_to_user_mode+0x2b/0x40
févr. 01 09:12:41 iltp016.corp kernel: ? do_syscall_64+0x6c/0x90
févr. 01 09:12:41 iltp016.corp kernel: ? exc_page_fault+0x7f/0x180
févr. 01 09:12:41 iltp016.corp kernel: entry_SYSCALL_64_after_hwframe+0x6e/0xd8
févr. 01 09:12:41 iltp016.corp kernel: RIP: 0033:0x7f657538e19d
févr. 01 09:12:41 iltp016.corp kernel: Code: 04 25 28 00 00 00 48 89 45 c8 31 c0 48 8d 45 10 c7 45 b0 10 00 00 00 48 89 45 b8 48 8d 45 d0 48 89 45 c0 b8 10 00 00 00 0f 05 <89> c2 3d 00 f0 ff ff 77 1a 48 8b 45 c8 64 48 2b 04 25 28 00 00 00
févr. 01 09:12:41 iltp016.corp kernel: RSP: 002b:00007ffe5af5fa80 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
févr. 01 09:12:41 iltp016.corp kernel: RAX: ffffffffffffffda RBX: 00005605edb9cb50 RCX: 00007f657538e19d
févr. 01 09:12:41 iltp016.corp kernel: RDX: 00005605edb9ff60 RSI: 00000000c0386447 RDI: 0000000000000013
févr. 01 09:12:41 iltp016.corp kernel: RBP: 00007ffe5af5fad0 R08: 00005605edc69cd0 R09: 0000000000000000
févr. 01 09:12:41 iltp016.corp kernel: R10: 000000000000a140 R11: 0000000000000246 R12: 00005605edb9ff60
févr. 01 09:12:41 iltp016.corp kernel: R13: 00000000c0386447 R14: 0000000000000013 R15: 0000000000000038
févr. 01 09:12:41 iltp016.corp kernel: </TASK>
févr. 01 09:12:41 iltp016.corp kernel: ---[ end trace 0000000000000000 ]---
févr. 01 09:12:41 iltp016.corp kernel: nouveau 0000:2d:00.0: gr: init failed, -16
févr. 01 09:12:43 iltp016.corp abrt-dump-journal-oops[2036]: abrt-dump-journal-oops: Found oopses: 1
févr. 01 09:12:43 iltp016.corp abrt-dump-journal-oops[2036]: abrt-dump-journal-oops: Creating problem directories
févr. 01 09:12:43 iltp016.corp kernel: ------------[ cut here ]------------
The error then keep repeating itself a few times until i reboot the laptop.
The GPU is a GP108GLM: 2d:00.0 3D controller: NVIDIA Corporation GP108GLM [Quadro P520] (rev a1).
I have the following version installed: kernel-6.6.13-200.fc39.x86_64 kernel-6.5.10-300.fc39.x86_64 xorg-x11-drv-nouveau-1.0.17-6.fc39.x86_64 mesa-dri-drivers-23.3.4-1.fc39.x86_64
I attach the full boot log to the ticketboot_nouveau_hang.txt
Let me know if you need anything else. I can easily reproduce the issue.