Zdenek Sojka
2024-Jan-30 06:08 UTC
GT216M [GeForce GT 240M] (NV50/Tesla) sddm fails to start since commit 0a2f6372a43ff5e948b8b10be34d4473f6c2ef6c
Dear nouveau mailing list, on my notebook with the GeForce GT 240M graphics card, I am failing to start sddm since linux kernel 6.5.0. The screen typically goes black or white, mouse pointer is typically visible and can be moved. This happens about 90% of times I try to start the system; in about 10%, everything works fine. If the start fails, dmesg shows output such as: [?? 20.260153] nouveau 0000:01:00.0: fifo: DMA_PUSHER - ch 6 [sddm-greeter [3136]] get 0000216088 put 0000217a3c ib_get 00000009 ib_put 0000000a state 80000024 (err: INVALID_CMD) push 00400040 [?? 20.262191] nouveau 0000:01:00.0: fifo: DMA_PUSHER - ch 6 [sddm-greeter [3136]] get 0000217a3c put 0000219820 ib_get 0000000b ib_put 0000000c state 80000024 (err: INVALID_CMD) push 00400040 [?? 20.265970] nouveau 0000:01:00.0: fifo: DMA_PUSHER - ch 6 [sddm-greeter [3136]] get 0000219820 put 0000219e50 ib_get 0000000d ib_put 0000000e state 80000024 (err: INVALID_CMD) push 00400040 I've bisected this to: 0a2f6372a43ff5e948b8b10be34d4473f6c2ef6c is the first bad commit commit 0a2f6372a43ff5e948b8b10be34d4473f6c2ef6c Author: Christoph Hellwig <hch at lst.de> Date:?? Fri Apr 7 08:31:30 2023 +0200 ??? drm/nouveau: stop using is_swiotlb_active ??? Drivers have no business looking into dma-mapping internals and check ??? what backend is used.? Unfortunstely the DRM core is still broken and ??? tries to do plain page allocations instead of using DMA API allocators ??? by default and uses various bandaids on when to use dma_alloc_coherent. ??? Switch nouveau to use the same (broken) scheme as amdgpu and radeon ??? to remove the last driver user of is_swiotlb_active. ??? Signed-off-by: Christoph Hellwig <hch at lst.de> ??? Reviewed-by: Lyude Paul <lyude at redhat.com> ?drivers/gpu/drm/nouveau/nouveau_ttm.c | 10 +++------- ?1 file changed, 3 insertions(+), 7 deletions(-) I've tried various kernel (both vanilla or gentoo-patched), with custom or distro configuration; I didn't observe any difference since 6.5. I didn't check what the return value of drm_need_swiotlb() is when sddm starts fine; but +++ b/drivers/gpu/drm/nouveau/nouveau_ttm.c @@ -302,7 +302,7 @@ nouveau_ttm_init(struct nouveau_drm *drm) ??????? ret = ttm_device_init(&drm->ttm.bdev, &nouveau_bo_driver, drm->dev-> dev, ????????????????????????????????? dev->anon_inode->i_mapping, ????????????????????????????????? dev->vma_offset_manager, -???????????????????????????????? drm_need_swiotlb(drm->client.mmu.dmabits), +???????????????????????????????? 1, ????????????????????????????????? drm->client.mmu.dmabits <= 32); ??????? if (ret) { ??????????????? NV_ERROR(drm, "error initialising bo driver, %d\n", ret); seem to prevent this problem for me I welcome any help with this problem Best regards, Zdenek Sojka -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://lists.freedesktop.org/archives/nouveau/attachments/20240130/4338a2e4/attachment-0001.htm>
Maybe Matching Threads
- [Bug 109812] New: tegra124: Display manager (sddm) not showing up after upgrade to mesa 18.3.3 DATA_ERROR INVALID OPERATION
- [Bug 98631] New: GPU lock ups when starting GDM, SDDM, and Plasma Desktop
- reliability of mounting shares while login
- doveadm search -A tries to create mailboxes
- [PATCH 3/4] drm/nouveau: stop using is_swiotlb_active