重新编译 Linux 内核总是以桌面管理器不工作而结束

重新编译 Linux 内核总是以桌面管理器不工作而结束

我尝试过重新编译linux内核,修改和不修改,但总是显示错误。使用 LightDM:systemd 加载模块无法找到 nvidia-nvsm 使用 SDDM:无法从管道读取数字

我对linux不太了解,所以我只是按照这里的教程进行操作: https://wiki.archlinux.org/title/Kernel/Traditional_compilation

对于 Arch 的安装,我只使用了 archinstall,我尝试了 Budgie (LightDM) 和 KDE Plasma (SDDM)。我尝试过使用 nvidia-dkms 而不是 nvidia,但仍然没有成功。如果我可以提供任何日志,请告诉我。

我正在使用 Arch 5.19-rc6 和 nvidia-dkms。 (每个自编译内核的错误都是相同的)

lsmod | grep nvidia 输出:

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)

它说它位于 module 文件夹中,但在 5.18.10-arch1-1 文件夹中,我很确定我必须以某种方式使 nvidia-uvm 与新内核一起找到,但我只是不知道如何。

答案1

修复方法是卸载 nvidia-dkms,并在内核安装到系统中后安装它。

相关内容