I am running Linux Mint/Cinnamon v21.2 on an ASUS TUF A16 2023 Edition Laptop (FA617NS). The laptop has:

  • Ryzen7 7735HS CPU (has i-GPU)
  • RX 7600S d-GPU
  • 32GB RAM
  • 2x 2TB M.2 SSD
  • 1920x1200 165hz display
  • USB4, displayport over USB-C, HDMI
  • Gigabit Ether, WI-FI 6

When I launch Steam it loads on the i-GPU. I installed Middle Earth: Shadow of Mordor using the Linux native option (not Proton) which uses Vulkan for rendering. It was suggested that I use the following launcher string (without quotes) in the Steam properties for the game: "DRI_PRIME=1 %command%". The game has an internal benchmark. In the game’s video settings the d-GPU is recognized as “Rembrandt” which is the same label shown in the inix report (inxi -Fx). However, when I run the benchmark it gives between 1 and 3 FPS. If I remove the launcher string from the Steam properties of the game, launch the game, and run the benchmark, the performance is so bad that it doesn’t render the benchmark.

The odd thing is that if I switch the game from Linux native to use Proton Experimental. The launcher string has no effect. I can run the game and its benchmark with Ultra settings and get between 140 and 150 FPS.

Does anyone understand what I’m doing wrong? How do I run games (especially Linux native/Vulkan) properly on the d-GPU without causing bad performance.

  • -BigBadBeef-@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    You have to understand that there is no rule of thumb when launching Windows games on Proton Linux or whatever. You have to resolve each on a case by case basis. Some Linux distros aren’t even officially supported on certain native Linux games, and many don’t even state it so.

    As for shadow of mordor, well, I used to play shadow of war, I had same tanking performance issues, I sort of had to coax them into working normally:

    • Firstly I didn’t use gamemode, it would apply gamemode to the launcher, thus draining system resources away from the game itself
    • Benchmark mode is completely broken in Linux.
    • Then I had to dabble around the graphics settings, mainly trying different vsync combinations and window modes
    • In the end, it settled so, that I had to disable vsync, launch it in borderless window mode, disable vulkan shader precaching then simply wait at spawn for all the textures to load in while slowly panning the camera 360˚, which took about 60 seconds.
    • After that the game stabilizes with a few short lasting stutters while fast travelling.

    Defer to the official proton page for tips as to how to get the game running best.

  • ialiazam@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    have you tried using the DRI_PRIME=1 %command% launcher string in Lutris instead of Steam? That might help with the dedicated GPU issue.

  • ghoultek@alien.topOPB
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    Update #2:

    As a test I installed Manjaro KDE v23.0.4, did a full system update which brought the system up to v23.1.0. It has a v6.5.12-1 kernel, 23.1.9 mesa version. I installed Steam and Shadow of Mordor (Linux Native/Vulkan). The inxi report shows graphics device-1 as Navi 33 (7600S) which is the d-GPU, and device-2 as Rembrandt (680M) which is the i-GPU. I don’t even need “DRI_PRIME=1 %command%” inserted as a launcher string. The Feral launcher allows me to select the Vulkan render (7600S) before launching the game and it saves that selection. Even though the distro and CPU governor are not supported the game runs and gives me 170+ FPS with Ultra settings. In the video settings the 7600S d-GPU is recognized.

    I rebooted back to Mint/Cinnamon and saw there was an update. I did the update and rebooted. Its still Mint v21.2, with a v6.5.0-1008-oem kernel and v23.2.1 Mesa. I ran Steam and Shadow of Mordor. The Feral launcher offers a render selection of “Unknown with Vulkan (RADV - 23.2.1)”. I pick that and launch the game again without “DRI_PRIME=1 %command%”. The games video setting shows the display adapter as “AMD Unknown (RADV GFX 1102)”. I switched to the “Ultra” preset and the benchmark is giving 170+ FPS. It seems when I ran the game earlier and it picked up the display adapter as “Rembrandt” it was picking the i-GPU. Quite strange.