Trying to pass on my GPU For virtualisation

I have two GPUs on my laptop and I'm trying to pass the AMD GPU by getting it's ID and binding it to the vfio-pci, however both the commands
(lspci -nnv)

and the script (

shopt -s nullglob
for g in /sys/kernel/iommu_groups/; do
echo "IOMMU Group ${g##
for d in $g/devices/; do
echo -e "\t$(lspci -nns ${d##

The ID of my AMD GPU is not displayed.Screenshot_20200504_050136

using this link as a guide:

Edit: Forgot to mention that the IDs of the rest of the devices appear fine.

specs:System: Kernel: 5.6.8-1-MANJARO x86_64 bits: 64 compiler: gcc v: 9.3.0
parameters: BOOT_IMAGE=/boot/vmlinuz-5.6-x86_64 root=UUID=6d932577-5ff4-40fe-bea3-d3a43cfd76df rw quiet iommu=pt
intel_iommu=on apparmor=1 security=apparmor resume=UUID=847a0edc-4989-4552-9ade-55c744e915b2 udev.log_priority=3
Desktop: KDE Plasma 5.18.4 tk: Qt 5.14.2 wm: kwin_x11 dm: SDDM Distro: Manjaro Linux
Machine: Type: Laptop System: LENOVO product: 80YE v: Lenovo ideapad 320-15IKB serial: Chassis: type: 10
v: Lenovo ideapad 320-15IKB serial:
Mobo: LENOVO model: LNVNB161216 v: NO DPK serial: UEFI [Legacy]: LENOVO v: 4WCN36WW date: 10/23/2017
Battery: ID-1: BAT0 charge: 4.1 Wh condition: 23.1/30.6 Wh (76%) volts: 8.1/7.6 model: CPT-COS L16C2PB2 type: Li-poly
serial: status: Charging
CPU: Topology: Dual Core model: Intel Core i5-7200U bits: 64 type: MT MCP arch: Amber Lake family: 6 model-id: 8E (142)
stepping: 9 microcode: CA L2 cache: 3072 KiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 21607
Speed: 775 MHz min/max: 400/3100 MHz Core speeds (MHz): 1: 730 2: 719 3: 712 4: 797
Vulnerabilities: Type: itlb_multihit status: KVM: Split huge pages
Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
Type: mds mitigation: Clear CPU buffers; SMT vulnerable
Type: meltdown mitigation: PTI
Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl and seccomp
Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization
Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, IBRS_FW, STIBP: conditional, RSB filling
Type: tsx_async_abort status: Not affected
Graphics: Device-1: Intel HD Graphics 620 vendor: Lenovo driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:5916
Display: x11 server: X.Org 1.20.8 driver: amdgpu,intel FAILED: ati unloaded: modesetting alternate: fbdev,vesa
compositor: kwin_x11 resolution: 1920x1080~60Hz
OpenGL: renderer: Mesa Intel HD Graphics 620 (KBL GT2) v: 4.6 Mesa 20.0.6 direct render: Yes
Audio: Device-1: Intel Sunrise Point-LP HD Audio vendor: Lenovo driver: snd_hda_intel v: kernel bus ID: 00:1f.3
chip ID: 8086:9d71
Sound Server: ALSA v: k5.6.8-1-MANJARO
Network: Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Lenovo driver: r8169 v: kernel port: 4000
bus ID: 02:00.0 chip ID: 10ec:8168
IF: enp2s0 state: down mac:
Device-2: Realtek RTL8821AE 802.11ac PCIe Wireless Network Adapter vendor: Lenovo driver: rtl8821ae v: kernel
port: 3000 bus ID: 03:00.0 chip ID: 10ec:8821
IF: wlp3s0 state: up mac:
Drives: Local Storage: total: 1.02 TiB used: 20.25 GiB (1.9%)
ID-1: /dev/sda vendor: Seagate model: ST1000LM035-1RK172 size: 931.51 GiB block size: physical: 4096 B
logical: 512 B speed: 6.0 Gb/s rotation: 5400 rpm serial: rev: LVM2 scheme: GPT
ID-2: /dev/sdb type: USB vendor: SanDisk model: Ultra USB 3.0 size: 114.56 GiB block size: physical: 512 B
logical: 512 B serial: rev: 1.00 scheme: MBR
Partition: ID-1: / raw size: 105.76 GiB size: 103.60 GiB (97.96%) used: 20.25 GiB (19.5%) fs: ext4 dev: /dev/sdb1
ID-2: swap-1 size: 8.80 GiB used: 268 KiB (0.0%) fs: swap swappiness: 60 (default) cache pressure: 100 (default)
dev: /dev/sdb2
Sensors: System Temperatures: cpu: 39.0 C mobo: N/A gpu: amdgpu temp: 35 C
Fan Speeds (RPM): N/A
Info: Processes: 198 Uptime: 9h 23m Memory: 7.63 GiB used: 1.64 GiB (21.5%) Init: systemd v: 244 Compilers: gcc: 9.3.0
Shell: bash v: 5.0.16 running in: konsole inxi: 3.0.37

Although I've never done this myself, I know it can be tricky. Aside the point that you provided very little information as well as what resources you used, you might consider updating this information.

There is a great resource for GPU passthrough, moderated by one of the best known Linux techies on Youtube. They are generally friendly and helpful, but they will also need much more detailed information.

Thank you so much for the resources, I'll try and post it on that forum and update some of the information that you provided here.

It looks like it isn't displayed because the line is too long. Did you try making your terminal wider?

I thought of that, made the terminal full screen and it still wasn't showing the ID

Does it still get shortened if you do this:

 lspci -nn | grep -i amd   

yes, same thing

01:00.0 Display controller [0380]: Advanced Micro Devices, Inc. [AMD/ATI] Topaz XT [Radeon R7 M260/M265 / M340/M360 / M440/M445 / 530/535 / 620/625 Mobile] [10... (rev c3)

Does it do that if you redirect it to a file?

yes, just tried it

OK, try lspci -nnmm | grep -i amd

It will split the ID into two sections but it should display it

1 Like

That works perfectly
Thank you so much for your help dalto

1 Like

Now that you have the ID, the real work begins :sweat_smile:

Time to face another 654 errors :joy:

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by