[vfio-users] Nvidia device not recognised / nouveau 0000:00:04.0: unknown chipset (ffffffff)

Anthony Wood vfio at wood.id.au
Wed Jun 27 00:01:56 UTC 2018


Any further info I can give or things I can try?

If there a way in kvm vfio to set the chipset type?

I'm not sure how to work out if I'm trying the impossible.

Using Ubuntu 18.04 = qemu 2.11 to start with, but happy to follow 
whatever OS guide to help debug/troubleshoot.

cheers,
Woody

On 20/06/18 10:17, Woody wrote:
> Hi VFIOers!
>
> new to VFIO and trying a Metabox (clevo) P950ER.
>
> Laptop has Nvidia 1070M with Max-Q, no UEFI in the Bios.
>
> I have an older Metabox with a 970M (also no UEFI in the nvidia) to 
> try things on to, but I'm using that for work until the P950ER is up 
> and running.
>
> Following: 
> https://heiko-sieger.info/running-windows-10-on-linux-using-kvm-with-vga-passthrough/
> with a bit of 
> https://gist.github.com/Misairu-G/616f7b2756c488148b7309addc940b28
>
> Not using bumblebee/bbswitch on the host.
> Using seabios but I can't see heaps about it on the web.
>
> Have qemu starting up and windows 10 installed running off the kvm 
> default graphics card.
>
> Cannot get nvidia drivers (389.04) to recognise the card (not getting 
> Error 43 that I can see, maybe ).:
> (X) NVIDIA Installer cannot continue
> This graphics driver could not find compatible graphics hardware.
>
> I can see the vfio-pci driver attaching to the card in the host dmesg:
>
> [    4.908861] vfio-pci 0000:01:00.0: vgaarb: changed VGA decodes: 
> olddecodes=io+mem,decodes=none:owns=none
> [    4.932351] vfio_pci: add [10de:1ba1[ffff:ffff]] class 
> 0x000000/00000000
>
> lspci -vv (host)
>
> 01:00.0 VGA compatible controller: NVIDIA Corporation GP104M [GeForce 
> GTX 1070 Mobile] (rev a1) (prog-if 00 [VGA controller])
>     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: [virtual] Memory at a4000000 (32-bit, non-prefetchable) 
> [size=16M]
>     Region 1: Memory at 90000000 (64-bit, prefetchable) [size=256M]
>     Region 3: Memory at a0000000 (64-bit, prefetchable) [size=32M]
>     Region 5: I/O ports at 4000 [size=128]
>     [virtual] Expansion ROM at a5000000 [disabled] [size=512K]
>     Capabilities: <access denied>
>     Kernel driver in use: vfio-pci
>     Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
>
> And when qemu launches getting enabled:
>
> [  235.549500] vfio-pci 0000:01:00.0: enabling device (0002 -> 0003)
>
> But in windows the nvidia driver can't find hardware as above.
>
> Booting a linux mint 18.03 iso I get the nouveau driver not knowing 
> what to do with chipset "ffffffff".
>
> [    5.001593] ata6: SATA max UDMA/133 abar m4096 at 0xfe0f7000 port 
> 0xfe0f7380 irq 26
> [    5.001796] ACPI: PCI Interrupt Link [GSIE] enabled at IRQ 20
> [    5.001837] nouveau 0000:00:04.0: unknown chipset (ffffffff)
> [    5.002010] nouveau: probe of 0000:00:04.0 failed with error -12
> [    5.104355] usb 2-1: new full-speed USB device number 2 using uhci_hcd
> [    5.486893] ata4: SATA link down (SStatus 0 SControl 300)
>
>
> Not sure if the nouveau "ffffffff" corresponds to the [ffff:ffff] in 
> this line from dmesg:
> vfio_pci: add [10de:1ba1[ffff:ffff]] class 0x000000/00000000
>
> have seen similar dmesg lines with ffff:ffff and 0x000000/00000000 on 
> VFIO howto's which don't seem to be a problem.
>
> The GP104M_image.rom I got from the card itself:
>
> rom-parser says it's non-UEFI:
>
> Valid ROM signature found @0h, PCIR offset 170h
>     PCIR: type 0 (x86 PC-AT), vendor: 10de, device: 1ba1, class: 030000
>     PCIR: revision 3, vendor revision: 1
>     Last image
>
> Omitting the romfile from the qemu commandline was what I tried first.
>
> Next I tried building a UEFI ROM with GOP_Upd which gets me to the 
> same error with nouveau (unknown chipset (ffffffff))
>
> Open to suggestions :-)
>
> cheers,
> Woody
>
> Kernel command line (from dmesg): - everything in here is for VFIO, 
> happy to try new things.
> BOOT_IMAGE=/boot/vmlinuz-4.15.0-23-generic 
> root=UUID=69e42b1f-6eb0-11e8-a77a-80fa5b5a9d89 ro 
> modprobe.blacklist=nouveau intel_iommu=on,igfx_off kvm.ignore_msrs=1 
> nogpumanager acpi_osi=! acpi_osi=Linux "acpi_osi=Windows 2015" 
> pcie_port_pm=off default_hugepagesz=1G hugepagesz=1G hugepages=12 
> transparent_hugepage=never i915.modeset=1 rd.driver.pre=vfio-pci 
> video=efifb:off
>
> VM startup script:
>
> #!/bin/bash
>
> vmname="windows10vm"
>
> if ps -A | grep -q $vmname; then
> echo "$vmname is already running." &
> exit 1
>
> else
>
> # use pulseaudio
> export QEMU_AUDIO_DRV=pa
> export QEMU_PA_SAMPLES=8192
> export QEMU_AUDIO_TIMER_PERIOD=99
> export QEMU_PA_SERVER=/run/user/1000/pulse/native
>
> #cp /usr/share/OVMF/OVMF_VARS.fd /tmp/my_vars.fd
>
> # turn on nvidia card
> modprobe acpi_call
> echo '\_SB_.PCI0.PEG0.PEGP._ON' > /proc/acpi/call
>
>
> qemu-system-x86_64 -d trace:vfio_rom_read \
> -name $vmname,process=$vmname \
> -machine type=q35,accel=kvm \
> -cpu 
> host,kvm=off,hv_vapic,hv_relaxed,hv_spinlocks=0x1fff,hv_time,hv_vendor_id=12alphanum 
> \
> -smp 4,sockets=1,cores=2,threads=2 \
> -m 12G \
> -mem-path /dev/hugepages \
> -mem-prealloc \
> -balloon none \
> -rtc clock=host,base=localtime \
> -serial none \
> -parallel none \
> -soundhw hda \
> -usb -usbdevice host:046d:c52b \
> -device vfio-pci,host=01:00.0,romfile=GP104M_image.rom \
> -boot order=dc \
> -drive 
> id=disk0,if=virtio,cache=none,format=raw,file=/home/woody/win.img \
> -drive 
> file=/home/woody/Downloads/virtio-win-0.1.141.iso,index=2,media=cdrom \
> -drive file=/home/woody/linux.iso,index=1,media=cdrom \
> #-drive file=/home/woody/win10dvd.iso,index=1,media=cdrom \
> #-nographic \
> #-vga none \
> #-drive file=/home/woody/winXPdvd.iso,index=1,media=cdrom \
> #-drive file=/usr/lib/memtest86+/memtest86+.iso,index=1,media=cdrom \
> #-drive if=pflash,format=raw,readonly,file=/usr/share/OVMF/OVMF_CODE.fd \
> #-drive if=pflash,format=raw,file=/tmp/my_vars.fd \
> #-netdev type=tap,id=net0,ifname=vmtap0,vhost=on \
> #-device virtio-net-pci,netdev=net0,mac=00:16:3e:11:03:76
>
> # turn off nvidia card
> echo '\_SB_.PCI0.PEG0.PEGP._OFF' > /proc/acpi/call
>
> exit 0
> fi
>
> _______________________________________________
> vfio-users mailing list
> vfio-users at redhat.com
> https://www.redhat.com/mailman/listinfo/vfio-users




More information about the vfio-users mailing list