Steam games not launching on Optimus system

Hey everyone. Sorry to bring up another thread on this, but I’ve exhausted my search results with no luck. Nothing I’ve found has helped, so I’m hoping someone here can help me troubleshoot this.

I’m on an Optimus laptop with an Intel HD 530 and an Nvidia 960M, using the non-free 450-prime drivers. I’m otherwise on a clean install, updated, with the exception of having installed and then uninstalled Optimus-Manager and Optimus-Manager-qt. Currently, I’m trying to run Battletech as my test case, using the launch argument prime-run %command% to no avail. I’ve also tried running prime-run steam steam://rungameid/637090 though I’m sure my syntax is incorrect. Still, the former starts the process and seems to be running, except nothing new is displayed, windows or graphical switches or otherwise. The latter does produce an output in the terminal, but receives a SIGABORT:
/usr/bin/prime-run: line 2: 3243 Aborted (core dumped) __NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia "$@"

Really hoping to get this working, as I had no trouble with this on my Arch build before switching to Manjaro.

According to this you should reinstall Vulkan.

I reinstalled vulkan-icd-loader, but nothing has changed. Is there a log that might provide some helpful information?

See point 9 of this tutorial – Steam may need special treatment.
You can also check if prime-run is working:

$ prime-run glxinfo | grep "OpenGL renderer"
$ prime-run vulkaninfo

If not see link above and:

Here are the outputs.

[user@laptop ~]$ prime-run glxinfo | grep "OpenGL renderer" OpenGL renderer string: GeForce GTX 960M/PCIe/SSE2

[user@laptop ~]$ prime-run vulkaninfo /usr/bin/prime-run: line 2: vulkaninfo: command not found

I went through each link you provided, and systematically applied and tested the suggestions, but I still have no success. Launching the game has it process the Vulkan shaders, and then immediately go from “playing” to “play” (ie immediately closes).

Okay, now mhwd is doing nothing. I ended up with a non-boot (not even loading the main kernel) and had to reinstall several times before I was able to run updates without the installation corrupting. What the hell is going on? I’ve been using Manjaro for months without issue and now I can’t even update a clean installation? I’m very confused.

Okay, finally got everything reinstalled and updated without it suicide. I don’t know what’s up with that, but whatever.

Installed video-hybrid-intel-nvidia-450xx-prime using mhwd, installed vulkan-tools, but now DRI_PRIME=1 vulkaninfo errors out with
ERROR: [Loader Message] Code 0 : /usr/lib32/ wrong ELF class: ELFCLASS32 VK_KHR_imageless_framebuffer : extension revision 1 VkPhysicalDeviceImagelessFramebufferFeatures: imagelessFramebuffer = true imagelessFramebuffer = true

I’ve searched exhaustively for this, too, but all of the solutions seem dependent on having an AMD system, rather than Nvidia.

DRI_PRIME=1 is for AMD cards,you should use prime-run

According to this

You nvidia card was working before,so i don’t understand exactly what was the problem.

If you put

glxinfo | grep “OpenGL renderer”

It should output the intel card,and when you put the prime-run command at the beginning,it should output the nvidia card,meaning its working,so in steam it should work with the launch options prime-run %command% to run the game with the nvidia card.

Correct. I was previously using prime-run, but that wasn’t working and the wiki mentioned DRI_PRIME=1. Either option yields the same result. Either the process dies immediately, or runs but no window opens, and can only be stopped by forcing it in HTOP. This depends on what I’ve implemented or reverted, but so far has always been one of the two results.

Can you provide us with following logs?

Maybe your card doesn’t support Vulkan and thats the reason the game fails to launch?,try installing vulkan-tools and do a test to see if vulkan is working properly,apply this command

pamac install vulkan-tools && vkcube

this install the vulkan tools and then execute a cube made in vulkan,if the cube displays properly then its working.

I have the logs, but I can’t share links. Do you want the whole things here? It’s a lot of text

put your link in a </>code</> block with the corresponding button this way you can bypass the system and share link.

What @omano said, or you can use pastebin e. g.

I have them all in a centralized folder. Here you go

I’m not to good at parsing logs, but it does look like it tried to load my iGPU when using prime-run rather than my discreet GPU.

Sorry, I didn’t tag you in the last post. I hope you can look through the logs when you have time. I appreciate your help.

Intel mode runs VKCube smoothly, but has a rainbow-gradient instead of the texture in your screenshot.
Nvidia mode runs it with short but frequent hangs of the entire screen, same rainbow-gradient.

According to Nvidia, the 960m (Maxwell core) supports Vulcan. I also never had a problem running these games on Windows.

Edit: Looks like it’s stuck on Nvidia, so what I said about Intel is false. Switching to Nvidia to test did require me to run the command twice to actually make the switch (though Xorg restarted both time, it stayed on Intel the first time), and switching back didn’t work. Now it won’t switch to Intel complaining that the Nvidia module is in use. What the hell is going on here?

The majority of Windows game runs with DirectX and not with Vulkan,here en Linux you need Vulkan in order to do a translate the DirectX to Vulkan in order to run the games properly.

I’m a little lost about the problem of switching,did you apply this settings just to be sure? A guide to power management options · Askannz/optimus-manager Wiki · GitHub

Also i don’t undestand how it managed to work with Arch but is not working in Manjaro. :thinking:

I don’t know why Optimus-Manager wasn’t working, but I uninstalled it and launch with prime-run and it seems so be working on my Nvidia card, though I’m not sure how to confirm it. My issue now seems to be related to one of the games, as others are now successfully launching. I unfortunately have no idea how to parse a stack trace, so I can’t tell which module is crashing the program.

You can type nvidia-smi to see what process are running with your nvidia card.