protonscr

Flickering on MTA (Multi Theft Auto) Client

dxvkclosed d3d9
doitsujin/dxvk#3413 · opened 2023-05-11 by Heus-Sueh · updated 2025-12-01 · 15 comments · github
HHeus-Sueh 2023-05-11 github

in Fullscreen the game is practically unplayable with low fps and constant flickering to work around this it is necessary to leave the client in windowed mode

MTA in Fullscreen:
Kooha-2023-04-29-23-20-28.webm

Software information

MTA (Multi Theft Auto) is a client for GTA SA to play online

System information

  • GPU: GTX 1060 6GB
  • Driver: 530.41.03
  • Wine version: Wine 8.0
  • DXVK version: 2.1

Apitrace file(s)

Multi Theft Auto-apitrace.zip
sorry if i didn't use the apitrace correctly

Log files

Multi Theft Auto-logs.zip

getting MTA running is a bit tricky but here's how to run it:

BBlisto91 2023-05-11 github

Try with current master as this might already have been fixed. You can download here https://github.com/doitsujin/dxvk/actions/runs/4949140079
The apitrace doesn't contain anything sadly. If it's just a few KB that means it didnt work

HHeus-Sueh 2023-05-12 github

Try with current master as this might already have been fixed. You can download here https://github.com/doitsujin/dxvk/actions/runs/4949140079 The apitrace doesn't contain anything sadly. If it's just a few KB that means it didnt work

ok i will test

BBlisto91 2023-05-12 github

The newly released 2.2 is also fine to test with

KK0bin maintainer 2023-05-12 github

That apitrace is useless unfortunately. It's practically empty.

?ghost 2023-05-17 github

See if "https://github.com/SirSAC/dxvk/actions/runs/5000894491" have the same effect on the client.

KK0bin maintainer 2023-05-17 github

@SirSAC There's no way that altering a couple of build flags will make any difference here and I would appreciate it if you didn't spam that under any open issues you come across.

?ghost 2023-05-17 github

ok

HHunterCZ122 2023-05-21 github

d3d9.deferSurfaceCreation = 1 as a workaround fixes the issue, at least on borderless windowed mode (which is enabled by default). Standard fullscreen crashes for some reason.

Screenshot_20230521_141024

Log:
gta_sa_log.txt

Log with standard fullscreen:
gta_sa_defer_fs_log.txt
I even tried ANV driver just in case if it's a driver bug. Same thing.
Fortunately it will show dialog about switching back to borderless windowed after several crashes (like if it was mod issue and not DXVK itself)
I'm also missing some patches like child window or shared resources, which maybe can cause the crash.

I can't manage to make apitrace at all. Mod has weird anti-cheat which blocks everything in game path and just loads d3d9.dll from SysWOW64.
Maybe someone with Windows rig will help here.

RRiesi 2023-05-23 github

Okey so I managed to get traces with wined3d and dxvk (crashing).
Sadly the crash doesnt reproduce with dxvk on replay of the wined3d trace.

mta_dxvk_trace.tar.gz

mta_wined3d_trace.tar.gz

HHeus-Sueh 2023-12-24 github

Maybe the flickering was resolved. I tested it on wine 8.14 with the latest version of dxvk and I was able to navigate the menus without the screen constantly blinking. If anyone can test, confirm if the bug has been resolved as well.

BBlisto91 2025-11-29 github

@Heus-Sueh what is the status of this today? Does it work with latest upstream Wine + dxvk master? Latter can be downloaded here https://github.com/doitsujin/dxvk/actions/runs/19747559372

HHeus-Sueh 2025-11-29 github

@Heus-Sueh what is the status of this today? Does it work with latest upstream Wine + dxvk master? Latter can be downloaded here https://github.com/doitsujin/dxvk/actions/runs/19747559372

I just tested it and the flickering issues seem gone. All window types appear to work correctly, but the resolution selector has no effect — it stays locked at 800×600:

Image

For those who want to reproduce the test, a script will be needed to run a local MTA server for at least a few seconds; otherwise, you will encounter the error "There was a problem validating your serial number [CN01]".
I use Nix to create a disposable environment, but DistroBox works fine on traditional distros as well:

#!/usr/bin/env bash
set -euo pipefail

RUN_TIME=15

nix-shell -p wget -p gnutar -p gzip -p ncurses --run "

echo '[1/5] Downloading binary...'

rm -f multitheftauto_linux_x64.tar.gz
wget https://linux.multitheftauto.com/dl/multitheftauto_linux_x64.tar.gz

echo '[2/5] Extracting...'
tar -xf multitheftauto_linux_x64.tar.gz

echo '[3/5] Downloading default config...'

rm -f baseconfig.tar.gz
wget https://linux.multitheftauto.com/dl/baseconfig.tar.gz
tar -xf baseconfig.tar.gz

echo '[4/5] Moving settings...' 
mv baseconfig/* multitheftauto_linux_x64/mods/deathmatch/ 

cd multitheftauto_linux_x64 

echo '[5/5] Configuring libs for the MTA...' 

mkdir -p lib 

NCURSES_DIR=\$(dirname \"\$(readlink -f \$(which tic))\")/../lib 

ln -sf \"\$NCURSES_DIR/libncursesw.so.6\" lib/libncursesw.so.6 
ln -sf \"\$NCURSES_DIR/libtinfo.so.6\" lib/libtinfo.so.6 

export LD_LIBRARY_PATH=\"\$PWD/lib:\$LD_LIBRARY_PATH\" 

echo \"Starting server for ${RUN_TIME}s...\" 
./mta-server64 & 
SERVER_PID=\$! 

echo \"Server started (PID: \$SERVER_PID). Waiting...\" 
sleep ${RUN_TIME} 

echo 'Shutting down server...' 
kill \"\$SERVER_PID\" 2>/dev/null || true 

echo 'Done!'
"

For the Wine prefix, make sure the required fonts and DirectX components are installed — otherwise MTA will throw a huge number of font/DirectX-related errors.

I tested it using Bottles with the following components (search for equivalents in winetricks if you're using another setup):

  • d3dx9
  • d3dcompiler_43
  • d3dcompiler_47
  • d3dx11
  • dx8vb
  • msls31
  • cnc-ddraw
  • allfonts
  • arial32 / arialb32
  • times32
  • courie32
  • tahoma32
  • andale32
  • comic32
  • georgi32
  • impact32
  • trebuc32
  • verdan32
  • webdin32

MTA logs are located at:
drive_c/Program Files (x86)/MTA San Andreas 1.6/MTA/logs/

HHeus-Sueh 2025-11-29 github

I don't intend to test this further, as it's quite frustrating and time-consuming.

BBlisto91 2025-12-01 github

Sorry to hear that it is frustrating. Thank you for your help so far.
I am going to close this issue as the original problem is gone and I think it would be better to track the new issue in a fresh one

BBlisto91 2025-12-01 github

Having some trouble getting the serial verification working here locally (even after running local linux server) so don't have much time to look around. At least from a quick look i don't seem to be reproducing the resolution selection issue with Steam Proton as they all appear fine.

DLLs