[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [vfio-users] Binding Nvidia to vfio prevents hardware acceleration on Skylake



I totally forgot to paste the Oops I get:
[   91.123923] Oops: 0010 [#1] PREEMPT SMP 
[   91.124714] Modules linked in: fuse uinput nls_iso8859_1 nls_cp437 vfat fat xpad snd_hda_codec_hdmi ff_memless snd_hda_codec_realtek snd_hda_codec_generic joydev mousedev input_leds led_class 8250_dw hci_uart i2c_designware_platform i2c_designware_core btbcm btqca btintel nouveau snd_hda_intel intel_rapl snd_hda_codec mxm_wmi ttm iosf_mbi bluetooth x86_pkg_temp_thermal intel_powerclamp snd_hda_core snd_hwdep snd_pcm rfkill snd_timer snd coretemp crc16 kvm_intel psmouse serio_raw kvm alx soundcore irqbypass i2c_i801 pcspkr mdio i2c_hid thermal fan battery wmi pinctrl_sunrisepoint pinctrl_intel evdev intel_lpss_acpi mac_hid acpi_pad fjes tpm_tis idma64 mei_me tpm mei shpchp processor acpi_als kfifo_buf industrialio intel_lpss_pci intel_lpss sch_fq_codel ip_tables x_tables btrfs xor raid6_pq sha256_ssse3
[   91.127757]  sha256_generic hmac drbg ansi_cprng algif_skcipher af_alg uas usb_storage dm_crypt dm_mod hid_generic usbhid hid sd_mod crct10dif_pclmul crc32_pclmul atkbd crc32c_intel libps2 ahci libahci aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper cryptd xhci_pci libata xhci_hcd scsi_mod usbcore usb_common i8042 serio i915 video button intel_gtt i2c_algo_bit drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm
[   91.130733] CPU: 3 PID: 824 Comm: Xorg Tainted: G     U          4.4.1-2-ARCH #1
[   91.131684] Hardware name: MSI MS-7976/Z170A GAMING M7 (MS-7976), BIOS 1.90 12/17/2015
[   91.132660] task: ffff8804358c0000 ti: ffff880434384000 task.ti: ffff880434384000
[   91.133622] RIP: 0010:[<0000000000000000>]  [<          (null)>]           (null)
[   91.134486] RSP: 0018:ffff880434387b10  EFLAGS: 00010282
[   91.135310] RAX: ffff8804069f7840 RBX: 0000000000000001 RCX: 00000000fffff00e
[   91.136167] RDX: 00000000fffff00e RSI: ffff88046aee20d8 RDI: ffff8804069f7840
[   91.137006] RBP: ffff880434387b98 R08: 0000000000000005 R09: 00000000000000a0
[   91.137863] R10: ffff88046d35e000 R11: 0000000000000000 R12: ffff88046aee20d8
[   91.138702] R13: ffff88046aee4568 R14: ffff8804069a5240 R15: 0000000000000000
[   91.139477] FS:  00007ff03a748940(0000) GS:ffff88047ed80000(0000) knlGS:0000000000000000
[   91.140220] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   91.140988] CR2: 0000000000000000 CR3: 00000000390ae000 CR4: 00000000003406e0
[   91.141741] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[   91.142510] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[   91.143255] Stack:
[   91.143974]  ffffffffa0110d34 00000000000000db ffff88046aee20dc fffff00e6c3a9e00
[   91.144677]  ffff880434387bd8 ffff88042be68480 ffff8804069a5240 ffff8800369fa640
[   91.145356]  ffff880434387cbe ffff8804069f7df0 ffff8800391f7400 000000002ab10278
[   91.146036] Call Trace:
[   91.146718]  [<ffffffffa0110d34>] ? i915_gem_object_sync+0x1a4/0x320 [i915]
[   91.147435]  [<ffffffffa0123aff>] intel_execlists_submission+0x1cf/0x410 [i915]
[   91.148132]  [<ffffffffa01041be>] i915_gem_do_execbuffer.isra.13+0x10ce/0x13d0 [i915]
[   91.148862]  [<ffffffff8153090f>] ? unix_stream_recvmsg+0x4f/0x70
[   91.149530]  [<ffffffffa0105167>] i915_gem_execbuffer2+0xd7/0x230 [i915]
[   91.150198]  [<ffffffffa00057b2>] drm_ioctl+0x152/0x540 [drm]
[   91.150928]  [<ffffffffa0105090>] ? i915_gem_execbuffer+0x320/0x320 [i915]
[   91.151666]  [<ffffffff811fabe7>] ? __fget+0x77/0xb0
[   91.152376]  [<ffffffff811f0b68>] do_vfs_ioctl+0x298/0x480
[   91.153066]  [<ffffffff811fabe7>] ? __fget+0x77/0xb0
[   91.153755]  [<ffffffff811f0dc9>] SyS_ioctl+0x79/0x90
[   91.154467]  [<ffffffff81591b2e>] entry_SYSCALL_64_fastpath+0x12/0x71
[   91.155164] Code:  Bad RIP value.
[   91.155931] RIP  [<          (null)>]           (null)
[   91.156711]  RSP <ffff880434387b10>
[   91.157446] CR2: 0000000000000000
[   91.163084] ---[ end trace a24ad2b52fb509d5 ]---

Philip Abernethy <chais z3r0 gmail com> schrieb am Mi., 2. März 2016 um 19:02 Uhr:
Ok so I got myself a hardware upgrade and wanted to give vfio another shot.

The hardware:
Mainboard: MSI Z170A Gaming M7
CPU: Intel Core i5 6600K
Graphics: Gigabyte Geforce GTX 960

Host OS is Arch Linux, currently with unpatched standard kernel. The Z170 chipset doesn't officially support VT-d and it's up to the hardware vendor to offer it, which MSI does.
My problem is, as soon as I include the vfio modules in the MODULES array in mkinitcpio.conf (equivalent to dracut's add_drivers+=) the Nvidia card is bound to vfio-pci on boot. Even without me specifying it in a modprobe conf or the kernel line.
But if the Nvidia is bound to vfio-pci trying to use hardware acceleration on the IGD will freeze the IGD (effectively Xorg or gnome-shell). The OS will work fine, so I can still log in remotely, but the screen is useless.

Stable Configs:
/etc/X11/xorg.conf.d/20-intel.conf:
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "DRI" "3"
Option "AccelMethod" "sna"
EndSection

/etc/modprobe.d/i915.conf:
options i915 enable_rc6=1 enable_fbc=1 lvds_downclock=1 semaphores=1

I have installed the necessary packages for VA-API and VDPAU support on Intel graphics.

I tried i915.enable_execlists=0 because the Arch wiki mentions it, but without success. Also it seems that as soon as the system starts freezing I have to roll back quite a lot of changes in order to get it working again. It's not enough to undo the last change after it stopped working.
Has anyone gotten a similar combination to work? Can I reset the IGD somehow to 'thaw' it?

Thanks in advance.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]