Linux 커널을 다시 컴파일하면 항상 데스크탑 관리자가 작동하지 않는 것으로 끝납니다.

Linux 커널을 다시 컴파일하면 항상 데스크탑 관리자가 작동하지 않는 것으로 끝납니다.

수정 여부에 관계없이 Linux 커널을 다시 컴파일하려고 시도했지만 오류가 항상 나타납니다. LightDM 사용: 시스템 로드 모듈이 nvidia-nvsm을 찾을 수 없음 SDDM 사용: 파이프에서 숫자를 읽을 수 없음

나는 리눅스에 대해 잘 모르기 때문에 여기 튜토리얼을 따랐습니다. https://wiki.archlinux.org/title/Kernel/Traditional_compilation

Arch 설치에는 archinstall만 사용했고 Budgie(LightDM)와 KDE Plasma(SDDM)를 사용해 보았습니다. nvidia 대신 nvidia-dkms를 사용해 보았지만 여전히 성공하지 못했습니다. 로그를 제공할 수 있으면 알려주시기 바랍니다.

저는 Arch 5.19-rc6과 nvidia-dkms를 사용하고 있습니다. (오류는 자체 컴파일된 모든 커널에서 동일합니다.)

lsmod | grep 엔비디아 출력:

nvidia_modeset       1425408  19 nvidia_drm
nvidia_uvm           2740224  0
nvidia              45367296  1139 nvidia_uvm,nvidia_modeset

시작 로그는 다음과 같습니다.https://pastebin.com/ecQGxW8x Journalctl: -p 3 -xb를 실행할 때 다음과 같은 오류가 발생합니다.

Jul 12 13:19:54 jenusis kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS14.SADX], AE_ALREADY_EXISTS (20220331/dswload2-326)
Jul 12 13:19:54 jenusis kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20220331/psobject-220)
Jul 12 13:19:54 jenusis kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS14.SADS], AE_ALREADY_EXISTS (20220331/dswload2-326)
Jul 12 13:19:54 jenusis kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20220331/psobject-220)
Jul 12 13:19:54 jenusis kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS14.RDLY], AE_ALREADY_EXISTS (20220331/dswload2-326)
Jul 12 13:19:54 jenusis kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20220331/psobject-220)
Jul 12 13:19:54 jenusis kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS14._DSM], AE_ALREADY_EXISTS (20220331/dswload2-326)
Jul 12 13:19:54 jenusis kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20220331/psobject-220)
Jul 12 13:19:54 jenusis kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS14.BTRT], AE_ALREADY_EXISTS (20220331/dswload2-326)
Jul 12 13:19:54 jenusis kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20220331/psobject-220)
Jul 12 13:19:54 jenusis kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS14._PRR], AE_ALREADY_EXISTS (20220331/dswload2-326)
Jul 12 13:19:54 jenusis kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20220331/psobject-220)
Jul 12 13:19:54 jenusis kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS14.BRDY], AE_ALREADY_EXISTS (20220331/dswload2-326)
Jul 12 13:19:54 jenusis kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20220331/psobject-220)
Jul 12 13:19:54 jenusis kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS14.BRDS], AE_ALREADY_EXISTS (20220331/dswload2-326)
Jul 12 13:19:54 jenusis kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20220331/psobject-220)
Jul 12 13:19:54 jenusis kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS14.ECKY], AE_ALREADY_EXISTS (20220331/dswload2-326)
Jul 12 13:19:54 jenusis kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20220331/psobject-220)
Jul 12 13:19:54 jenusis kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS14.ECKV], AE_ALREADY_EXISTS (20220331/dswload2-326)
Jul 12 13:19:54 jenusis kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20220331/psobject-220)
Jul 12 13:19:54 jenusis kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS14.GPCX], AE_ALREADY_EXISTS (20220331/dswload2-326)
Jul 12 13:19:54 jenusis kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20220331/psobject-220)
Jul 12 13:19:54 jenusis kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS14.GPC], AE_ALREADY_EXISTS (20220331/dswload2-326)
Jul 12 13:19:54 jenusis kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20220331/psobject-220)
Jul 12 13:19:54 jenusis kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS14.BTLY], AE_ALREADY_EXISTS (20220331/dswload2-326)
Jul 12 13:19:54 jenusis kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20220331/psobject-220)
Jul 12 13:19:54 jenusis kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS14.BTLC], AE_ALREADY_EXISTS (20220331/dswload2-326)
Jul 12 13:19:54 jenusis kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20220331/psobject-220)
Jul 12 13:19:54 jenusis systemd-modules-load[441]: Failed to find module 'nvidia-uvm'
Jul 12 13:19:59 jenusis sddm[553]: Failed to read display number from pipe
Jul 12 13:20:01 jenusis kernel: Bluetooth: hci0: Malformed MSFT vendor event: 0x02
Jul 12 13:20:01 jenusis sddm[553]: Failed to read display number from pipe
Jul 12 13:20:04 jenusis sddm[553]: Failed to read display number from pipe
Jul 12 13:20:04 jenusis sddm[553]: Could not start Display server on vt 1

내가 아는 한, 첫 번째 오류는 중요하지 않습니다. 문제는 다음과 같습니다: systemd-modules-load[441]: 'nvidia-uvm' 모듈을 찾을 수 없습니다.

modinfo nvidia-uvm을 실행하면 다음과 같은 메시지가 나타납니다.

modinfo nvidia-uvm
filename:       /lib/modules/5.18.10-arch1-1/updates/dkms/nvidia-uvm.ko.zst
supported:      external
license:        Dual MIT/GPL
srcversion:     3170E1233D7C787ABE15CDF
depends:        nvidia
retpoline:      Y
name:           nvidia_uvm
vermagic:       5.18.10-arch1-1 SMP preempt mod_unload 
parm:           uvm_ats_mode:Set to 0 to disable ATS (Address Translation Services). Any other value is ignored. Has no effect unless the platform supports ATS. (int)
parm:           uvm_perf_prefetch_enable:uint
parm:           uvm_perf_prefetch_threshold:uint
parm:           uvm_perf_prefetch_min_faults:uint
parm:           uvm_perf_thrashing_enable:uint
parm:           uvm_perf_thrashing_threshold:uint
parm:           uvm_perf_thrashing_pin_threshold:uint
parm:           uvm_perf_thrashing_lapse_usec:uint
parm:           uvm_perf_thrashing_nap:uint
parm:           uvm_perf_thrashing_epoch:uint
parm:           uvm_perf_thrashing_pin:uint
parm:           uvm_perf_thrashing_max_resets:uint
parm:           uvm_perf_map_remote_on_native_atomics_fault:uint
parm:           uvm_disable_hmm:Force-disable HMM functionality in the UVM driver. Default: false (i.e, HMM is potentially enabled). Ignored if HMM is not supported in the driver, or if ATS settings conflict with HMM. (bool)
parm:           uvm_perf_migrate_cpu_preunmap_enable:int
parm:           uvm_perf_migrate_cpu_preunmap_block_order:uint
parm:           uvm_global_oversubscription:Enable (1) or disable (0) global oversubscription support. (int)
parm:           uvm_perf_pma_batch_nonpinned_order:uint
parm:           uvm_cpu_chunk_allocation_sizes:OR'ed value of all CPU chunk allocation sizes. (uint)
parm:           uvm_leak_checker:Enable uvm memory leak checking. 0 = disabled, 1 = count total bytes allocated and freed, 2 = per-allocation origin tracking. (int)
parm:           uvm_force_prefetch_fault_support:uint
parm:           uvm_debug_enable_push_desc:Enable push description tracking (uint)
parm:           uvm_debug_enable_push_acquire_info:Enable push acquire information tracking (uint)
parm:           uvm_page_table_location:Set the location for UVM-allocated page tables. Choices are: vid, sys. (charp)
parm:           uvm_perf_access_counter_mimc_migration_enable:Whether MIMC access counters will trigger migrations.Valid values: <= -1 (default policy), 0 (off), >= 1 (on) (int)
parm:           uvm_perf_access_counter_momc_migration_enable:Whether MOMC access counters will trigger migrations.Valid values: <= -1 (default policy), 0 (off), >= 1 (on) (int)
parm:           uvm_perf_access_counter_batch_count:uint
parm:           uvm_perf_access_counter_granularity:Size of the physical memory region tracked by each counter. Valid values asof Volta: 64k, 2m, 16m, 16g (charp)
parm:           uvm_perf_access_counter_threshold:Number of remote accesses on a region required to trigger a notification.Valid values: [1, 65535] (uint)
parm:           uvm_perf_reenable_prefetch_faults_lapse_msec:uint
parm:           uvm_perf_fault_batch_count:uint
parm:           uvm_perf_fault_replay_policy:uint
parm:           uvm_perf_fault_replay_update_put_ratio:uint
parm:           uvm_perf_fault_max_batches_per_service:uint
parm:           uvm_perf_fault_max_throttle_per_service:uint
parm:           uvm_perf_fault_coalesce:uint
parm:           uvm_fault_force_sysmem:Force (1) using sysmem storage for pages that faulted. Default: 0. (int)
parm:           uvm_perf_map_remote_on_eviction:int
parm:           uvm_exp_gpu_cache_peermem:Force caching for mappings to peer memory. This is an experimental parameter that may cause correctness issues if used. (uint)
parm:           uvm_exp_gpu_cache_sysmem:Force caching for mappings to system memory. This is an experimental parameter that may cause correctness issues if used. (uint)
parm:           uvm_channel_num_gpfifo_entries:uint
parm:           uvm_channel_gpfifo_loc:charp
parm:           uvm_channel_gpput_loc:charp
parm:           uvm_channel_pushbuffer_loc:charp
parm:           uvm_enable_va_space_mm:Set to 0 to disable UVM from using mmu_notifiers to create an association between a UVM VA space and a process. This will also disable pageable memory access via either ATS or HMM. (int)
parm:           uvm_enable_debug_procfs:Enable debug procfs entries in /proc/driver/nvidia-uvm (int)
parm:           uvm_peer_copy:Choose the addressing mode for peer copying, options: phys [default] or virt. Valid for Ampere+ GPUs. (charp)
parm:           uvm_debug_prints:Enable uvm debug prints. (int)
parm:           uvm_enable_builtin_tests:Enable the UVM built-in tests. (This is a security risk) (int)

모듈 폴더에 있다고 나와 있지만 5.18.10-arch1-1 폴더에 어떻게든 새 커널로 nvidia-uvm을 찾을 수 있도록 해야 한다고 확신하지만 방법을 모르겠습니다.

답변1

해결 방법은 nvidia-dkms를 제거하고 시스템에 커널이 설치된 후 설치하는 것입니다.

관련 정보