Team Fortress 2 crashes when loading any map on Intel DG2
System information
- OS: Arch Linux
- GPU: 09:00.0 VGA compatible controller [0300]: Intel Corporation DG2 [Arc A770] [8086:56a0] (rev 08)
- Kernel version: Linux Kirby-MkV-Arch 6.4.6-rt8-273-tkg-eevdf #1 (closed) SMP PREEMPT_DYNAMIC TKG Tue, 29 Aug 2023 10:03:29 +0000 x86_64 GNU/Linux
- Mesa version: OpenGL version string: 4.6 (Compatibility Profile) Mesa 23.3.0-devel (git-e7d393b1)
- Xserver version (if applicable): X.Org X Server 1.21.1.8
- Desktop manager and compositor: KDE Plasma 5.27.7
Team Fortress 2 on Iris with DG2 on my system crashes when loading any map, either via joining a casual match,
creating a listen server or typing map <map_name>
into the game's dev console.
Regression
Not sure; some previous bug reports detail that it used to run but would crash in a call related to uploading shaders, this hasn't been my experience since obtaining this graphics card for testing. May need to be bisected if this game did used to run.
Log files as attachment
- Output of
dmesg
[ 2904.106060] hl2_linux[37740]: segfault at 0 ip 00000000f3adbabd sp 00000000ffd39970 error 6 in iris_dri.so[f2c2d000+10b2000] likely on CPU 6 (core 6, socket 0) [ 2904.106068] Code: c8 89 45 c8 8b 45 b4 8d 0c 10 89 c3 89 4d d8 8d b6 00 00 00 00 8b 45 e0 8b 4d c8 f3 0f 6f 23 8b 55 d8 30 c0 01 c8 83 45 e0 40 <0f> 11 24 07 f3 0f 6f 2c 33 83 55 e4 00 83 c1 40 83 c3 10 0f 11 6c
- Backtrace
#0 0xf3adbabd in linear_to_tile4 (mem_copy_align16=<optimized out>, mem_copy=<optimized out>, swizzle_bit=<optimized out>, src_pitch=<optimized out>, src=0x710c8000 "\"", dst=<optimized out>, y3=<optimized out>, y0=<optimized out>,
x3=<optimized out>, x2=<optimized out>, x1=<optimized out>, x0=<optimized out>) at ../mesa/src/intel/isl/isl_tiled_memcpy.c:552
#1 linear_to_tile4_faster (x0=0, x1=0, x2=128, x3=128, y0=0, y1=32, dst=0x0, src=0x710c8000 "\"", src_pitch=8192, swizzle_bit=0, copy_type=ISL_MEMCPY) at ../mesa/src/intel/isl/isl_tiled_memcpy.c:1121
#2 0xf3addf84 in linear_to_tiled (copy_type=ISL_MEMCPY, tiling=ISL_TILING_4, has_swizzling=false, src_pitch=8192, dst_pitch=8192, src=0x710c8000 "\"", dst=0x0, yt2=512, yt1=0, xt2=8192, xt1=0)
at ../mesa/src/intel/isl/isl_tiled_memcpy.c:1394
#3 _isl_memcpy_linear_to_tiled (xt1=0, xt2=8192, yt1=0, yt2=512, dst=0x0, src=0x710c8000 "\"", dst_pitch=8192, src_pitch=8192, has_swizzling=false, tiling=ISL_TILING_4, copy_type=ISL_MEMCPY)
at ../mesa/src/intel/isl/isl_tiled_memcpy_normal.c:44
#4 0xf3ac31b9 in isl_memcpy_linear_to_tiled (xt1=<optimized out>, xt2=<optimized out>, yt1=<optimized out>, yt2=<optimized out>, dst=<optimized out>, src=<optimized out>, dst_pitch=<optimized out>, src_pitch=<optimized out>,
has_swizzling=<optimized out>, tiling=<optimized out>, copy_type=<optimized out>) at ../mesa/src/intel/isl/isl.c:66
#5 0xf3889ca3 in iris_unmap_tiled_memcpy (map=0x92fba18) at ../mesa/src/gallium/drivers/iris/iris_resource.c:2381
#6 0xf388da04 in iris_transfer_unmap (ctx=0x938a018, xfer=0x92fba18) at ../mesa/src/gallium/drivers/iris/iris_resource.c:2724
#7 0xf3247299 in tc_call_texture_unmap (pipe=0x938a018, call=0x952fdb0, last=0x952fdb8) at ../mesa/src/gallium/auxiliary/util/u_threaded_context.c:2954
#8 0xf3248175 in batch_execute (parsing=false, last=0x952fdb8, pipe=0x938a018, batch=0x952fd94) at ../mesa/src/gallium/auxiliary/util/u_threaded_context.c:394
#9 tc_batch_execute (job=<optimized out>, gdata=0x0, thread_index=0) at ../mesa/src/gallium/auxiliary/util/u_threaded_context.c:445
#10 0xf32488f5 in _tc_sync (tc=tc@entry=0x9528000, func=<optimized out>, info=<optimized out>) at ../mesa/src/gallium/auxiliary/util/u_threaded_context.c:680
#11 0xf3248cec in tc_texture_map (_pipe=0x9528000, resource=0x70df5680, level=1, usage=10, box=0xffd39cdc, transfer=0xffd39d58) at ../mesa/src/gallium/auxiliary/util/u_threaded_context.c:2714
#12 0xf2d28900 in pipe_texture_map_3d (transfer=0xffd39d58, d=<optimized out>, h=<optimized out>, w=<optimized out>, z=0, y=<optimized out>, x=<optimized out>, access=<optimized out>, level=<optimized out>, resource=0x70df5680,
context=<optimized out>) at ../mesa/src/gallium/auxiliary/util/u_inlines.h:577
#13 st_texture_image_map (st=0x92f9000, stImage=0x70dfaf50, usage=10, x=0, y=0, z=0, w=1024, h=1024, d=1, transfer=0xffd39d58) at ../mesa/src/mesa/state_tracker/st_texture.c:315
#14 0xf2cfb9c7 in st_MapTextureImage (ctx=0x955c000, texImage=0x70dfaf50, slice=0, x=0, y=0, w=1024, h=1024, mode=6, mapOut=0xffd39e00, rowStrideOut=0xffd39dfc) at ../mesa/src/mesa/state_tracker/st_cb_texture.c:542
#15 0xf2ce9853 in _mesa_store_compressed_texsubimage (ctx=0x955c000, dims=2, texImage=0x70dfaf50, xoffset=0, yoffset=0, zoffset=0, width=1024, height=1024, depth=1, format=171, imageSize=1048576, data=<optimized out>)
at ../mesa/src/mesa/main/texstore.c:1367
#16 0xf2cfe629 in st_CompressedTexSubImage (ctx=0x955c000, dims=2, texImage=0x70dfaf50, x=0, y=0, z=0, w=1024, h=1024, d=1, format=171, imageSize=1048576, data=0x2f5e000) at ../mesa/src/mesa/state_tracker/st_cb_texture.c:2531
#17 0xf2cfea4a in st_CompressedTexImage (ctx=0x955c000, dims=2, texImage=0x70dfaf50, imageSize=1048576, data=0x2f5e000) at ../mesa/src/mesa/state_tracker/st_cb_texture.c:2565
#18 0xf2cd30ac in teximage (no_error=false, pixels=<optimized out>, imageSize=<optimized out>, type=<optimized out>, format=<optimized out>, border=0, depth=<optimized out>, height=<optimized out>, width=<optimized out>,
internalFormat=<optimized out>, level=<optimized out>, target=3553, texObj=<optimized out>, dims=2, compressed=<optimized out>, ctx=0x955c000) at ../mesa/src/mesa/main/teximage.c:3294
#19 teximage_err (ctx=0x955c000, compressed=compressed@entry=1 '\001', dims=dims@entry=2, target=<optimized out>, level=<optimized out>, internalFormat=<optimized out>, width=<optimized out>, height=<optimized out>,
depth=<optimized out>, border=<optimized out>, format=<optimized out>, type=<optimized out>, imageSize=<optimized out>, pixels=<optimized out>) at ../mesa/src/mesa/main/teximage.c:3330
#20 0xf2cdcbff in _mesa_CompressedTexImage2D (target=3553, level=1, internalFormat=35919, width=1024, height=1024, border=0, imageSize=1048576, data=0x2f5e000) at ../mesa/src/mesa/main/teximage.c:5737
#21 0xf5a1f685 in ?? () from /mnt/GameHDD-Linux/SteamLibrary/steamapps/common/Team Fortress 2/bin/libtogl.so
#22 0xf5a1fc6d in ?? () from /mnt/GameHDD-Linux/SteamLibrary/steamapps/common/Team Fortress 2/bin/libtogl.so
#23 0xf5a2bb27 in IDirect3DSurface9::UnlockRect() () from /mnt/GameHDD-Linux/SteamLibrary/steamapps/common/Team Fortress 2/bin/libtogl.so
- Gpu hang details: N/A (no GPU hang occurred)
Any extra information would be greatly appreciated
- Zink works around this issue but runs terribly, dipping as low as 15fps with lots of action on screen.
- This didn't occur on my other GPU (A Radeon RX 5700 XT) and the game runs without issues there.
Edited by FuzzyQuills