模块参数

amdgpu 驱动程序支持以下模块参数

vramlimit (int)

限制用于测试的 VRAM 总量,单位为 MiB。默认值为 0(使用全部 VRAM)。

vis_vramlimit (int)

限制用于测试的 CPU 可见 VRAM 量,单位为 MiB。默认值为 0(使用全部 CPU 可见 VRAM)。

gartsize (uint)

限制 GART(供内核使用)的大小,单位为 MiB(32、64 等),用于测试。默认值为 -1(大小取决于 ASIC)。

gttsize (int)

限制 GTT 域(供用户空间使用)的大小,单位为 MiB,用于测试。默认值为 -1(使用 1/2 RAM,最小值为 3GB)。

moverate (int)

设置最大缓冲区迁移速率,单位为 MB/s。默认值为 -1(8 MB/s)。

audio (int)

设置 HDMI/DPAudio。仅影响非 DC 显示处理。默认值为 -1(启用),设置为 0 则禁用它。

disp_priority (int)

设置显示优先级(1 = 正常,2 = 高)。仅影响非 DC 显示处理。默认值为 0(自动)。

hw_i2c (int)

启用 hw i2c 引擎。仅影响非 DC 显示处理。默认值为 0(禁用)。

pcie_gen2 (int)

禁用 PCIE Gen2/3 模式(0 = 禁用,1 = 启用)。默认值为 -1(自动,启用)。

msi (int)

禁用消息信号中断 (MSI) 功能(1 = 启用,0 = 禁用)。默认值为 -1(自动,启用)。

svm_default_granularity (uint)

用于缓冲区迁移和可恢复页面错误的处理

lockup_timeout (string)

设置 GPU 调度程序超时值,单位为毫秒。

格式可以是 [非计算] 或 [GFX,Compute,SDMA,Video]。即可以指定一个或多个值。0 和负值无效。它们将被调整为默认超时。

  • 如果指定一个值,该设置将应用于所有非计算作业。

  • 如果指定多个值,则第一个值将用于 GFX。第二个值用于计算。第三个和第四个值用于 SDMA 和视频。

默认情况下(没有 lockup_timeout 设置),所有非计算(GFX、SDMA 和视频)作业的超时时间为 10000。计算的超时时间为 60000。

dpm (int)

覆盖动态电源管理设置(0 = 禁用,1 = 启用)。默认值为 -1(自动)。

fw_load_type (int)

如果支持,则设置不同的固件加载类型以进行调试。如果 ASIC 支持,则设置为 0 以强制直接加载。设置为 -1 以选择 ASIC 的默认加载模式,由驱动程序定义。默认值为 -1(自动)。

aspm (int)

禁用 ASPM(1 = 启用,0 = 禁用)。默认值为 -1(自动,启用)。

runpm (int)

覆盖 dGPU 的运行时电源管理控制。如果支持,amdgpu 驱动程序可以在 dGPU 空闲时动态关闭它们的电源。默认值为 -1(自动启用)。将值设置为 0 将禁用此功能。将值设置为 -2 则在连接显示器时自动启用电源关闭。

ip_block_mask (uint)

覆盖 GPU 上启用的 IP 块。每个 GPU 都是 IP 块的集合(gfx、显示、视频等)。使用此参数禁用特定块。请注意,IP 块没有固定的索引。某些 ASIC 可能没有某些 IP,或者可能包含 IP 的多个实例,因此顺序因 ASIC 而异。请参阅内核日志中的驱动程序输出,以获取 ASIC 上 IP 的列表。默认值为 0xffffffff(启用设备上的所有块)。

bapm (int)

双向应用程序电源管理 (BAPM) 用于在 CPU 和 GPU 之间动态共享 TDP。将值设置为 0 以禁用它。默认值为 -1(自动,启用)

deep_color (int)

设置为 1 以启用深色支持。仅影响非 DC 显示处理。默认值为 0(禁用)。

vm_size (int)

覆盖 GPU 每个客户端虚拟地址空间的大小,单位为 GiB。默认值为 -1(每个 ASIC 自动)。

vm_fragment_size (int)

覆盖 VM 片段大小,单位为位(4、5 等。4 = 64K,9 = 2M)。默认值为 -1(每个 ASIC 自动)。

vm_block_size (int)

覆盖 VM 页表大小,单位为位(默认取决于 vm_size 和硬件设置)。默认值为 -1(每个 ASIC 自动)。

vm_fault_stop (int)

在 VM 故障时停止以进行调试(0 = 从不,1 = 打印第一个,2 = 始终)。默认值为 0(不停止)。

vm_update_mode (int)

覆盖 VM 更新模式。使用 CPU 更新 VM(0 = 从不,1 = 仅图形,2 = 仅计算,3 = 两者)。默认值为 -1(仅在大型 BAR (LB) 系统中,CPU 将更新计算 VM 表,否则为 0,从不)。

exp_hw_support (int)

启用实验性硬件支持(1 = 启用)。默认值为 0(禁用)。

dc (int)

禁用/启用显示核心驱动程序以进行调试(1 = 启用,0 = 禁用)。默认值为 -1(每个 ASIC 自动)。

sched_jobs (int)

覆盖 sw 队列中支持的最大作业数。默认值为 32。

sched_hw_submission (int)

覆盖 HW 提交的最大数量。默认值为 2。

ppfeaturemask (hexint)

覆盖启用的电源功能。请参阅 drivers/gpu/drm/amd/include/amd_shared.h 中的 enum PP_FEATURE_MASK。默认值为当前稳定电源功能集。

forcelongtraining (uint)

强制在恢复时进行长时间内存训练。默认值为 0,表示在恢复时进行短时训练。

pcie_gen_cap (uint)

覆盖 PCIE gen 速度功能。请参阅 drivers/gpu/drm/amd/include/amd_pcie.h 中的 CAIL 标志。默认值为 0(每个 ASIC 自动)。

pcie_lane_cap (uint)

覆盖 PCIE 通道功能。请参阅 drivers/gpu/drm/amd/include/amd_pcie.h 中的 CAIL 标志。默认值为 0(每个 ASIC 自动)。

cg_mask (ullong)

覆盖 GPU 上启用的时钟门控功能(0 = 禁用时钟门控)。请参阅 drivers/gpu/drm/amd/include/amd_shared.h 中的 AMD_CG_SUPPORT 标志。默认值为 0xffffffffffffffff(全部启用)。

pg_mask (uint)

覆盖 GPU 上启用的电源门控功能(0 = 禁用电源门控)。请参阅 drivers/gpu/drm/amd/include/amd_shared.h 中的 AMD_PG_SUPPORT 标志。默认值为 0xffffffff(全部启用)。

sdma_phase_quantum (uint)

覆盖 SDMA 上下文切换阶段量程(x 1K GPU 时钟周期,0 = 不更改)。默认值为 32。

disable_cu (charp)

设置为禁用 CU(设置为 se.sh.cu,...)。默认值为 NULL。

virtual_display (charp)

设置为启用虚拟显示功能。此功能在无头板或虚拟化环境中提供虚拟显示硬件。它将设置为 xxxx:xx:xx.x,x;xxxx:xx:xx.x,x。它是设备的 pci 地址,加上要公开的 crtc 数量。例如,0000:26:00.0,4 将在 26:00.0 的 pci 设备上启用 4 个虚拟 crtc。默认值为 NULL。

lbpw (int)

覆盖每瓦负载平衡 (LBPW) 支持(1 = 启用,0 = 禁用)。默认值为 -1(自动,启用)。

gpu_recovery (int)

设置为启用 GPU 恢复机制(1 = 启用,0 = 禁用)。默认值为 -1(自动,禁用,但 SRIOV 除外)。

emu_mode (int)

将值设置为 1 以启用模拟模式。仅在模拟器上运行时需要此项。默认值为 0(禁用)。

ras_enable (int)

启用 GPU 上的 RAS 功能(0 = 禁用,1 = 启用,-1 = 自动(默认))

ras_mask (uint)

要启用的 RAS 功能的掩码(默认 0xffffffff),仅当 ras_enable == 1 时有效。请参阅 drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h 中的标志

timeout_fatal_disable (bool)

禁用看门狗超时致命错误事件

timeout_period (uint)

将看门狗超时 max_cycles 修改为 (1 << period)

si_support (int)

设置 SI 支持驱动程序。此参数在设置配置 CONFIG_DRM_AMDGPU_SI 后起作用。对于 SI ASIC,当启用 radeon 驱动程序时,将值设置为 0 以使用 radeon 驱动程序,而将值设置为 1 以使用 amdgpu 驱动程序。默认值为在可用时使用 radeon 驱动程序,否则使用 amdgpu 驱动程序。

cik_support (int)

设置 CIK 支持驱动程序。此参数在设置配置 CONFIG_DRM_AMDGPU_CIK 后起作用。对于 CIK ASIC,当启用 radeon 驱动程序时,将值设置为 0 以使用 radeon 驱动程序,而将值设置为 1 以使用 amdgpu 驱动程序。默认值为在可用时使用 radeon 驱动程序,否则使用 amdgpu 驱动程序。

smu_memory_pool_size (uint)

它用于为 smu 调试保留 gtt,将值设置为 0 可禁用它。实际大小为 value * 256MiB。例如,0x1 = 256Mbyte,0x2 = 512Mbyte,0x4 = 1 Gbyte,0x8 = 2GByte。默认值为 0(禁用)。

async_gfx_ring (int)

它用于启用可以使用不同优先级或相同优先级配置的 gfx 环

mcbp (int)

它用于启用中间命令缓冲区抢占。(0 = 禁用,1 = 启用,-1 自动(默认))

discovery (int)

允许驱动程序从 VRAM 顶部的 IP 发现表中发现硬件 IP 信息。(-1 = 自动(默认),0 = 禁用,1 = 启用,2 = 使用文件中的 ip_discovery 表)

mes (int)

启用微引擎调度程序。这是一个用于 gfx、sdma 和计算的新型硬件调度引擎。(0 = 禁用(默认),1 = 启用)

mes_log_enable (int)

启用微引擎调度程序日志。用于启用/禁用 MES 内部日志。(0 = 禁用(默认),1 = 启用)

mes_kiq (int)

启用微引擎调度程序 KIQ。这是用于 kiq 的新引擎管道。(0 = 禁用(默认),1 = 启用)

uni_mes (int)

启用统一微引擎调度程序。这是一个用于统一调度程序的新引擎管道。(0 = 禁用(默认),1 = 启用)

noretry (int)

默认情况下,在 GFXv9 硬件上禁用 SQ 中的 XNACK 重试。在不支持每个进程 XNACK 的 ASIC 上,这也会禁用重试页面错误。(0 = 启用重试,1 = 禁用重试,-1 自动(默认))

force_asic_type (int)

用于为所有支持的 GPU 指定 ASIC 类型的非负值。

use_xgmi_p2p (int)

启用/禁用 XGMI P2P 接口(0 = 禁用,1 = 启用)。

sched_policy (int)

设置调度策略。默认值为 HWS(硬件调度)并超额订阅。设置为 1 将禁用超额订阅。设置为 2 将禁用 HWS 并将队列静态分配给 HQD。

hws_max_conc_proc (int)

HWS 可以并发调度的最大进程数。最大值是分配给 HWS 的 VMID 数量,这也是默认值。

cwsr_enable (int)

CWSR(计算波存储和恢复)允许 GPU 在计算波的中间抢占着色器执行。默认值为 1,启用此功能。设置为 0 则禁用它。

max_num_of_queues_per_device (int)

每个设备的最大队列数。有效设置范围为 1 到 4096。默认值为 4096。

send_sigterm (int)

在未处理的异常时向 HSA 进程发送 sigterm 信号。默认情况下不发送 sigterm,而只是在 dmesg 上打印错误。设置为 1 则启用发送 sigterm 信号。

halt_if_hws_hang (int)

如果检测到 HWS 挂起,则停止。默认值 0,禁用挂起时停止。设置为 1 则启用挂起时停止。

hws_gws_support(bool)

假设 HWS 支持 GWS 屏障,无论固件版本检查结果如何。默认值:false (依赖 MEC2 固件版本检查)。

queue_preemption_timeout_ms (int)

队列抢占超时时间,单位为毫秒(1 = 最小值,9000 = 默认值)

debug_evictions(bool)

启用额外的调试消息,以帮助确定驱逐的原因。

no_system_mem_limit(bool)

禁用系统内存限制,以支持多个进程共享内存。

no_queue_eviction_on_vm_fault (int)

如果设置,则在 gpuvm 故障时不会驱逐进程队列。这是为了保留用于调试的波前上下文(0 = 队列驱逐,1 = 不驱逐队列)。默认值为 0(队列驱逐)。

mtype_local (int)

pcie_p2p (bool)

启用 PCIe P2P(需要 large-BAR)。默认值:true(开启)

dcfeaturemask (uint)

覆盖启用的显示功能。请参阅 drivers/gpu/drm/amd/include/amd_shared.h 中的 enum DC_FEATURE_MASK。默认值是当前稳定显示功能的集合。

dcdebugmask (uint)

覆盖启用的显示功能。请参阅 enum DC_DEBUG_MASK 在 drivers/gpu/drm/amd/include/amd_shared.h 中。

abmlevel (uint)

覆盖用于启用 DC 的硬件的默认 ABM(自适应背光管理)级别。需要支持并加载 DMCU。有效级别为 0-4。值为 0 表示默认应禁用 ABM。值 1-4 控制通过 ABM 算法允许的最大亮度降低,其中 1 表示最小降低,4 表示最大降低。

默认为 -1 或自动。如果设置为自动,则用户空间只能在启动后覆盖此级别。

damageclips (int)

启用或禁用损伤剪辑支持。如果禁用损伤剪辑支持,我们将强制执行全帧更新,而不管用户空间发送给我们什么。

默认为 -1(在检测到 PSR-SU 显示器时禁用)。

tmz (int)

可信内存区 (TMZ) 是一种保护写入或从内存读取的数据的方法。

默认值:0(关闭)。TODO:在完成之前更改为自动。

freesync_video (uint)

启用优化功能,在设置无需完全模式设置的支持 FreeSync 的模式时,调整前廊时序以实现无缝模式切换体验。

当用户启用此功能时,显示核心将根据连接显示器的常用刷新率和 VRR 范围,将一组从基本 FreeSync 视频模式派生的模式添加到相应连接器的模式列表中。从用户空间的角度来看,当在同一分辨率下更改不同刷新率时,他们可以看到无缝的模式切换体验。此外,诸如视频播放之类的用户空间应用程序可以读取此模式集列表,并根据视频帧速率更改刷新率。最后,用户空间还可以根据 FreeSync 模式为特定刷新率派生合适的模式,并将其添加到连接器的模式列表中。

注意:这是一项实验性功能。

默认值:0(关闭)。

reset_method (int)

GPU 重置方法(-1 = 自动(默认),0 = 传统,1 = mode0,2 = mode1,3 = mode2,4 = baco)

bad_page_threshold (int) 坏页阈值指定

RAS ECC 检测到的错误页面的阈值,当 ECC 的错误页面总数超过阈值时,可能会导致 GPU 进入不良状态。

vcnfw_log (int)

启用 vcnfw 日志输出进行调试,默认情况下禁用。

sg_display (int)

禁用 S/G(分散/收集)显示(即,来自系统内存的显示)。此选项仅在 APU 上相关。如果您在内存压力下遇到闪烁或其他问题,请将此选项设置为 0 以禁用 S/G 显示,并报告该问题。

umsch_mm (int)

启用多媒体用户模式调度器。这是一个用于 VCN 和 VPE 的硬件调度引擎。(0 = 禁用(默认),1 = 启用)

umsch_mm_fwlog (int)

启用 umschfw 日志输出进行调试,默认情况下禁用。

smu_pptable_id (int)

用于覆盖 pptable id。id = 0 使用 VBIOS pptable。id > 0 使用具有指定 id 的软 pptable。

partition_mode (int)

用于覆盖默认 SPX 模式。

enforce_isolation (bool)

通过使用相同的保留 vmid 来强制图形和计算之间的进程隔离。

seamless (int)

无缝启动将在启动过程中保持图像在屏幕上。

debug_mask (uint)

amdgpu 的调试选项,作为具有以下选项的二进制掩码工作

  • 0x1: 调试 VM 处理

  • 0x2: 在非 large-bar 系统上启用模拟 large-bar 功能。这会将报告给 ROCm 应用程序的 VRAM 大小限制为可见大小,通常为 256MB。

  • 0x4: 禁用 GPU 软恢复,始终执行完全重置

agp (int)

启用 AGP 孔径。这在 GPU 的内部地址空间中提供一个孔径,用于直接访问系统内存。请注意,这些访问是不可监听的,因此它们仅用于访问未缓存的内存。

wbrf (int)

启用 Wifi RFI 干扰缓解功能。由于电气和机械限制,(G-)DDR 内存时钟的相对高功率谐波可能会干扰 Wifi 6/6e/7 使用的本地无线模块频段。为了缓解可能的 RFI 干扰,启用此功能后,PMFW 将使用“阴影 P 状态”或“P 状态”,具体取决于初始设置或 P 状态转换中正在使用的(要避免的)频率活动列表。但是,启用此功能可能会对性能产生潜在影响。(0 = 禁用,1 = 启用,-1 = 自动(默认设置,如果支持则启用))