Running Starfeild and llama on a B70

I just traded my A770 for a B70, but I haven’t noticed much of an upgrade. For the A770 I was testing a mesa PR to enable Device Generated Commands, but I could never run Starfield. I’m playing it on the B70, but only with the PR so if you have this card and plan on gaming compiling mesa from source is recommended.

I was also unimpressed by it’s performance with llama, I think I may have to unload the DE and try from a console.

Were can I find out about other software or firmware I should be pulling to get the most out of this card?

Starfield: 15FPS at rock bottom settings

llama: -ngl 50

Neither of these numbers seem impressive to me, am I expecting too much?

Try with their new shader compiler “Jay”, should improve perf.
Also ensure latest kernel, latest firmware etc.
Little hard to do that on Debian, recommend switching to Arch.

llama.cpp Intel B70 perf depends on yet-to-be-landed patches:

And more patches:
https://github.com/ggml-org/llama.cpp/pulls?q=sycl+sort%3Aupdated-desc

Probably also some CMake flags, check the several CMakeLists.txt in the repo for mentions of SYCL:

And ensure the nessecary SYCL system libaries are installed:

Thanks, I have the PR for Jay as part of the PR I’m using. I couldn’t find any help on how to enable it, but I found this:

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40835/diffs#e4da400ad60b1d7690d71fb29048f4e71edb67ee_305_313

This line of code leads me to think it’s not enabled unless you do something like export ANV_DEBUG=”INTEL_JAY=fs,vs,cs”?

1 Like

Good catch. Yes, looks like it.

Also might depend on certain hardware/firmware version?

devinfo->ver == 20
bool
intel_use_jay(const struct intel_device_info *devinfo, mesa_shader_stage stage)
{
   if (stage == MESA_SHADER_KERNEL)
      stage = MESA_SHADER_COMPUTE;

   return devinfo->ver == 20 && (use_jay & BITFIELD_BIT(stage));
}

bool
intel_use_jay_any_stage(const struct intel_device_info *devinfo)
{
   return devinfo->ver == 20 && use_jay;
}

Maybe still a bit too early days, check back in a year and pray every day Intel doesn’t abandon their Mesa open-source contributions.

It’s DLCs for your graphics card drivers :tada: /s

Until then, yeah performance likely isn’t going to be great in DXVK games. Performance in llama.cpp might be good though, with the SYCL/oneAPI stuff mentioned above and in other threads.

A lot works and a lot doesn’t. The core compiler is there (spilling, scoreboarding, SIMD32, etc should more or less work), but there are details to fill in for both performance and correctness. We essentially pass conformance on OpenGL ES 3.0 and OpenCL 3.0, and we’re busy iterating on Vulkan.

Also see the other threads on the forum about SYCL and oneAPI stuff:

The issue is I have no idea what to actually type… INTEL_JAY seems more like a meson flag than a ANV_DEBUG option? My advice is to just rewrite intel_use_jay and the other one so they always return true.