Code change:
<ins> diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h index 06ca90564f0..bb244f8f358 100644 --- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h +++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h @@ -30,6 +30,7 @@ #include <amdgpu.h> #include <pthread.h> +#include <sys/types.h> #include "util/list.h" #include "util/rwlock.h" #include "ac_gpu_info.h" diff --git a/src/gallium/drivers/freedreno/freedreno_util.h b/src/gallium/drivers/freedreno/freedreno_util.h index 22f99c41909..2f3195926be 100644 --- a/src/gallium/drivers/freedreno/freedreno_util.h +++ b/src/gallium/drivers/freedreno/freedreno_util.h @@ -108,6 +108,8 @@ extern bool fd_binning_enabled; #include <sys/types.h> #include <sys/syscall.h> +#define gettid() ((pid_t)syscall(SYS_gettid)) + #define DBG(fmt, ...)                                                           do {                                                                         if (FD_DBG(MSGS))                                                         diff --git a/src/gallium/frontends/nine/nine_debug.c b/src/gallium/frontends/nine/nine_debug.c index f3a6a945025..f4a6c41a612 100644 --- a/src/gallium/frontends/nine/nine_debug.c +++ b/src/gallium/frontends/nine/nine_debug.c @@ -65,7 +65,7 @@ _nine_debug_printf( unsigned long flag, { static boolean first = TRUE; static unsigned long dbg_flags = DBG_ERROR | DBG_WARN; -    unsigned long tid = 0; +    pthread_t tid = 0; if (first) { first = FALSE; @@ -74,7 +74,7 @@ _nine_debug_printf( unsigned long flag, #if defined(HAVE_PTHREAD) if (dbg_flags & DBG_TID) -        tid = (unsigned long)pthread_self(); +        tid = pthread_self(); #endif if (dbg_flags & flag) { diff --git a/src/util/rand_xor.c b/src/util/rand_xor.c index 81b64f1ea71..56ebd2eccdf 100644 --- a/src/util/rand_xor.c +++ b/src/util/rand_xor.c @@ -28,6 +28,7 @@ #if defined(HAVE_GETRANDOM) #include <sys/random.h> #endif +#include <sys/types.h>         /* size_t, ssize_t */ #include <unistd.h> #include <fcntl.h> #endif </ins>

Related discussion:
text: Mesa 21.3.2 present in is causing , and they point to , not yet fixed as of now. Reverting to nixos-unstable to Mesa 21.2.6 updates fixes the issue. Steps to reproduce the behavior: sure you're using Intel GPU nixos channel to No flickering should happen on the application screen. Mesa bug report has a video demonstrating the issue. If applicable, add screenshots to help explain your problem. cc: Please run and paste the result.
According to the bug report this seems to affect at least Blender as well. Anyway, we can leave this issue open for a while (in case it helps users to figure this out) but I don't think there's anything actionable for Nixpkgs (it's an upstream bug and we simply have to wait until a fix is released via a new version). It looks like the patch from should be submitted formally via a PR so that it might get included in Mesa 21.3.4.
This is also happening on qutebrowser for me, but only on the wayland backend. I have a temporary fix to just launch with , but this obviously disables the hardware. Works fine though so far for just browsing and work stuff, at least until a proper fix is merged.
It's unlikely that the patch will be applied for 21.3.4 (as no one filed a MR for it so far), should we apply it downstream?
I'm seeing this in qutebrowser as well (non-wayland)
I'd prefer to avoid applying a patch that hasn't been reviewed upstream.
+1 for what said. Luckily a developer from Intel started looking into this so let's see how things will develop: Ideally a patch will be ready for 21.3.4 but the release might happen in two days (unless it gets delayed) so it'll indeed be close (but we'll of course re-evaluate our options once the release is out).
Unfortunately it was indeed too close for the patch to land in Mesa 21.3.4. However, now there's at least an alternative patch from Paulo Zanoni (the Intel developer) and Giuseppe Ghibò (author of the other patch) and others confirmed that it's working: I've included that patch in Does someone have time to test it () and report if it indeed fixes the issues?