XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    iGPU PCI passthrough: new experimental packages need testers

    Scheduled Pinned Locked Moved Hardware
    18 Posts 3 Posters 1.5k Views 3 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Y
      yannsionneau Vates 🪐 XCP-ng Team
      last edited by yannsionneau

      ⚠ DO NOT TEST THIS IN PRODUCTION⚠

      I did a Proof-of-Concept to improve the iGPU passthrough situation in the case where the vbios is not in the ROM BAR. This would usually fail in the guest because the guest amdgpu or i915driver would not be able to find the vbios.
      I would like to share this PoC with you to gather feedback / testing.

      ⚠ This is not at all a production ready solution, as you will see with the manual steps which are needed to test this.

      Who should test this?

      If you have an host with an iGPU, and the usual 8.3 PCI passthrough procedure described at https://docs.xcp-ng.org/compute/#pci-passthrough does not work because the guest dmesg prints something like

      Invalid PCI ROM header signature: expecting 0xaa55, got 0x4556
      

      or

      Failed to find VBIOS tables (VBT)
      

      or

      Unable to locate a BIOS ROM
      

      What has been tested so far

      I only tested on an AMD Ryzen Embedded V2748 with Radeon Graphics embedded APU system with a Radeon RX Vega series integrated GPU (PCI vendor id 1002 PCI device id 1636). With this config, I tested that the guest VM was able to correctly probe the GPU with the amgdpu driver.

      How to test

      • Install a brand new XCP-ng 8.3 on a test host (or make sure you are up to date with latest 8.3 packages on your test host)
      • Configure XCP-ng user repositories:
      wget https://koji.xcp-ng.org/repos/user/8/8.3/xcpng-users.repo -O /etc/yum.repos.d/xcpng-users.repo
      
      • Update your system with the iGPU PoC packages
      yum update --enablerepo=xcp-ng-ysionneau1
      
      • it will prompt you about importing a new GPG key
      • it should install the following packages:
      =============================================================================================================================================================================================================================================================================================================================
       Package                                                                      Arch                                                            Version                                                                                       Repository                                                                  Size
      =============================================================================================================================================================================================================================================================================================================================
      Updating:
       edk2                                                                         x86_64                                                          20220801-1.7.11.3~romtest.2.xcpng8.3                                                          xcp-ng-ysionneau1                                                          3.0 M
       forkexecd                                                                    x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          2.5 M
       message-switch                                                               x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          4.6 M
       qcow-stream-tool                                                             x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          1.4 M
       qemu                                                                         x86_64                                                          2:4.2.1-5.2.18.1.0.fixrom.1.xcpng8.3                                                          xcp-ng-ysionneau1                                                           16 M
       rrdd-plugins                                                                 x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          9.9 M
       sm-cli                                                                       x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          4.9 M
       squeezed                                                                     x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          1.9 M
       varstored-guard                                                              x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          5.0 M
       vhd-tool                                                                     x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          5.0 M
       wsproxy                                                                      x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          1.1 M
       xapi-core                                                                    x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                           30 M
       xapi-nbd                                                                     x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          3.1 M
       xapi-rrd2csv                                                                 x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          3.0 M
       xapi-storage-script                                                          x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          2.5 M
       xapi-tests                                                                   x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          5.0 M
       xapi-xe                                                                      x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          1.5 M
       xcp-networkd                                                                 x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          4.9 M
       xcp-rrdd                                                                     x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          3.6 M
       xenopsd                                                                      x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          1.4 M
       xenopsd-cli                                                                  x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          2.0 M
       xenopsd-xc                                                                   x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          5.3 M
      
      Transaction Summary
      =============================================================================================================================================================================================================================================================================================================================
      Upgrade  22 Packages
      
      • Then you will have to manually dump your iGPU VBIOS to precisely this path: /root/vbios.bin
        • for AMD modern iGPU it should be located in an ACPI table called VFCT, you could first call acpidump -b then use this """one liner"""
      python3 -c 'import struct,sys;d=open(sys.argv[1],"rb").read();assert d[:4]==b"VFCT",d[:4];n=struct.unpack("<I",d[4:8])[0];off=struct.unpack("<I",d[0x34:0x38])[0];i=0
      while off and off+28<=n:
        pcibus,pcidev,pcifunc,vendor,device,ssvid,ssid,rev,imagelen=struct.unpack("<IIIHHHHII",d[off:off+28])
        if imagelen==0 or off+28+imagelen>n:break
        fn="vbios_%02d_%04x_%04x.bin"%(i,vendor,device);open(fn,"wb").write(d[off+28:off+28+imagelen]);print(fn,"bus=%d dev=%d func=%d vid=%04x did=%04x len=%d"%(pcibus,pcidev,pcifunc,vendor,device,imagelen));off+=28+imagelen;i+=1' vfct.dat
      
      • Reboot the host
      • Follow the usual PCI Passthrough procedure to pass-through the iGPU PCI device to a Linux VM (a Debian 13 for instance): https://docs.xcp-ng.org/compute/#pci-passthrough
      • Make sure you have the corresponding gpu firmware Debian package installed in your VM: firmware-amd-graphics or firmware-intel-graphics
      • Start the VM
      • Check in the dmesg if the GPU is correctly detected and probed by the driver (amdgpu for AMD for instance)

      What to report
      Report as replies to this thread, putting text files as attached-files

      • If it worked or not
      • the dmesg | grep -E 'drm|amdgpu' of the Linux VM
      • the xl dmesg of the host (dom0)
      • the output of grep xen-pci-passthrough /var/log/xensource.log*
      • the lspci -n -vvv -s SBDF (replace SBDF with the domain:bus:device.function) or your GPU, both in the host (dom0) and in the VM (beware the SBDF will be different!)
      • hexdump -C /root/vbios.bin | head -n100 on the host (dom0)

      Thank you for your help! 🙏

      1 Reply Last reply
      Reply Quote 1
      • Y yannsionneau referenced this topic
      • Y yannsionneau referenced this topic
      • Y yannsionneau referenced this topic
      • Y yannsionneau referenced this topic
      • O
        ovicz
        last edited by

        Hi. I only have this after acpidump -b on a igpu from intel alder lake cpu.

        ls -l | grep dat
        -rw-r--r-- 1 root root 476 Oct 8 11:35 apic.dat
        -rw-r--r-- 1 root root 92 Oct 8 11:35 dbg2.dat
        -rw-r--r-- 1 root root 52 Oct 8 11:35 dbgp.dat
        -rw-r--r-- 1 root root 480216 Oct 8 11:35 dsdt.dat
        -rw-r--r-- 1 root root 276 Oct 8 11:35 facp.dat
        -rw-r--r-- 1 root root 64 Oct 8 11:35 facs.dat
        -rw-r--r-- 1 root root 156 Oct 8 11:35 fidt.dat
        -rw-r--r-- 1 root root 68 Oct 8 11:35 fpdt.dat
        -rw-r--r-- 1 root root 56 Oct 8 11:35 hpet.dat
        -rw-r--r-- 1 root root 204 Oct 8 11:35 lpit.dat
        -rw-r--r-- 1 root root 60 Oct 8 11:35 mcfg.dat
        -rw-r--r-- 1 root root 45 Oct 8 11:35 nhlt.dat
        -rw-r--r-- 1 root root 1553 Oct 8 11:35 phat.dat
        -rw-r--r-- 1 root root 136 Oct 8 11:35 rmad.dat
        -rw-r--r-- 1 root root 1850 Oct 8 11:35 ssdt10.dat
        -rw-r--r-- 1 root root 15082 Oct 8 11:35 ssdt11.dat
        -rw-r--r-- 1 root root 14810 Oct 8 11:35 ssdt12.dat
        -rw-r--r-- 1 root root 324 Oct 8 11:35 ssdt13.dat
        -rw-r--r-- 1 root root 916 Oct 8 11:35 ssdt14.dat
        -rw-r--r-- 1 root root 419 Oct 8 11:35 ssdt15.dat
        -rw-r--r-- 1 root root 427 Oct 8 11:35 ssdt16.dat
        -rw-r--r-- 1 root root 7087 Oct 8 11:35 ssdt17.dat
        -rw-r--r-- 1 root root 4937 Oct 8 11:35 ssdt18.dat
        -rw-r--r-- 1 root root 4027 Oct 8 11:35 ssdt19.dat
        -rw-r--r-- 1 root root 908 Oct 8 11:35 ssdt1.dat
        -rw-r--r-- 1 root root 23819 Oct 8 11:35 ssdt2.dat
        -rw-r--r-- 1 root root 10549 Oct 8 11:35 ssdt3.dat
        -rw-r--r-- 1 root root 13271 Oct 8 11:35 ssdt4.dat
        -rw-r--r-- 1 root root 54407 Oct 8 11:35 ssdt5.dat
        -rw-r--r-- 1 root root 7962 Oct 8 11:35 ssdt6.dat
        -rw-r--r-- 1 root root 10883 Oct 8 11:35 ssdt7.dat
        -rw-r--r-- 1 root root 9047 Oct 8 11:35 ssdt8.dat
        -rw-r--r-- 1 root root 6425 Oct 8 11:35 ssdt9.dat
        -rw-r--r-- 1 root root 76 Oct 8 11:35 tpm2.dat
        -rw-r--r-- 1 root root 72 Oct 8 11:35 uefi.dat
        -rw-r--r-- 1 root root 40 Oct 8 11:35 wsmt.dat

        And the python script throws an error :

        python3 -c 'import struct,sys;d=open(sys.argv[1],"rb").read();assert d[:4]==b"VFCT",d[:4];n=struct.unpack("<I",d[4:8])[0];off=struct.unpack("<I",d[0x34:0x38])[0];i=0
        while off and off+28<=n:
        pcibus,pcidev,pcifunc,vendor,device,ssvid,ssid,rev,imagelen=struct.unpack("<IIIHHHHII",d[off:off+28])
        if imagelen==0 or off+28+imagelen>n:break
        fn="vbios_%02d_%04x_%04x.bin"%(i,vendor,device);open(fn,"wb").write(d[off+28:off+28+imagelen]);print(fn,"bus=%d dev=%d func=%d vid=%04x did=%04x len=%d"%(pcibus,pcidev,pcifunc,vendor,device,imagelen));off+=28+imagelen;i+=1' vfct.dat
        Traceback (most recent call last):
        File "<string>", line 1, in <module>
        FileNotFoundError: [Errno 2] No such file or directory: 'vfct.dat'

        Y O 2 Replies Last reply
        Reply Quote 0
        • Y
          yannsionneau Vates 🪐 XCP-ng Team @ovicz
          last edited by

          @ovicz a dit:

          intel alder lake cpu

          Thanks for giving this a try!
          Can you give me the output of lspci -n -vvv -s SBDF_OF_GPU on your dom0 please?

          1 Reply Last reply
          Reply Quote 0
          • O
            ovicz @ovicz
            last edited by ovicz

            lspci -n -vvv -s 00:02.0
            00:02.0 0300: 8086:46d1 (prog-if 00 [VGA controller])
            Subsystem: 8086:7270
            Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
            Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
            Interrupt: pin A routed to IRQ 16
            Region 0: Memory at 60e7000000 (64-bit, non-prefetchable) [disabled] [size=16M]
            Region 2: Memory at 4000000000 (64-bit, prefetchable) [disabled] [size=256M]
            Region 4: I/O ports at 3000 [disabled] [size=64]
            [virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
            Capabilities: [40] Vendor Specific Information: Len=0c <?>
            Capabilities: [70] Express (v2) Root Complex Integrated Endpoint, MSI 00
            DevCap: MaxPayload 128 bytes, PhantFunc 0
            ExtTag- RBE+
            DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
            RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
            MaxPayload 128 bytes, MaxReadReq 128 bytes
            DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
            DevCap2: Completion Timeout: Not Supported, TimeoutDis-, LTR-, OBFF Not Supported
            DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
            Capabilities: [ac] MSI: Enable- Count=1/1 Maskable+ 64bit-
            Address: 00000000 Data: 0000
            Masking: 00000000 Pending: 00000000
            Capabilities: [d0] Power Management version 2
            Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
            Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
            Capabilities: [100 v1] Process Address Space ID (PASID)
            PASIDCap: Exec- Priv-, Max PASID Width: 14
            PASIDCtl: Enable- Exec- Priv-
            Capabilities: [200 v1] Address Translation Service (ATS)
            ATSCap: Invalidate Queue Depth: 00
            ATSCtl: Enable-, Smallest Translation Unit: 00
            Capabilities: [300 v1] Page Request Interface (PRI)
            PRICtl: Enable- Reset-
            PRISta: RF- UPRGI- Stopped+
            Page Request Capacity: 00008000, Page Request Allocation: 00000000
            Capabilities: [320 v1] Single Root I/O Virtualization (SR-IOV)
            IOVCap: Migration-, Interrupt Message Number: 000
            IOVCtl: Enable- Migration- Interrupt- MSE- ARIHierarchy-
            IOVSta: Migration-
            Initial VFs: 7, Total VFs: 7, Number of VFs: 0, Function Dependency Link: 00
            VF offset: 1, stride: 1, Device ID: 46d1
            Supported Page Size: 00000553, System Page Size: 00000001
            Region 0: Memory at 00000060e0000000 (64-bit, non-prefetchable)
            Region 2: Memory at 0000006000000000 (64-bit, prefetchable)
            VF Migration: offset: 00000000, BIR: 0
            Kernel driver in use: pciback

            Now the VMs don't start at all.

            vm.start
            {
            "id": "6783fdf9-3569-0224-fdc0-0082323305fe",
            "bypassMacAddressesCheck": false,
            "force": false
            }
            {
            "code": "INTERNAL_ERROR",
            "params": [
            "xenopsd internal error: Cannot_add(0000:00:02.0, Device_common.QMP_Error(5, "{\"error\":{\"class\":\"GenericError\",\"desc\":\"failed to find romfile \\\"/root/vbios.bin\\\"\",\"data\":{}},\"id\":\"qmp-000015-5\"}"))"
            ],
            "call": {
            "duration": 4031,
            "method": "VM.start",
            "params": [
            "* session id *",
            "OpaqueRef:2877507a-7ad9-f1e6-2b9c-e5690cb21e76",
            false,
            false
            ]
            },
            "message": "INTERNAL_ERROR(xenopsd internal error: Cannot_add(0000:00:02.0, Device_common.QMP_Error(5, "{\"error\":{\"class\":\"GenericError\",\"desc\":\"failed to find romfile \\\"/root/vbios.bin\\\"\",\"data\":{}},\"id\":\"qmp-000015-5\"}")))",
            "name": "XapiError",
            "stack": "XapiError: INTERNAL_ERROR(xenopsd internal error: Cannot_add(0000:00:02.0, Device_common.QMP_Error(5, "{\"error\":{\"class\":\"GenericError\",\"desc\":\"failed to find romfile \\\"/root/vbios.bin\\\"\",\"data\":{}},\"id\":\"qmp-000015-5\"}")))
            at XapiError.wrap (file:///opt/xo/xo-builds/xen-orchestra-202610080923/packages/xen-api/_XapiError.mjs:16:12)
            at file:///opt/xo/xo-builds/xen-orchestra-202610080923/packages/xen-api/transports/json-rpc.mjs:38:21
            at runNextTicks (node:internal/process/task_queues:65:5)
            at processImmediate (node:internal/timers:541:9)"
            }

            Y 1 Reply Last reply
            Reply Quote 0
            • Y
              yannsionneau Vates 🪐 XCP-ng Team @ovicz
              last edited by

              @ovicz in your case it seems the vbios is in the ROM BAR.
              You can dump the vbios by doing something like

              cd /sys/bus/pci/devices/0000:00:02.0/
              echo 1 > rom
              cat rom > /root/vbios.bin
              echo 0 > rom
              
              Y O 2 Replies Last reply
              Reply Quote 0
              • Y
                yannsionneau Vates 🪐 XCP-ng Team @yannsionneau
                last edited by

                Another possibility for you would be to yum downgrade qemu and the xapi packages, everything except edk2 and try again.

                O 1 Reply Last reply
                Reply Quote 0
                • O
                  ovicz @yannsionneau
                  last edited by

                  @yannsionneau cd /sys/bus/pci/devices/0000:00:02.0/
                  [11:55 xcp-ng-akz 0000:00:02.0]# echo 1 > rom
                  [11:55 xcp-ng-akz 0000:00:02.0]# cat rom > /root/vbios.bin
                  cat: rom: Input/output error
                  [11:55 xcp-ng-akz 0000:00:02.0]# echo 0 > rom

                  1 Reply Last reply
                  Reply Quote 0
                  • O
                    ovicz @yannsionneau
                    last edited by

                    @yannsionneau Reverted to stable and I upgraded only that package from your repo. VMs start now. At what should i look for now ?

                    Y O 2 Replies Last reply
                    Reply Quote 0
                    • Y
                      yannsionneau Vates 🪐 XCP-ng Team @ovicz
                      last edited by yannsionneau

                      @ovicz with the new edk2 package it should help your VM access the vbios in the rom bar.
                      Does the VM see the gpu?
                      Can you share the VM dmesg as attached file?
                      Also, are you trying to passthrough a sriov virtual function? or the entire physical gpu?
                      Thanks

                      1 Reply Last reply
                      Reply Quote 0
                      • O
                        ovicz @ovicz
                        last edited by

                        Yes it does see it.
                        dmesg.txt
                        Passthrough was working and without that file from your repo.

                        Y 1 Reply Last reply
                        Reply Quote 0
                        • Y
                          yannsionneau Vates 🪐 XCP-ng Team @ovicz
                          last edited by

                          @ovicz It seems your gpu works even without vbios since in your dmesg I can see

                          [    7.424250] i915 0000:00:08.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0x0000
                          [    7.424259] i915 0000:00:08.0: [drm] Failed to find VBIOS tables (VBT)
                          

                          So you're saying that anyway your setup was working even without all those new packages?
                          Thanks for testing anyway!

                          O 1 Reply Last reply
                          Reply Quote 0
                          • O
                            ovicz @yannsionneau
                            last edited by

                            @yannsionneau Yes it works with the stock packages.

                            Y 1 Reply Last reply
                            Reply Quote 0
                            • Y
                              yannsionneau Vates 🪐 XCP-ng Team @ovicz
                              last edited by

                              @ovicz Thanks a lot for the feedbacks and tests 🙂

                              O 1 Reply Last reply
                              Reply Quote 0
                              • O
                                ovicz @yannsionneau
                                last edited by

                                @yannsionneau No problem.

                                S 1 Reply Last reply
                                Reply Quote 0
                                • S
                                  steff22 @ovicz
                                  last edited by steff22

                                  @yannsionneau Yes it works 😀 Thank you very much, great job 😀

                                  Tested on Ryzen 9 9950X / AMD Raphael iGPU Tested the new experimental iGPU passthrough packages. - CPU: AMD Ryzen 9 9950X - iGPU: AMD Raphael (1002:13c0) - XCP-ng: 8.3 -

                                  Guest: Bazzite AMD - VBIOS: extracted from the ACPI VFCT and supplied as /root/vbios.bin - iGPU passthrough: working - AMD amdgpu driver: working - Physical HDMI output: working - Bazzite desktop displayed successfully on the physical HDMI port. Ubuntu 24.04.2 was able to initialize the GPU and Vulkan/RADV detected the Raphael iGPU, but the HDMI output went black when the graphical desktop started. Bazzite worked and provided a stable display output. So on my Ryzen 9 9950X, the experimental packages appear to successfully enable Raphael iGPU passthrough and physical HDMI output.

                                  Y 1 Reply Last reply
                                  Reply Quote 0
                                  • Y
                                    yannsionneau Vates 🪐 XCP-ng Team @steff22
                                    last edited by

                                    @steff22 Good news! And thanks a lot for the test! Could you share the guest VM dmesg please? as well as the lspci -n -vvv -s SBDF of the GPU?
                                    Also, was it working with the stock xcp-ng packages?

                                    S 1 Reply Last reply
                                    Reply Quote 1
                                    • Y yannsionneau referenced this topic
                                    • S
                                      steff22 @yannsionneau
                                      last edited by

                                      @yannsionneau I updated XCP-ng with the iGPU PoC packages.

                                         0.390212] iommu: Default domain type: Translated
                                      [    0.390212] iommu: DMA domain TLB invalidation policy: lazy mode
                                      [    0.440746] ACPI: bus type drm_connector registered
                                      [    0.720876] xhci-pci-renesas 0000:00:08.0: failed to load firmware renesas_usb_fw.mem, fallback to ROM
                                      [    0.738581] simple-framebuffer simple-framebuffer.0: [drm] Registered 1 planes with drm panic
                                      [    0.739079] [drm] Initialized simpledrm 1.0.0 for simple-framebuffer.0 on minor 0
                                      [    0.739591] simple-framebuffer simple-framebuffer.0: [drm] fb0: simpledrmdrmfb frame buffer device
                                      [    0.786042] RAS: Correctable Errors collector initialized.
                                      [    0.942231] gcadapter_oc: module verification failed: signature and/or required key missing - tainting kernel
                                      [    1.052681] VFIO - User Level meta-driver version: 0.3
                                      [    1.302335] bochs-drm 0000:00:02.0: vgaarb: deactivate vga console
                                      [    1.303438] [drm] Found bochs VGA, ID 0xb0c5.
                                      [    1.303450] [drm] Framebuffer size 8192 kB @ 0xf0000000, mmio @ 0xf0ad8000.
                                      [    1.307655] bochs-drm 0000:00:02.0: [drm] Registered 1 planes with drm panic
                                      [    1.311509] [drm] Initialized bochs-drm 1.0.0 for 0000:00:02.0 on minor 0
                                      [    1.311877] fbcon: bochs-drmdrmfb (fb0) is primary device
                                      [    1.311880] bochs-drm 0000:00:02.0: [drm] fb0: bochs-drmdrmfb frame buffer device
                                      [    2.877754] amdgpu: Virtual CRAT table created for CPU
                                      [    2.877768] amdgpu: Topology: Add CPU node
                                      [    2.878379] amdgpu 0000:00:0a.0: initializing kernel modesetting (IP DISCOVERY 0x1002:0x13C0 0x1002:0x13C0 0xC1).
                                      [    2.878395] amdgpu 0000:00:0a.0: register mmio base: 0xF0A00000
                                      [    2.878396] amdgpu 0000:00:0a.0: register mmio size: 524288
                                      [    2.880170] amdgpu 0000:00:0a.0: detected ip block number 0 <common_v1_0_0> (nv_common)
                                      [    2.880173] amdgpu 0000:00:0a.0: detected ip block number 1 <gmc_v10_0_0> (gmc_v10_0)
                                      [    2.880174] amdgpu 0000:00:0a.0: detected ip block number 2 <ih_v5_0_0> (navi10_ih)
                                      [    2.880175] amdgpu 0000:00:0a.0: detected ip block number 3 <psp_v13_0_0> (psp)
                                      [    2.880176] amdgpu 0000:00:0a.0: detected ip block number 4 <smu_v13_0_0> (smu)
                                      [    2.880177] amdgpu 0000:00:0a.0: detected ip block number 5 <dce_v1_0_0> (dm)
                                      [    2.880178] amdgpu 0000:00:0a.0: detected ip block number 6 <gfx_v10_0_0> (gfx_v10_0)
                                      [    2.880179] amdgpu 0000:00:0a.0: detected ip block number 7 <sdma_v5_2_0> (sdma_v5_2)
                                      [    2.880180] amdgpu 0000:00:0a.0: detected ip block number 8 <vcn_v3_0_0> (vcn_v3_0)
                                      [    2.880181] amdgpu 0000:00:0a.0: detected ip block number 9 <jpeg_v3_0_0> (jpeg_v3_0)
                                      [    2.881236] amdgpu 0000:00:0a.0: Fetched VBIOS from ROM BAR
                                      [    2.881240] amdgpu 0000:00:0a.0: [drm] ATOM BIOS: 102-RAPHAEL-008, build: 612127  , ver: 032.019.000.008.000000, 2022/09/26
                                      [    2.913119] amdgpu 0000:00:0a.0: Trusted Memory Zone (TMZ) feature disabled as experimental (default)
                                      [    2.913149] amdgpu 0000:00:0a.0: vm size is 262144 GB, 4 levels, block size is 9-bit, fragment size is 9-bit
                                      [    2.913154] amdgpu 0000:00:0a.0: VRAM: 2048M 0x000000F400000000 - 0x000000F47FFFFFFF (2048M used)
                                      [    2.913156] amdgpu 0000:00:0a.0: GART: 1024M 0x0000000000000000 - 0x000000003FFFFFFF
                                      [    2.913161] amdgpu 0000:00:0a.0: [drm] Detected VRAM RAM=2048M, BAR=256M
                                      [    2.913161] amdgpu 0000:00:0a.0: [drm] RAM width 128bits DDR5
                                      [    2.913299] amdgpu 0000:00:0a.0:  2048M of VRAM memory ready
                                      [    2.913301] amdgpu 0000:00:0a.0:  3958M of GTT memory ready.
                                      [    2.913318] amdgpu 0000:00:0a.0: [drm] GART: num cpu pages 262144, num gpu pages 262144
                                      [    2.913534] amdgpu 0000:00:0a.0: [drm] PCIE GART of 1024M enabled (table at 0x000000F400200000).
                                      [    2.914363] amdgpu 0000:00:0a.0: [drm] Loading DMUB firmware via PSP: version=0x05003500
                                      [    2.914559] amdgpu 0000:00:0a.0: [drm] use_doorbell being set to: [true]
                                      [    2.914573] amdgpu 0000:00:0a.0: [VCN instance 0] Found VCN firmware Version ENC: 1.33 DEC: 4 VEP: 0 Revision: 15
                                      [    2.936854] amdgpu 0000:00:0a.0: reserve 0xa00000 from 0xf47e000000 for PSP TMR
                                      [    3.007795] amdgpu 0000:00:0a.0: RAS: optional ras ta ucode is not available
                                      [    3.013667] amdgpu 0000:00:0a.0: RAP: optional rap ta ucode is not available
                                      [    3.013671] amdgpu 0000:00:0a.0: SECUREDISPLAY: optional securedisplay ta ucode is not available
                                      [    3.013711] amdgpu 0000:00:0a.0: smu driver if version = 0x00000005, smu fw if version = 0x00000005, smu fw program = 0, smu fw version = 0x00625200 (98.82.0)
                                      [    3.014834] amdgpu 0000:00:0a.0: SMU is initialized successfully!
                                      [    3.015614] amdgpu 0000:00:0a.0: [drm] Display Core v3.2.384 initialized on DCN 3.1.5
                                      [    3.015619] amdgpu 0000:00:0a.0: [drm] DP-HDMI FRL PCON supported
                                      [    3.016363] amdgpu 0000:00:0a.0: [drm] DMUB hardware initialized: version=0x05003500
                                      [    3.043695] amdgpu 0000:00:0a.0: [drm] HDMI-A-1: PSR support 0, DC PSR ver -1, sink PSR ver 0 DPCD caps 0x0 su_y_granularity 0
                                      [    3.043834] amdgpu 0000:00:0a.0: [drm] DP-1: PSR support 0, DC PSR ver -1, sink PSR ver 0 DPCD caps 0x0 su_y_granularity 0
                                      [    3.044105] amdgpu 0000:00:0a.0: [drm] DP-2: PSR support 0, DC PSR ver -1, sink PSR ver 0 DPCD caps 0x0 su_y_granularity 0
                                      [    3.044208] amdgpu 0000:00:0a.0: [drm] DP-3: PSR support 0, DC PSR ver -1, sink PSR ver 0 DPCD caps 0x0 su_y_granularity 0
                                      [    3.044772] amdgpu 0000:00:0a.0: kiq ring mec 2 pipe 1 q 0
                                      [    3.048684] amdgpu: Virtual CRAT table created for GPU
                                      [    3.048885] amdgpu: Topology: Add GPU node [0x1002:0x13c0]
                                      [    3.048896] amdgpu 0000:00:0a.0: SE 1, SH per SE 1, CU per SH 2, active_cu_number 2
                                      [    3.048899] amdgpu 0000:00:0a.0: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
                                      [    3.048900] amdgpu 0000:00:0a.0: ring gfx_0.1.0 uses VM inv eng 1 on hub 0
                                      [    3.048900] amdgpu 0000:00:0a.0: ring comp_1.0.0 uses VM inv eng 4 on hub 0
                                      [    3.048901] amdgpu 0000:00:0a.0: ring comp_1.1.0 uses VM inv eng 5 on hub 0
                                      [    3.048901] amdgpu 0000:00:0a.0: ring comp_1.2.0 uses VM inv eng 6 on hub 0
                                      [    3.048902] amdgpu 0000:00:0a.0: ring comp_1.3.0 uses VM inv eng 7 on hub 0
                                      [    3.048902] amdgpu 0000:00:0a.0: ring comp_1.0.1 uses VM inv eng 8 on hub 0
                                      [    3.048902] amdgpu 0000:00:0a.0: ring comp_1.1.1 uses VM inv eng 9 on hub 0
                                      [    3.048903] amdgpu 0000:00:0a.0: ring comp_1.2.1 uses VM inv eng 10 on hub 0
                                      [    3.048903] amdgpu 0000:00:0a.0: ring comp_1.3.1 uses VM inv eng 11 on hub 0
                                      [    3.048903] amdgpu 0000:00:0a.0: ring kiq_0.2.1.0 uses VM inv eng 12 on hub 0
                                      [    3.048904] amdgpu 0000:00:0a.0: ring sdma0 uses VM inv eng 13 on hub 0
                                      [    3.048904] amdgpu 0000:00:0a.0: ring vcn_dec_0 uses VM inv eng 0 on hub 8
                                      [    3.048904] amdgpu 0000:00:0a.0: ring vcn_enc_0.0 uses VM inv eng 1 on hub 8
                                      [    3.048905] amdgpu 0000:00:0a.0: ring vcn_enc_0.1 uses VM inv eng 4 on hub 8
                                      [    3.048905] amdgpu 0000:00:0a.0: ring jpeg_dec uses VM inv eng 5 on hub 8
                                      [    3.052507] amdgpu 0000:00:0a.0: Runtime PM not available
                                      [    3.053382] amdgpu 0000:00:0a.0: [drm] Registered 4 planes with drm panic
                                      [    3.053384] [drm] Initialized amdgpu 3.64.0 for 0000:00:0a.0 on minor 1
                                      [    3.056602] amdgpu 0000:00:0a.0: [drm] Failed to setup vendor infoframe on connector HDMI-A-1: -22
                                      [    3.057209] amdgpu 0000:00:0a.0: [drm] fb1: amdgpudrmfb frame buffer device
                                      [    3.095346] [drm] pre_validate_dsc:1746 MST_DSC dsc precompute is not needed
                                      [    3.278912] amdgpu 0000:00:0a.0: [drm] REG_WAIT timeout 1us * 100000 tries - optc31_disable_crtc line:146
                                      [    5.012890] SELinux:  Permission firmware_load in class system not defined in policy.
                                      [    9.105139] systemd[1]: modprobe@drm.service - Load Kernel Module drm skipped, unmet condition check ConditionKernelModuleLoaded=!drm
                                      [    9.106669] systemd[1]: systemd-boot-clear-sysfail.service - Clear SysFail Entry If The Boot Is Successful skipped, unmet condition check ConditionPathExists=/sys/firmware/efi/efivars/LoaderEntrySysFail-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
                                      [    9.106784] systemd[1]: systemd-hibernate-clear.service - Clear Stale Hibernate Storage Info skipped, unmet condition check ConditionPathExists=/sys/firmware/efi/efivars/HibernateLocation-8cf2644b-4b0b-428f-9387-6d876050dc67
                                      [   10.639321] #PF: error_code(0x0000) - not-present page
                                      [   10.639367] Modules linked in: zenergy(OE) snd_timer intel_rapl_msr xen_netfront(+) intel_rapl_common snd parport_pc(+) i2c_piix4 joydev i2c_smbus soundcore pcspkr parport tcp_bbr tun vsock_loopback vmw_vsock_virtio_transport_common zstd vmw_vsock_vmci_transport zram vsock vmw_vmci lz4hc_compress overlay erofs hid_logitech_hidpp hid_logitech_dj amdgpu drm_buddy amdxcp drm_panel_backlight_quirks gpu_sched drm_ttm_helper ttm video drm_exec i2c_algo_bit drm_suballoc_helper xen_blkfront drm_display_helper cec floppy bochs serio_raw ata_generic pata_acpi vfio_pci vfio_pci_core irqbypass vfio_iommu_type1 vfio iommufd v4l2loopback(OE) videodev ntsync mc system76_thelio_io(OE) hid_logitech_new(OE) system76_io(OE) wmi hid_fanatec(OE) ff_memless ryzen_smu(OE) hid_tmff_new(OE) kvmfr(OE) led_class_multicolor gcadapter_oc(OE) fuse i2c_dev
                                      [   11.525630] snd_hda_intel 0000:00:09.0: bound 0000:00:0a.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])
                                      
                                      
                                      
                                      root@bazzite:/var/home/steff# lspci -n -vvv -s 00:0a.0
                                      00:0a.0 0300: 1002:13c0 (rev c1) (prog-if 00 [VGA controller])
                                              Subsystem: 1002:13c0
                                              Physical Slot: 10
                                              Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
                                              Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
                                              Latency: 0
                                              Interrupts: pin B disabled, MSI(X) routed to IRQ 76
                                              Region 0: Memory at e0000000 (64-bit, prefetchable) [size=256M]
                                              Region 2: Memory at f0800000 (64-bit, prefetchable) [size=2M]
                                              Region 4: I/O ports at c100 [size=256]
                                              Region 5: Memory at f0a00000 (32-bit, non-prefetchable) [size=512K]
                                              Expansion ROM at 000c0000 [disabled] [size=128K]
                                              Capabilities: [48] Vendor Specific Information: Len=08 <?>
                                              Capabilities: [50] Power Management version 3
                                                      Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                                                      Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
                                              Capabilities: [64] Express (v2) Legacy Endpoint, IntMsgNum 0
                                                      DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
                                                              ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- TEE-IO-
                                                      DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
                                                              RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
                                                              MaxPayload 128 bytes, MaxReadReq 512 bytes
                                                      DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
                                                      LnkCap: Port #0, Speed 16GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <64ns, L1 <1us
                                                              ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
                                                      LnkCtl: ASPM Disabled; RCB 64 bytes, LnkDisable- CommClk-
                                                              ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- FltModeDis-
                                                      LnkSta: Speed 16GT/s, Width x16
                                                              TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                                                      DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR-
                                                               10BitTagComp+ 10BitTagReq- OBFF Not Supported, ExtFmt+ EETLPPrefix+, MaxEETLPPrefixes 1
                                                               EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
                                                               FRS-
                                                               AtomicOpsCap: 32bit+ 64bit+ 128bitCAS-
                                                      DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-
                                                               AtomicOpsCtl: ReqEn+
                                                               IDOReq- IDOCompl- LTR- EmergencyPowerReductionReq-
                                                               10BitTagReq- OBFF Disabled, EETLPPrefixBlk-
                                                      LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete+ EqualizationPhase1+
                                                               EqualizationPhase2+ EqualizationPhase3+ LinkEqualizationRequest-
                                                               Retimer- 2Retimers- CrosslinkRes: unsupported, FltMode-
                                              Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
                                                      Address: 0000000000000000  Data: 0000
                                              Capabilities: [c0] MSI-X: Enable+ Count=4 Masked-
                                                      Vector table: BAR=5 offset=00042000
                                                      PBA: BAR=5 offset=00043000
                                              Kernel driver in use: amdgpu
                                              Kernel modules: amdgpu
                                      
                                      
                                      S 1 Reply Last reply
                                      Reply Quote 0
                                      • S
                                        steff22 @steff22
                                        last edited by

                                        lspci -nn -s fra dom0

                                        21:15 xcp-ng-test ~]# lspci -n -vvv -s 0f:00.0
                                        0f:00.0 0300: 1002:13c0 (rev c1) (prog-if 00 [VGA controller])
                                                Subsystem: 1002:13c0
                                                Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
                                                Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
                                                Latency: 0, Cache Line Size: 64 bytes
                                                Interrupt: pin A routed to IRQ 42
                                                Region 0: Memory at fc10000000 (64-bit, prefetchable) [size=256M]
                                                Region 2: Memory at fc200000 (64-bit, prefetchable) [size=2M]
                                                Region 4: I/O ports at e000 [size=256]
                                                Region 5: Memory at fc700000 (32-bit, non-prefetchable) [size=512K]
                                                Capabilities: [48] Vendor Specific Information: Len=08 <?>
                                                Capabilities: [50] Power Management version 3
                                                        Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
                                                        Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
                                                Capabilities: [64] Express (v2) Legacy Endpoint, MSI 00
                                                        DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
                                                                ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
                                                        DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                                                                RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
                                                                MaxPayload 256 bytes, MaxReadReq 512 bytes
                                                        DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
                                                        LnkCap: Port #0, Speed 16GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <64ns, L1 <1us
                                                                ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
                                                        LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
                                                                ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                                                        LnkSta: Speed 16GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                                                        DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR-, OBFF Not Supported
                                                        DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
                                                        LnkCtl2: Target Link Speed: 16GT/s, EnterCompliance- SpeedDis-
                                                                 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                                                                 Compliance De-emphasis: -6dB
                                                        LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete+, EqualizationPhase1+
                                                                 EqualizationPhase2+, EqualizationPhase3+, LinkEqualizationRequest-
                                                Capabilities: [a0] MSI: Enable- Count=1/4 Maskable- 64bit+
                                                        Address: 0000000000000000  Data: 0000
                                                Capabilities: [c0] MSI-X: Enable+ Count=4 Masked-
                                                        Vector table: BAR=5 offset=00042000
                                                        PBA: BAR=5 offset=00043000
                                                Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
                                                Capabilities: [270 v1] #19
                                                Capabilities: [2a0 v1] Access Control Services
                                                        ACSCap: SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-
                                                        ACSCtl: SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-
                                                Capabilities: [2b0 v1] Address Translation Service (ATS)
                                                        ATSCap: Invalidate Queue Depth: 00
                                                        ATSCtl: Enable-, Smallest Translation Unit: 00
                                                Capabilities: [2c0 v1] Page Request Interface (PRI)
                                                        PRICtl: Enable- Reset-
                                                        PRISta: RF- UPRGI- Stopped+
                                                        Page Request Capacity: 00000100, Page Request Allocation: 00000000
                                                Capabilities: [2d0 v1] Process Address Space ID (PASID)
                                                        PASIDCap: Exec+ Priv+, Max PASID Width: 10
                                                        PASIDCtl: Enable- Exec- Priv-
                                                Capabilities: [410 v1] #26
                                                Capabilities: [450 v1] #27
                                                Kernel driver in use: pciback
                                        
                                        
                                        1 Reply Last reply
                                        Reply Quote 0

                                        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                        With your input, this post could be even better 💗

                                        Register Login
                                        • First post
                                          Last post