on cat /proc/cmdline mine is:
BOOT_IMAGE=/boot/vmlinuz-6.17.2-1-pve root=/dev/mapper/pve-root ro nomodeset quiet
on cat /proc/cmdline mine is:
BOOT_IMAGE=/boot/vmlinuz-6.17.2-1-pve root=/dev/mapper/pve-root ro nomodeset quiet
Hmm, and anything in /etc/modprobe.d that is xe or vfio related?
What happens when you run
echo 0000:0f:00.0 > /sys/bus/pci/drivers/vfio-pci/unbind
then
modprobe xe?
Nothing xe or vfio related there…


What is in those files? Specifically pve-blacklist?
Strange that neither of them are found…
all it has is this…
blacklist nvidiafb
Hmm, then I am out of ideas… Maybe try the other thread?

I notice everyone else has “xe in use” where as mine only “kernel modules: xe”.
![]()
What do I need to do to enable it?
Thanks!
Normally modprobe xe should do the trick… Maybe try echo -n "0000:0f:00.0" > /sys/bus/pci/drivers/xe/unbind? But if the folder /sys/bus/pci/drivers/ doesn’t exist it means the xe driver is not loaded, which you normally load by doing modprobe xe.
That’s why I wondered if you had xe blacklisted somehow…

do you think i missed a step when upgrading? all i did was…
apt install proxmox-kernel-6.17 proxmox-headers-6.17
I didn't do anything like initramfs -u or whatever it is
6.17 should have the xe driver with working sr-iov. If uname -r says linux 6.17, that should be what’s running at the moment, and that should have the xe driver. What is the output of modinfo xe?
The question is why xe is not loaded on the device… I’m not using proxmox, so I’m not sure if some other setting may be blocking the xe driver than a configuration in /etc/modprobe(.d) or kernel parameters…
It does seem to work but weirdness ensues on the host whenever VFs are created and the desktop is running on the PF… I believe because all resources are split into the VFs. I hope future drivers give an option to leave a slice to the host (and maybe even to provision differend sized VFs).
At the moment I’m using another GPU for output and using the B50 for VMs. I havent gotten looking glass to work yet (need to figure out how to get looking glass to capture the correct output) but sunshine/moonlight works like a charm, with quicksync working in the VM to get smooth encoding. Realtime 4k120Hz with some lag but barely noticeable. Maybe not good enough for gaming (depends on the game I’d say) but definitely a very smooth desktop experience.
EDIT: Looking glass is now working too with the VDD driver. Perhaps there is another way, but I got it working by disabling the virtio GPU’s display. Otherwise the VDD display wouldn’t attach to the B50.
Uname - r did indeed report back correctly
Here you go for modinfo xe
filename: /lib/modules/6.17.2-1-pve/kernel/drivers/gpu/drm/xe/xe.ko
import_ns: DMA_BUF
license: GPL and additional rights
description: Intel Xe2 Graphics
author: Intel Corporation
firmware: i915/mtl_gsc_1.bin
firmware: xe/lnl_gsc_1.bin
firmware: i915/tgl_huc.bin
firmware: i915/tgl_huc.bin
firmware: i915/tgl_huc.bin
firmware: i915/tgl_huc.bin
firmware: i915/dg1_huc.bin
firmware: i915/mtl_huc_gsc.bin
firmware: xe/lnl_huc.bin
firmware: xe/bmg_huc.bin
firmware: xe/ptl_huc.bin
firmware: i915/tgl_guc_70.bin
firmware: i915/tgl_guc_70.bin
firmware: i915/tgl_guc_70.bin
firmware: i915/adlp_guc_70.bin
firmware: i915/tgl_guc_70.bin
firmware: i915/dg1_guc_70.bin
firmware: i915/dg2_guc_70.bin
firmware: i915/mtl_guc_70.bin
firmware: xe/lnl_guc_70.bin
firmware: xe/bmg_guc_70.bin
firmware: xe/ptl_guc_70.bin
import_ns: INTEL_VSEC
import_ns: INTEL_PMT_TELEMETRY
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
firmware: i915/bxt_dmc_ver1_07.bin
firmware: i915/skl_dmc_ver1_27.bin
firmware: i915/kbl_dmc_ver1_04.bin
firmware: i915/glk_dmc_ver1_04.bin
firmware: i915/icl_dmc_ver1_09.bin
firmware: i915/tgl_dmc_ver2_12.bin
firmware: i915/rkl_dmc_ver2_03.bin
firmware: i915/dg1_dmc_ver2_02.bin
firmware: i915/adls_dmc_ver2_01.bin
firmware: i915/adlp_dmc_ver2_16.bin
firmware: i915/adlp_dmc.bin
firmware: i915/dg2_dmc_ver2_08.bin
firmware: i915/mtl_dmc.bin
firmware: i915/bmg_dmc.bin
firmware: i915/xe2lpd_dmc.bin
firmware: i915/xe3lpd_dmc.bin
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
import_ns: PWM
srcversion: 1614B4F95573F9B2C448D23
alias: pci:v00008086d0000FD81svsdbc03sci
alias: pci:v00008086d0000FD80svsdbc03sci
alias: pci:v00008086d0000B0B0svsdbc03sci
alias: pci:v00008086d0000B0A0svsdbc03sci
alias: pci:v00008086d0000B090svsdbc03sci
alias: pci:v00008086d0000B08Fsvsdbc03sci
alias: pci:v00008086d0000B087svsdbc03sci
alias: pci:v00008086d0000B086svsdbc03sci
alias: pci:v00008086d0000B085svsdbc03sci
alias: pci:v00008086d0000B084svsdbc03sci
alias: pci:v00008086d0000B083svsdbc03sci
alias: pci:v00008086d0000B082svsdbc03sci
alias: pci:v00008086d0000B081svsdbc03sci
alias: pci:v00008086d0000B080svsdbc03sci
alias: pci:v00008086d0000E223svsdbc03sci
alias: pci:v00008086d0000E222svsdbc03sci
alias: pci:v00008086d0000E221svsdbc03sci
alias: pci:v00008086d0000E220svsdbc03sci
alias: pci:v00008086d0000E216svsdbc03sci
alias: pci:v00008086d0000E212svsdbc03sci
alias: pci:v00008086d0000E211svsdbc03sci
alias: pci:v00008086d0000E210svsdbc03sci
alias: pci:v00008086d0000E20Dsvsdbc03sci
alias: pci:v00008086d0000E20Csvsdbc03sci
alias: pci:v00008086d0000E20Bsvsdbc03sci
alias: pci:v00008086d0000E209svsdbc03sci
alias: pci:v00008086d0000E202svsdbc03sci
alias: pci:v00008086d000064B0svsdbc03sci
alias: pci:v00008086d000064A0svsdbc03sci
alias: pci:v00008086d00006420svsdbc03sci
alias: pci:v00008086d00007DD5svsdbc03sci
alias: pci:v00008086d00007D60svsdbc03sci
alias: pci:v00008086d00007D55svsdbc03sci
alias: pci:v00008086d00007D45svsdbc03sci
alias: pci:v00008086d00007D40svsdbc03sci
alias: pci:v00008086d00005697svsdbc03sci
alias: pci:v00008086d00005696svsdbc03sci
alias: pci:v00008086d000056B3svsdbc03sci
alias: pci:v00008086d000056B2svsdbc03sci
alias: pci:v00008086d000056A4svsdbc03sci
alias: pci:v00008086d000056A3svsdbc03sci
alias: pci:v00008086d00005695svsdbc03sci
alias: pci:v00008086d00005694svsdbc03sci
alias: pci:v00008086d00005693svsdbc03sci
alias: pci:v00008086d000056BDsvsdbc03sci
alias: pci:v00008086d000056BCsvsdbc03sci
alias: pci:v00008086d000056BBsvsdbc03sci
alias: pci:v00008086d000056BAsvsdbc03sci
alias: pci:v00008086d000056B1svsdbc03sci
alias: pci:v00008086d000056B0svsdbc03sci
alias: pci:v00008086d000056A6svsdbc03sci
alias: pci:v00008086d000056A5svsdbc03sci
alias: pci:v00008086d00005692svsdbc03sci
alias: pci:v00008086d00005691svsdbc03sci
alias: pci:v00008086d00005690svsdbc03sci
alias: pci:v00008086d000056BFsvsdbc03sci
alias: pci:v00008086d000056BEsvsdbc03sci
alias: pci:v00008086d000056A2svsdbc03sci
alias: pci:v00008086d000056A1svsdbc03sci
alias: pci:v00008086d000056A0svsdbc03sci
alias: pci:v00008086d0000B640svsdbc03sci
alias: pci:v00008086d00007D67svsdbc03sci
alias: pci:v00008086d00007D41svsdbc03sci
alias: pci:v00008086d00007DD1svsdbc03sci
alias: pci:v00008086d00007D51svsdbc03sci
alias: pci:v00008086d000056C1svsdbc03sci
alias: pci:v00008086d000056C2svsdbc03sci
alias: pci:v00008086d000056C0svsdbc03sci
alias: pci:v00008086d00004909svsdbc03sci
alias: pci:v00008086d00004908svsdbc03sci
alias: pci:v00008086d00004907svsdbc03sci
alias: pci:v00008086d00004906svsdbc03sci
alias: pci:v00008086d00004905svsdbc03sci
alias: pci:v00008086d0000A78Bsvsdbc03sci
alias: pci:v00008086d0000A78Asvsdbc03sci
alias: pci:v00008086d0000A789svsdbc03sci
alias: pci:v00008086d0000A788svsdbc03sci
alias: pci:v00008086d0000A783svsdbc03sci
alias: pci:v00008086d0000A782svsdbc03sci
alias: pci:v00008086d0000A781svsdbc03sci
alias: pci:v00008086d0000A780svsdbc03sci
alias: pci:v00008086d0000A7ABsvsdbc03sci
alias: pci:v00008086d0000A7AAsvsdbc03sci
alias: pci:v00008086d0000A7A8svsdbc03sci
alias: pci:v00008086d0000A7A0svsdbc03sci
alias: pci:v00008086d0000A720svsdbc03sci
alias: pci:v00008086d0000A7ADsvsdbc03sci
alias: pci:v00008086d0000A7ACsvsdbc03sci
alias: pci:v00008086d0000A7A9svsdbc03sci
alias: pci:v00008086d0000A7A1svsdbc03sci
alias: pci:v00008086d0000A721svsdbc03sci
alias: pci:v00008086d000046D4svsdbc03sci
alias: pci:v00008086d000046D3svsdbc03sci
alias: pci:v00008086d000046D2svsdbc03sci
alias: pci:v00008086d000046D1svsdbc03sci
alias: pci:v00008086d000046D0svsdbc03sci
alias: pci:v00008086d000046C3svsdbc03sci
alias: pci:v00008086d000046C2svsdbc03sci
alias: pci:v00008086d000046C1svsdbc03sci
alias: pci:v00008086d000046C0svsdbc03sci
alias: pci:v00008086d000046B3svsdbc03sci
alias: pci:v00008086d000046B2svsdbc03sci
alias: pci:v00008086d000046B1svsdbc03sci
alias: pci:v00008086d000046B0svsdbc03sci
alias: pci:v00008086d00004628svsdbc03sci
alias: pci:v00008086d00004626svsdbc03sci
alias: pci:v00008086d0000462Asvsdbc03sci
alias: pci:v00008086d000046AAsvsdbc03sci
alias: pci:v00008086d000046A8svsdbc03sci
alias: pci:v00008086d000046A6svsdbc03sci
alias: pci:v00008086d000046A3svsdbc03sci
alias: pci:v00008086d000046A2svsdbc03sci
alias: pci:v00008086d000046A1svsdbc03sci
alias: pci:v00008086d000046A0svsdbc03sci
alias: pci:v00008086d00004693svsdbc03sci
alias: pci:v00008086d00004692svsdbc03sci
alias: pci:v00008086d00004690svsdbc03sci
alias: pci:v00008086d0000468Bsvsdbc03sci
alias: pci:v00008086d0000468Asvsdbc03sci
alias: pci:v00008086d00004688svsdbc03sci
alias: pci:v00008086d00004682svsdbc03sci
alias: pci:v00008086d00004680svsdbc03sci
alias: pci:v00008086d00004C9Asvsdbc03sci
alias: pci:v00008086d00004C90svsdbc03sci
alias: pci:v00008086d00004C8Csvsdbc03sci
alias: pci:v00008086d00004C8Bsvsdbc03sci
alias: pci:v00008086d00004C8Asvsdbc03sci
alias: pci:v00008086d00004C80svsdbc03sci
alias: pci:v00008086d00009AF8svsdbc03sci
alias: pci:v00008086d00009AD9svsdbc03sci
alias: pci:v00008086d00009AC9svsdbc03sci
alias: pci:v00008086d00009AC0svsdbc03sci
alias: pci:v00008086d00009A78svsdbc03sci
alias: pci:v00008086d00009A59svsdbc03sci
alias: pci:v00008086d00009A49svsdbc03sci
alias: pci:v00008086d00009A40svsdbc03sci
alias: pci:v00008086d00009A70svsdbc03sci
alias: pci:v00008086d00009A68svsdbc03sci
alias: pci:v00008086d00009A60svsdbc03sci
depends: drm_display_helper,ttm,drm_gpusvm_helper,drm_gpuvm,gpu-sched,video,drm_buddy,cec,drm_suballoc_helper,drm_exec,i2c-algo-bit,drm_ttm_helper,intel-vsec
intree: Y
name: xe
retpoline: Y
vermagic: 6.17.2-1-pve SMP preempt mod_unload modversions
sig_id: PKCS#7
signer: Build time autogenerated kernel key
sig_key: 05:B2:88:C5:7E:89:47:4C:00:B7:98:E0:E7:1E:CA:22:AB:76:27:A6
sig_hashalgo: sha512
signature: 95:F6:6B:AD:81:0F:4B:BE:BB:64:0B:EF:9B:04:CC:74:01:89:FE:D2:
22:2D:23:A0:FF:39:BC:46:AC:B3:A7:A0:26:46:16:1F:9D:DA:E5:36:
41:F9:18:85:56:72:8A:DB:22:E4:DB:61:3D:19:1F:EE:22:20:19:99:
EF:6B:B7:B5:97:B6:4A:B7:37:57:AF:C5:BD:DB:B3:67:0A:CE:69:E7:
6D:FE:A5:D8:7F:B5:99:82:1C:FA:27:EB:2B:37:36:75:05:E5:13:3A:
B3:E6:C0:3F:56:03:4C:3E:A8:80:59:81:F9:CA:8A:D9:1E:5D:D3:FB:
F2:5B:11:33:44:7B:10:37:CF:5C:45:B9:8E:DA:45:EC:A5:1F:6E:35:
F7:DB:6E:E9:C0:69:6C:8E:2B:D9:14:F8:4C:E2:3C:09:AD:B3:44:85:
A7:95:4F:4B:AA:22:E7:A3:8D:E2:35:19:AD:84:5D:8E:50:81:F5:08:
16:77:69:DA:CF:00:FC:B6:A5:83:BE:C5:3B:C3:B3:47:6F:4E:D2:F9:
92:A2:C2:64:D0:C2:8F:49:2B:ED:8A:33:23:9D:E5:F1:14:DA:95:7F:
BE:71:F4:67:8F:C4:EA:B2:24:4B:3D:FD:C2:58:5A:C5:00:5A:AF:E6:
F3:CD:FA:09:BA:8C:7C:37:70:04:AE:C0:EC:B6:7F:50:39:B8:90:6B:
E1:F0:04:F6:A3:27:42:C7:72:70:81:86:F3:6C:05:A2:9E:62:85:B3:
AD:BA:05:70:19:04:A6:46:23:62:D5:CE:91:BA:CC:44:FC:18:2D:2C:
BC:5D:D0:2B:AD:0B:87:9F:8C:55:FB:03:D3:0C:F1:FD:90:37:F8:7E:
FF:D9:43:33:14:80:FA:33:DE:28:C3:E9:A3:74:7D:0F:D0:D2:C6:0A:
18:A0:B1:1B:53:0D:AF:4A:AC:5C:13:62:89:F2:88:17:65:E1:D4:1F:
87:AF:87:F2:1D:71:67:64:E6:5D:09:22:2D:76:C1:F7:F5:F4:18:0C:
0D:DD:D4:B0:27:8D:9F:1B:8E:C3:89:05:B5:74:CE:16:5F:AC:7D:47:
C4:79:33:47:05:77:50:EE:A6:B4:E6:F3:9F:D3:3C:D5:F8:63:18:AB:
26:AA:8C:C9:8E:F7:81:E3:31:24:A3:E9:64:07:B1:CC:98:5D:DE:99:
43:25:E1:06:FB:93:ED:CB:8C:BB:53:16:09:B5:43:F2:BD:FF:AC:09:
93:B9:F8:95:D8:C0:5B:64:B0:22:FC:8B:50:FE:E7:A4:B7:09:93:1C:
0E:01:55:53:8E:B8:89:F1:17:5E:CE:14:A4:FF:97:5C:F5:5B:4C:9C:
D4:80:CA:F9:17:A5:E3:DF:18:0D:D2:FA
parm: dmc_firmware_path:DMC firmware path to use instead of the default one. Use /dev/null to disable DMC and runtime PM. (charp)
parm: vbt_firmware:Load VBT from specified file under /lib/firmware (charp)
parm: lvds_channel_mode:Specify LVDS channel mode (0=probe BIOS [default], 1=single-channel, 2=dual-channel) (int)
parm: panel_use_ssc:Use Spread Spectrum Clock with panels [LVDS/eDP] (default: auto from VBT) (int)
parm: vbt_sdvo_panel_type:Override/Ignore selection of SDVO panel mode in the VBT (-2=ignore, -1=auto [default], index in VBT BIOS table) (int)
parm: enable_dc:Enable power-saving display C-states. (-1=auto [default]; 0=disable; 1=up to DC5; 2=up to DC6; 3=up to DC5 with DC3CO; 4=up to DC6 with DC3CO) (int)
parm: enable_dpt:Enable display page table (DPT) (default: true) (bool)
parm: enable_dsb:Enable display state buffer (DSB) (default: true) (bool)
parm: enable_flipq:Enable DMC flip queue (default: false) (bool)
parm: enable_sagv:Enable system agent voltage/frequency scaling (SAGV) (default: true) (bool)
parm: disable_power_well:Disable display power wells when possible (-1=auto [default], 0=power wells always on, 1=power wells disabled when possible) (int)
parm: enable_ips:Enable IPS (default: true) (bool)
parm: invert_brightness:Invert backlight brightness (-1 force normal, 0 machine defaults, 1 force inversion), please report PCI device ID, subsystem vendor and subsystem device ID to [email protected], if your machine needs it. It will then be included in an upcoming module version. (int)
parm: edp_vswing:Ignore/Override vswing pre-emph table selection from VBT (0=use value from vbt [default], 1=low power swing(200mV),2=default swing(400mV)) (int)
parm: enable_dpcd_backlight:Enable support for DPCD backlight control(-1=use per-VBT LFP backlight type setting [default], 0=disabled, 1=enable, 2=force VESA interface, 3=force Intel interface) (int)
parm: load_detect_test:Force-enable the VGA load detect code for testing (default:false). For developers only. (bool)
parm: force_reset_modeset_test:Force a modeset during gpu reset for testing (default:false). For developers only. (bool)
parm: disable_display:Disable display (default: false) (bool)
parm: verbose_state_checks:Enable verbose logs (ie. WARN_ON()) in case of unexpected hw state conditions. (bool)
parm: nuclear_pageflip:Force enable atomic functionality on platforms that don’t have full support yet. (bool)
parm: enable_dp_mst:Enable multi-stream transport (MST) for new DisplayPort sinks. (default: true) (bool)
parm: enable_fbc:Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (int)
parm: enable_psr:Enable PSR (0=disabled, 1=enable up to PSR1, 2=enable up to PSR2) Default: -1 (use per-chip default) (int)
parm: psr_safest_params:Replace PSR VBT parameters by the safest and not optimal ones. This is helpful to detect if PSR issues are related to bad values set in VBT. (0=use VBT parameters, 1=use safest parameters)Default: 0 (bool)
parm: enable_psr2_sel_fetch:Enable PSR2 and Panel Replay selective fetch (0=disabled, 1=enabled) Default: 1 (bool)
parm: enable_dmc_wl:Enable DMC wakelock (-1=use per-chip default, 0=disabled, 1=enabled, 2=match any register, 3=always locked) Default: -1 (int)
parm: svm_notifier_size:Set the svm notifier size in MiB, must be power of 2 [default=512] (uint)
parm: force_execlist:Force Execlist submission (bool)
parm: probe_display:Probe display HW, otherwise it’s left untouched [default=true]) (bool)
parm: vram_bar_size:Set the vram bar size in MiB (<0=disable-resize, 0=max-needed-size, >0=force-size [default=0]) (int)
parm: guc_log_level:GuC firmware logging level (0=disable, 1=normal, 2…5=verbose-levels [default=1]) (int)
parm: guc_firmware_path:GuC firmware path to use instead of the default one (charp)
parm: huc_firmware_path:HuC firmware path to use instead of the default one - empty string disables (charp)
parm: gsc_firmware_path:GSC firmware path to use instead of the default one - empty string disables (charp)
parm: force_probe:Force probe options for specified devices. See CONFIG_DRM_XE_FORCE_PROBE for details [default=]) (charp)
parm: max_vfs:Limit number of Virtual Functions (VFs) that could be managed. (0=no VFs; N=allow up to N VFs [default=unlimited]) (uint)
parm: wedged_mode:Module’s default policy for the wedged mode (0=never, 1=upon-critical-errors, 2=upon-any-hang [default=1]) (int)
root@pve:~#
That looks normal (same as mine). I’m wondering now if the ‘nomodeset’ kernel parameter could be the reason. Could you try removing that? I’m not using proxmox but here is how it should work:
https://pve.proxmox.com/pve-docs/pve-admin-guide.html#sysboot_edit_kernel_cmdline
I’m going to try that… Should it look like this?
BOOT_IMAGE=/boot/vmlinuz-6.17.2-1-pve root=/dev/mapper/pve-root ro quiet
Remove the ‘quiet’ too?
Yes, quiet should not matter, it only affects output to the screen during boot.
After I update that in the file, do i need to do grub update or anyother commands so it sticks after reboot?
I did some more tests with the B50 as the main GPU on a host linux system and passing two VFs through to a windows and a linux VM. Things were better than I described before. The only issue is running out of VRAM on the host. After making VFs only about 200mb is left to the host and it’s okay for browsing and youtube but nothing more. Vkcube can run on host while playing GTA V in the VM. But once I launch heaven on the host things get very laggy and will crash if i don’t close it fast.
On the linux VM the xe driver does load on the VF, but no acceleration… I guess the linux driver is not working for VFs yet? Which is funny, since I can prime offload to a VF on the host. Running heaven on the host on a VF does work, but makes the VM behave very weird (looking glass crashing, and only resuming once closing heaven, for example).
So it does work, to use the B50 to display the host and have VFs passed through, but don’t plan on doing much more than browsing on the host, unless we find ways to reserve VRAM on the host…
I thought maybe I’m smart, and I’ll see what happens if I run some game or benchmark on the host to ‘reserve’ vram before creating VFs, but this just crashes the desktop with an OOM error… Ideally we could get a way to, say, create one 2GB VF, one 8 GB one and leave 6GB to the host, or so…
EDIT: Despite the crash, this actually has worked!! When creating VFs while some VRAM is in use, I get:
So I’d need a script that allocates, say 4GB, of VRAM, then creates VFs, then clears it again, leaving 4GB to the host ![]()
Theory:
# Set PF spare LMEM to 2GB
echo 2147483648 > /sys/kernel/debug/dri/<BDF>/sriov/pf/tile0/vram_spare
# Set PF spare GGTT to 256MB
echo 268435456 > /sys/kernel/debug/dri/<BDF>/sriov/pf/tile0/ggtt_spare
Yes, grub-update