I am running Godot 4.3 on Linux on a laptop with an NVIDIA RTX3050 Ti latop that I can enable through NVIDIA prime-select. When I have this enabled (not on-demand mode), Blender and games launched through Steam have no issue using the NVIDIA card, but Godot still uses the integrated Intel chip.

Is there an easy way to force Godot to switch device?

EDIT: I didn’t get the Flatpak working, but instead running the executable downloaded from godotengine.org, it now works.

  • asudox@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    4 months ago

    According to this post, you can use the --gpu-index <index> argument to specify a GPU index Godot should use. Only possible if it’s using the Vulkan renderer.

    • cyberwolfieOP
      link
      fedilink
      arrow-up
      3
      ·
      4 months ago

      Thanks for the link. I tried running that, but it seems to fail loading the noveau-driver (I have the proprietary Nvidia-drivers installed, as far as I know I don’t have noveau installed). Does Godot in some way depend on using noveau, and can I install that alongside the proprietary drivers?

      This is the output from running with index 0 (as you can see, I’m using a Flatpak build, if that would make a difference?). Index 1 did not use the Nvidia-card, but rather llmvpipe or something (I’m guessing CPU-emulated card?), and that was extremely slow.

      Godot Engine v4.3.stable.flathub.77dcf97d8 - https://godotengine.org
      glx: failed to create dri3 screen
      failed to load driver: nouveau
      OpenGL API 4.6 (Core Profile) Mesa 24.1.3 (git-0c49f54c76) - Compatibility - Using Device: Intel - Mesa Intel(R) Graphics (ADL GT2)
      
      Editing project: /path/to/project
      Godot Engine v4.3.stable.flathub.77dcf97d8 - https://godotengine.org
      Vulkan 1.3.278 - Forward+ - Using Device #0: Intel - Intel(R) Graphics (ADL GT2)
      

      The second block is after loading the project where it switches to Vulkan from OpenGL.

      I’ll try the on-demand thing mention in the same post tomorrow, I’ve yet to ever try running that instead of either dGPU completely on or off.

      • asudox@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        4 months ago

        Are you sure you don’t have the open source drivers? Try removing it. Also could you tell me which distro you’re using?

        • cyberwolfieOP
          link
          fedilink
          arrow-up
          2
          ·
          4 months ago

          I thought I was sure, but I do have it installed it turns out:

          $ lspci -k
          
          01:00.0 3D controller: NVIDIA Corporation GA107M [GeForce RTX 3050 Ti Mobile] (rev a1)
                  Subsystem: Tongfang Hongkong Limited GA107M [GeForce RTX 3050 Ti Mobile]
                  Kernel driver in use: nvidia
                  Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
          

          Removing it would not cause me any trouble?

          I’m on Tuxedo OS 3.

        • cyberwolfieOP
          link
          fedilink
          arrow-up
          2
          ·
          4 months ago

          Ok, so something I should have tried immediately is using something other than the Flatpak build. Downloading the executable straight from godotengine.org worked fine.

          Would still be good if the Flatpak would work. Should maybe report this here?

          • asudox@programming.dev
            link
            fedilink
            arrow-up
            1
            ·
            4 months ago

            Glad it worked. Though it seems like none of the flatpaks are official, so reporting it to the Godot devs mean nothing.