[SOLVED] No IOMMU detected on AMD Ryzen 5 3600

untungc

New Member
Jun 2, 2022
13
0
1
Hello everyone, please Help me to resolve this problem.

My CPU is AMD Ryzen 5 3600 with motherboard Asrock X570
My problem is no IOMMU detected when add pci device, my goal is passtrough GPU.

GRUB conf:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet iommu=pt amd_iommu=on video=efifb:off"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
 
Check with cat /proc/cmdline if your kernel parameters are being used, maybe you are booting with UEFI on ZFS and using systemd-boot?
When using AMD, you don't need to add amd_iommu=on because it is on by default (if it is enabled in the BIOS).
If for d in /sys/kernel/iommu_groups/*/devices/*; do n=${d#*/iommu_groups/*}; n=${n%%/*}; printf 'IOMMU group %s ' "$n"; lspci -nns "${d##*/}"; done shows more than one group, IOMMU is enabled.
 
Make sure that IOMMU is explicitly enabled in your bios and not only set to "Auto".

Also check, if there is more than one IOMMU-setting in all the sub-menues of your bios. If yes, explicitly enable all of them.
 
Last edited:
i check cat /proc/cmdline

root@hootech:~# cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-5.13.19-2-pve root=/dev/mapper/pve-root ro quiet amd_iommu=on

nothing happend if input : "dmesg | grep -e DMAR -e IOMMU"

dmesg | grep -i IOMMU
root@hootech:~# dmesg | grep -i IOMMU
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.13.19-2-pve root=/dev/mapper/pve-root ro quiet amd_iommu=on
[ 0.092018] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.13.19-2-pve root=/dev/mapper/pve-root ro quiet amd_iommu=on
[ 0.408647] iommu: Default domain type: Translated
 
Last edited:
UEFI BIOS Version : x570 Phantom Gaming 4 P4.20
Try the latest BIOS version 4.30.
IOMMU on my X470 breaks after AGESA 1.0.0.4 and similar things happens to a lot of Ryzen motherboards. You might search the internet to see if other people with your motherboard downgraded to an earlier BIOS version. Maybe BIOS version 3.60 or 3.20 works better with IOMMU.
 
Try the latest BIOS version 4.30.
IOMMU on my X470 breaks after AGESA 1.0.0.4 and similar things happens to a lot of Ryzen motherboards. You might search the internet to see if other people with your motherboard downgraded to an earlier BIOS version. Maybe BIOS version 3.60 or 3.20 works better with IOMMU.
it's work. Thx u very much
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!