Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal. You can also buy games using our partner links for GOG and Humble Store.
"Failed to Create Graphics Device" error on Sain'ts Row 3
Nanobang Dec 14, 2022
Thanks for taking a look at this problem. :)

I'm on Kubuntu 22.04, Nvidia GTX 1070 using the 515.86.01 driver. I've launched SR3 with Proton Experimental, GE 7-24, GE 7-01, 7.0-5, 5-13.6, all from within Steam. I choose Direct X version off the pop-up---doesn't matter if it's DX 9, or 10 and 11---and then I'm presented with a little WINE-looking pop-up every time.


When I close it, it closes the game. Tried a couple other random proton games, no problems with them. Tried a few tweaks from ProtonDB, no love there.

Thanks again

Last edited by Nanobang on 14 December 2022 at 6:58 pm UTC
This topic has an answer marked - jump to answer.
whizse Dec 14, 2022
First thing that comes to mind is that it's an older game, so most likely 32bit.

Do you have the 32bit driver and Vulkan libs installed?
Klaas Dec 14, 2022
What does the dxvk log file say?

Edit: The game is 32-bits only.

Last edited by Klaas on 14 December 2022 at 8:48 pm UTC
Nanobang Dec 14, 2022
Quoting: whizseFirst thing that comes to mind is that it's an older game, so most likely 32bit.

Do you have the 32bit driver and Vulkan libs installed?

I've got steam (i386) installed as well as libvulkan 1 (i386), but I'm not sure what the 32 bit driver is?
Nanobang Dec 14, 2022
Quoting: KlaasWhat does the dxvk log file say?

Edit: The game is 32-bits only.

Where would the log file be? I've searched /var, /home, and /usr but found nothing with dxvk and log in the name.
whizse Dec 15, 2022
There's a couple of different logs that might be useful to track down issues like these:

Proton logs
Add the environment variable PROTON_LOG=1 to the launch options. The launch command should look like this:

PROTON_LOG=1 %command%

Right click game 🠒 Properties 🠒 General 🠒 Launch options

A log file named after the Steam game id is created, usually in your home directory e.g. steam-46510.log. By default Proton logs a lot of and this file can grow quite large. Be sure to turn off logging when you're done!

If you want to tune where log files are created, or what is being logged check out the Proton README.

DXVK logs
There are two environment variables to control logging for DXVK. Set in the same place and way as the logging for Proton.

DXVK_LOG_LEVEL=info DXVK_LOG_PATH=~ %command%

A game_dxi.log and game_d3d9.log (or _d3d10.log, d3d11.log depending on the rendering API) is created in your home dir.

More info on debugging options are found in the DXVK README.

Game logs
Some games create their own log files. These are sometimes, but usually not, helpful.

The easiest way to find where the game logs are to check PCGamingWiki for the configuration files location (for the Windows version) and locate this directory in the Proton prefix named after the Steam game id. The id is sometimes noted on the Wiki page, otherwise you can search for the game directory in your Steam library (the compatdata dir hold the prefixes, the common dir the actual game files).

Running Steam from a terminal
This is mostly helpful for native games as Steam silenced most of the debug messages from Proton. If the problems are related to Steam or libraries not related to Proton this might still be a good place to check.

The easiest way is to simply run Steam from the terminal, launch the game, and when it quits scroll back up in the terminal and copy/paste the output.

You might want to hold down the enter key in the terminal to create some empty lines before launch, as the Steam client itself creates a lot of chaff.
Nanobang Dec 16, 2022
Quoting: whizseThere's a couple of different logs that might be useful to track down issues like these ...

First of all, thank you Whizse. It takes no small amount of time to write something like this, and boy I needed it.

With your help I was able to find/create all the logs. All of them are long, but I'd like to post the bits that throw up flags for my neophyte eyes. Would you take a look at them and tell me what you think? I've saved copies of each in full, so I can go back in or copy paste more if that would be helpful.

SaintsRowTheThird_DX11_d3d11.log
lines 89 - end
info:  Queue families:
info:    Graphics : 0
info:    Transfer : 0
info:  DXVK: Read 0 valid state cache entries
err:   Failed to create surface


SaintsRowTheThird_DX11_dxgi.log
I've put the output on Pastebin. Nothing leapt at me as wrong here, but maybe it's useful anyway?

steam-55230.log
lines 223 to end

Game process updated : AppID 55230 "/home/gw/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=55230 -- /home/gw/.steam/debian-installation/ubuntu12_32/steam-launch-wrapper -- '/mnt/Game_Box/Steam_Library/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/mnt/Game_Box/Steam_Library/steamapps/common/Proton 7.0'/proton waitforexitandrun  '/mnt/Game_Box/Steam_Library/steamapps/common/Saints Row the Third/game_launcher.exe'", ProcID 180327, IP 0.0.0.0:0
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
ThreadGetProcessExitCode: no such process 180302
ThreadGetProcessExitCode: no such process 180285
ThreadGetProcessExitCode: no such process 180279
ThreadGetProcessExitCode: no such process 180257
ThreadGetProcessExitCode: no such process 180254
ThreadGetProcessExitCode: no such process 180248
ThreadGetProcessExitCode: no such process 180244
pid 180250 != 180249, skipping destruction (fork without exec?)
Game process removed: AppID 55230 "/home/gw/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=55230 -- /home/gw/.steam/debian-installation/ubuntu12_32/steam-launch-wrapper -- '/mnt/Game_Box/Steam_Library/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/mnt/Game_Box/Steam_Library/steamapps/common/Proton 7.0'/proton waitforexitandrun  '/mnt/Game_Box/Steam_Library/steamapps/common/Saints Row the Third/game_launcher.exe'", ProcID 180327
ThreadGetProcessExitCode: no such process 180327
ThreadGetProcessExitCode: no such process 180266
ThreadGetProcessExitCode: no such process 180135
ThreadGetProcessExitCode: no such process 180134
Game 55230 created interface STEAMAPPS_INTERFACE_VERSION003 / Apps
Game 55230 created interface STEAMREMOTESTORAGE_INTERFACE_VERSION002 / RemoteStorage
Game 55230 created interface STEAMUSERSTATS_INTERFACE_VERSION007 / UserStats
Game 55230 created interface SteamFriends007 / Friends
Game 55230 created interface SteamMatchMaking008 / Matchmaking
Game 55230 created interface SteamMatchMakingServers002 / MatchmakingServers
Game 55230 created interface SteamNetworking004 / Networking
Game 55230 created interface SteamUser014 / User
Game 55230 created interface SteamUtils005 / Utils
Game 55230 method call count for IClientNetworking::IsP2PPacketAvailable : 13402
Game 55230 method call count for IClientUtils::RecordSteamInterfaceCreation : 9
Game 55230 method call count for IClientUtils::GetAppID : 10
Game 55230 method call count for IClientUser::GetSteamID : 2
Uploaded AppInterfaceStats to Steam
[2022-12-16 14:18:04] Background update loop checking for update. . .
[2022-12-16 14:18:04] Checking for available updates...
[2022-12-16 14:18:04] Downloading manifest: https://client-update.akamai.steamstatic.com/steam_client_ubuntu12
[2022-12-16 14:18:04] Manifest download: send request
Installing breakpad exception handler for appid(steam)/version(1669935987)
[2022-12-16 14:18:05] Manifest download: waiting for download to finish
[2022-12-16 14:18:06] Manifest download: finished
[2022-12-16 14:18:06] Download skipped: /steam_client_ubuntu12 version 1669935987, installed version 1669935987, existing pending version 0
[2022-12-16 14:18:06] Nothing to do
Installing breakpad exception handler for appid(steam)/version(1669935987)
Installing breakpad exception handler for appid(steam)/version(1669935987)

(steam:178304): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed

(steam:178304): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `(null)'

(steam:178304): GLib-GObject-CRITICAL **: g_signal_handlers_disconnect_matched: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed

(steam:178304): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed
[2022-12-16 14:23:15] Shutdown


steam-55230.log

lines 1 - 13
======================
Proton: 1667938887 proton-7.0-5
SteamGameId: 55230
Command: ['/mnt/Game_Box/Steam_Library/steamapps/common/Saints Row the Third/game_launcher.exe']
Options: {'forcelgadd'}
depot: 0.20221201.76
pressure-vessel: 0.20221130.0
scripts: v0.20220823.0-0-gcc4e44f
soldier: 0.20221130.0 soldier 0.20221130.0
Kernel: Linux 5.15.0-56-generic #62-Ubuntu SMP Tue Nov 22 19:54:14 UTC 2022 x86_64
======================
esync: up and running.
wine: RLIMIT_NICE is <= 20, unable to use setpriority safely


line 3842 WARNING: lavapipe is not a conformant vulkan implementation, testing use only.

Thanks again Whizs and anybody else lending a hand
whizse Dec 17, 2022
llvmpipe/lavapipe is the software rasterizer. It looks like your system is trying (and failing) to use that instead of the nvidia driver?

I have no experience with Nvidia so I'm not sure how to tell if the 32bit driver is installed, or if it is, why it isn't used.



To make it easier to test what Vulkan drivers your system picks up you can install the vulkan-tools package and use the vkcube test (it's something like glxgears but for Vulkan).

Install the 32bit version (instructions for Debian, but should be similar for Kubuntu):
apt install vulkan-tools:i386

Run "vkcube" from a terminal and it shows what driver is used. On my system it is:
Selected GPU 0: AMD Radeon RX 570 Series (RADV POLARIS10), type: DiscreteGpu
Note the "DiscreteGpu" type.

If llvmpipe is detected instead, the output looks like this:
Selected GPU 0: llvmpipe (LLVM 14.0.6, 256 bits), type: Cpu
Type is "CPU" here. Very, very slow, and as noted in your logs, not always conformant.

You can re-install (overwrite) the package with the 64bit version using the package name vulkan-tools:amd64 to double check if the problem is limited to 32bit applications.
Klaas Dec 17, 2022
dxgi log for Saints Row IV with NVIDIA card for comparison:

 
info:  Game: Saints Row IV.exe
info:  DXVK: v1.10.1
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
info:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  NVIDIA GeForce GTX 1050 Ti:
info:    Driver: 515.57.0
info:    Vulkan: 1.3.205
info:    Memory Heap[0]: 
info:      Size: 4096 MiB
info:      Flags: 0x1
info:      Memory Type[7]: Property Flags = 0x1
info:    Memory Heap[1]: 
info:      Size: 8953 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[1]: Property Flags = 0x0
info:      Memory Type[2]: Property Flags = 0x0
info:      Memory Type[3]: Property Flags = 0x0
info:      Memory Type[4]: Property Flags = 0x0
info:      Memory Type[5]: Property Flags = 0x0
info:      Memory Type[6]: Property Flags = 0x0
info:      Memory Type[8]: Property Flags = 0x6
info:      Memory Type[9]: Property Flags = 0xe
info:    Memory Heap[2]: 
info:      Size: 246 MiB
info:      Flags: 0x1
info:      Memory Type[10]: Property Flags = 0x7
info:  DXGI: NvAPI workaround enabled, reporting AMD GPU
warn:  DXGI: MakeWindowAssociation: Ignoring flags


It looks like DVXK can't find your graphics card, so I think you probably need to install the Kubuntu equivalent of multilib/lib32-nvidia-utils and multilib/lib32-vulkan-icd-loader (Arch Linux).
Nanobang Dec 21, 2022
Quoting: Klaasdxgi log for Saints Row IV with NVIDIA card for comparison:

Thanks for taking the time to print out your dxgi log for me. Although SR3 is running now, I still suspect things could be better. I'm sure having your example to reference is going to be helpful.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register


Or login with...
Sign in with Steam Sign in with Google
Social logins require cookies to stay logged in.