[RESPONDED] Upgrading to AMD with a custom kernel

Gentoo masochist here :slight_smile: running a hand-configured kernel.

Has anyone with a custom kernel switched to AMD and made a list of which kernel modules I need to compile in?

Maybe someone with a very modular kernel could supply the list of loaded modules so I can work backwards from there?

Hi @NegatedVoid ,

you just like an lsmod output with those testing with AMD? Does it need to be with gentoo or fine with other distros?

cheers!

I think just ‘lsmod’ output would be a really helpful starting place, yeah.

I’ll go over my config to make sure i have at least those modules being built, then do some best effort guessing on what I need for the chipset and whatnot … then i’ll do the mainboard swap and see if it works / report back here.

1 Like

I just installed OpenSuse Tumbleweed on my Ryzen 7 FW13. This is a stock install with kernel 6.5.9 - BIOS and packages are updated, but I have not done any fine tuning of any sort. I haven’t actually checked for the fingerprint reader at all yet for example. FIW here is the output of lsusb:

Module                  Size  Used by
ccm                    20480  3
rfcomm                 98304  4
snd_seq_dummy          12288  0
snd_hrtimer            12288  1
snd_seq               131072  7 snd_seq_dummy
snd_seq_device         16384  1 snd_seq
nft_fib_inet           12288  1
nft_fib_ipv4           12288  1 nft_fib_inet
nft_fib_ipv6           12288  1 nft_fib_inet
nft_fib                12288  3 nft_fib_ipv6,nft_fib_ipv4,nft_fib_inet
af_packet              65536  6
nft_reject_inet        12288  12
nf_reject_ipv4         16384  1 nft_reject_inet
nf_reject_ipv6         20480  1 nft_reject_inet
nft_reject             12288  1 nft_reject_inet
nft_ct                 28672  7
nft_chain_nat          12288  3
nf_tables             368640  404 nft_ct,nft_reject_inet,nft_fib_ipv6,nft_fib_ipv4,nft_chain_nat,nft_reject,nft_fib,nft_fib_inet
ip6table_nat           12288  0
ip6table_mangle        12288  0
ip6table_raw           12288  0
ip6table_security      12288  0
iptable_nat            12288  0
nf_nat                 61440  3 ip6table_nat,nft_chain_nat,iptable_nat
nf_conntrack          217088  2 nf_nat,nft_ct
nf_defrag_ipv6         24576  1 nf_conntrack
nf_defrag_ipv4         12288  1 nf_conntrack
iptable_mangle         12288  0
iptable_raw            12288  0
iptable_security       12288  0
nfnetlink              20480  2 nf_tables
ip6table_filter        12288  0
ip6_tables             36864  5 ip6table_filter,ip6table_raw,ip6table_nat,ip6table_mangle,ip6table_security
iptable_filter         12288  0
bpfilter               12288  0
cmac                   12288  2
qrtr                   57344  4
algif_hash             12288  1
algif_skcipher         12288  1
af_alg                 36864  6 algif_hash,algif_skcipher
bnep                   32768  2
btusb                  81920  0
btrtl                  28672  1 btusb
btbcm                  24576  1 btusb
btintel                57344  1 btusb
btmtk                  12288  1 btusb
bluetooth            1097728  34 btrtl,btmtk,btintel,btbcm,bnep,btusb,rfcomm
ecdh_generic           16384  1 bluetooth
nls_iso8859_1          12288  1
nls_cp437              16384  1
vfat                   20480  1
fat                   106496  1 vfat
snd_sof_amd_rembrandt    16384  0
snd_sof_amd_renoir     16384  0
snd_sof_amd_acp        61440  2 snd_sof_amd_rembrandt,snd_sof_amd_renoir
snd_sof_pci            24576  2 snd_sof_amd_rembrandt,snd_sof_amd_renoir
snd_sof_xtensa_dsp     16384  1 snd_sof_amd_acp
snd_hda_codec_realtek   192512  1
snd_sof               425984  2 snd_sof_amd_acp,snd_sof_pci
snd_hda_codec_generic   114688  1 snd_hda_codec_realtek
snd_sof_utils          16384  1 snd_sof
ledtrig_audio          12288  1 snd_hda_codec_generic
mt7921e                32768  0
snd_hda_codec_hdmi     94208  1
snd_soc_core          454656  1 snd_sof
intel_rapl_msr         20480  0
intel_rapl_common      40960  1 intel_rapl_msr
mt7921_common         122880  1 mt7921e
edac_mce_amd           53248  0
snd_hda_intel          65536  2
mt76_connac_lib        94208  2 mt7921e,mt7921_common
snd_compress           28672  1 snd_soc_core
snd_intel_dspcfg       40960  2 snd_hda_intel,snd_sof
mt76                  131072  3 mt7921e,mt7921_common,mt76_connac_lib
snd_pcm_dmaengine      16384  1 snd_soc_core
snd_intel_sdw_acpi     16384  1 snd_intel_dspcfg
hid_sensor_als         16384  1
snd_hda_codec         233472  4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
snd_pci_ps             28672  0
hid_sensor_trigger     20480  2 hid_sensor_als
kvm_amd               204800  0
mac80211             1564672  3 mt76,mt7921_common,mt76_connac_lib
cros_ec_lpcs           20480  0
hid_sensor_iio_common    20480  2 hid_sensor_trigger,hid_sensor_als
snd_rpl_pci_acp6x      16384  0
cros_ec                20480  1 cros_ec_lpcs
snd_acp_pci            12288  0
snd_hda_core          155648  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
libarc4                12288  1 mac80211
industrialio_triggered_buffer    12288  1 hid_sensor_trigger
snd_pci_acp6x          20480  0
kvm                  1351680  1 kvm_amd
kfifo_buf              12288  1 industrialio_triggered_buffer
snd_hwdep              20480  1 snd_hda_codec
irqbypass              12288  1 kvm
industrialio          135168  5 industrialio_triggered_buffer,hid_sensor_trigger,kfifo_buf,hid_sensor_als
snd_pci_acp5x          16384  0
pcspkr                 12288  0
snd_pcm               225280  12 snd_sof_amd_acp,snd_hda_codec_hdmi,snd_pci_acp6x,snd_hda_intel,snd_hda_codec,snd_sof,snd_compress,snd_soc_core,snd_sof_utils,snd_hda_core,snd_pci_ps,snd_pcm_dmaengine
cfg80211             1331200  4 mt76,mac80211,mt7921_common,mt76_connac_lib
thunderbolt           516096  0
snd_rn_pci_acp3x       24576  0
k10temp                16384  0
snd_acp_config         16384  7 snd_rn_pci_acp3x,snd_pci_acp6x,snd_pci_acp5x,snd_sof_amd_rembrandt,snd_acp_pci,snd_pci_ps,snd_sof_amd_renoir
snd_timer              53248  3 snd_seq,snd_hrtimer,snd_pcm
tiny_power_button      12288  0
snd_soc_acpi           12288  2 snd_sof_amd_acp,snd_acp_config
i2c_piix4              32768  0
snd                   159744  19 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_sof,snd_timer,snd_compress,snd_soc_core,snd_pcm
snd_pci_acp3x          16384  0
soundcore              16384  1 snd
rfkill                 40960  8 bluetooth,cfg80211
thermal                28672  0
button                 24576  0
ac                     16384  0
amd_pmf                45056  0
amd_pmc                40960  0
platform_profile       12288  1 amd_pmf
joydev                 24576  0
fuse                  204800  5
efi_pstore             12288  0
configfs               65536  1
dmi_sysfs              24576  0
ip_tables              36864  5 iptable_filter,iptable_security,iptable_raw,iptable_nat,iptable_mangle
x_tables               69632  12 ip6table_filter,ip6table_raw,iptable_filter,iptable_security,ip6table_nat,ip6_tables,iptable_raw,ip_tables,iptable_nat,ip6table_mangle,ip6table_security,iptable_mangle
amdgpu              12271616  42
i2c_algo_bit           20480  1 amdgpu
drm_ttm_helper         12288  1 amdgpu
ttm                   102400  2 amdgpu,drm_ttm_helper
drm_suballoc_helper    12288  1 amdgpu
amdxcp                 12288  1 amdgpu
iommu_v2               24576  1 amdgpu
drm_buddy              20480  1 amdgpu
crct10dif_pclmul       12288  1
gpu_sched              57344  1 amdgpu
crc32_pclmul           12288  0
xhci_pci               28672  0
polyval_clmulni        12288  0
polyval_generic        12288  1 polyval_clmulni
xhci_pci_renesas       24576  1 xhci_pci
gf128mul               16384  1 polyval_generic
nvme                   65536  4
drm_display_helper    237568  1 amdgpu
xhci_hcd              385024  1 xhci_pci
ghash_clmulni_intel    16384  0
nvme_core             208896  5 nvme
ucsi_acpi              12288  0
cec                    90112  1 drm_display_helper
hid_multitouch         32768  0
hid_sensor_hub         32768  3 hid_sensor_trigger,hid_sensor_iio_common,hid_sensor_als
typec_ucsi             65536  1 ucsi_acpi
video                  77824  1 amdgpu
sha512_ssse3           53248  1
hid_generic            12288  0
aesni_intel           360448  5
crypto_simd            16384  1 aesni_intel
usbcore               446464  3 xhci_hcd,btusb,xhci_pci
cryptd                 28672  3 crypto_simd,ghash_clmulni_intel
roles                  16384  1 typec_ucsi
ccp                   151552  1 kvm_amd
rc_core                77824  1 cec
sp5100_tco             20480  0
typec                 118784  1 typec_ucsi
t10_pi                 20480  1 nvme_core
battery                28672  0
wmi                    45056  1 video
i2c_hid_acpi           12288  0
i2c_hid                40960  1 i2c_hid_acpi
serio_raw              16384  0
btrfs                2199552  1
blake2b_generic        24576  0
libcrc32c              12288  4 nf_conntrack,nf_nat,btrfs,nf_tables
crc32c_intel           16384  2
xor                    20480  1 btrfs
raid6_pq              122880  1 btrfs
sg                     49152  0
dm_multipath           49152  0
dm_mod                237568  1 dm_multipath
scsi_dh_rdac           12288  0
scsi_dh_emc            12288  0
scsi_dh_alua           24576  0
scsi_mod              344064  5 scsi_dh_emc,dm_multipath,scsi_dh_alua,sg,scsi_dh_rdac
scsi_common            16384  2 scsi_mod,sg
msr                    12288  0
efivarfs               24576  1

If you haven’t already, take a look at the Gentoo wiki page, which lists most of the Framework-specific kernel configs you would need. For the AMD mainboards specifically, you will also need (at the very least) CONFIG_PINCTRL_AMD and CONFIG_I2C_HID_ACPI for the touchpad to work.

1 Like

A couple of additional kernel configs that you’ll want: CONFIG_AMD_PMC, CONFIG_AMD_PMF

One (or both?) of these will help turn the display off when the laptop goes to sleep.

1 Like