Streaming citra from Linux using steam - no success

Issue:
Enter a description of your issue here, in full detail.

For a while, I have been met with no success in streaming Citra on a Linux (Linux Mint 20.3 build) box, using Steam remote play. I created a “Add non-game to steam”, chose Citra - yet the receiving machine only shows a dark, blank screen with the streaming circle not showing anything.

Steam is able to stream between the Host and Client from other games installed on the host machine, (such as Yuzu) so it isn’t a hardware encoding / decoding issue between the host and client.

What I would like to attempt is…

  1. Create a shortcut template through steam, which would cue Citra to autoload a respected .CSS (or .CIA) file in fullscreen mode, to see if that would trigger the streaming client. I could then add the “shortcut” created in Linux as a ‘non steam game’ on the linux host.

***UPDATE: With Linux, under steams “Launch” command, add the directory the .cia or .css file is located in. For example: ***

run --branch=stable --arch=x86_64 --command=citra-qt --file-forwarding org.citra_emu.citra /home/games/pokemonx.ccs

pokemonx.ccs is the .ccs file I had extracted, and placed in my /home/games/ directory. This command auto-launches pokemonx.ccs on the host. Unfortunately, it does not “trigger” steam to encode a signal to stream to a client.

This was for the Flatpack Distro install that was available on the Citra website. I cannot comment on whether it is the same if you use a snap install, or compile it yourself.

  1. If that fails, try to ascertain why Citra seems to be the oddball program that fails to stream in - or show the main ROM selection window. Less elegant, but if it works, that would be great. Oddly enough - this works with Yuzu, but not Citra.

System Information
(First CPU tested)

  • Operating System: Linux Mint 20.3
  • CPU: Intel Core I5 2500k
  • GPU: AMD 580
  • Citra Version (found in title bar): Nightly 1711
  • Game: All
  • Screenshot of Issue (include the full Citra window including title bar):
    • Picture of a black screen / unable to stream on client computer.

System Information
(Second CPU tested)

  • Operating System: Linux Mint 20.3
  • CPU: AMD Ryzen 3600
  • GPU: AMD 5700xt
  • Citra Version: Nightly 1711
  • Game: All
  • Screenshot of Issue (include the full Citra window including title bar):
    • Picture of a black screen / unable to stream on client computer.

Diagnostic Log
No log to update, as no error is produced.

Thanks all for your time - I appreciate it.

In order for us to provide better support, we need to see the log generated by Citra. This guide will walk you through how you can obtain the log file: How to Upload the Log File.

If this helps, these are the parameters I have as for Citra, within steam.

TARGET
“/usr/bin/flatpak”

START IN
“/usr/bin/”

LAUNCH OPTIONS
run --branch=stable --arch=x86_64 --command=citra-qt --file-forwarding org.citra_emu.citra

As requested, here is a copy of the log file.

[ 0.001263] Config core/settings.cpp:LogSettings:78: Citra Configuration:
[ 0.001268] Config core/settings.cpp:operator():75: Core_UseCpuJit: true
[ 0.001268] Config core/settings.cpp:operator():75: Core_CPUClockPercentage: 100
[ 0.001269] Config core/settings.cpp:operator():75: Renderer_UseGLES: false
[ 0.001270] Config core/settings.cpp:operator():75: Renderer_UseHwRenderer: true
[ 0.001270] Config core/settings.cpp:operator():75: Renderer_UseHwShader: true
[ 0.001270] Config core/settings.cpp:operator():75: Renderer_SeparableShader: false
[ 0.001271] Config core/settings.cpp:operator():75: Renderer_ShadersAccurateMul: true
[ 0.001271] Config core/settings.cpp:operator():75: Renderer_UseShaderJit: true
[ 0.001272] Config core/settings.cpp:operator():75: Renderer_UseResolutionFactor: 3
[ 0.001273] Config core/settings.cpp:operator():75: Renderer_FrameLimit: 100
[ 0.001273] Config core/settings.cpp:operator():75: Renderer_UseFrameLimitAlternate: false
[ 0.001273] Config core/settings.cpp:operator():75: Renderer_FrameLimitAlternate: 200
[ 0.001274] Config core/settings.cpp:operator():75: Renderer_VSyncNew: true
[ 0.001274] Config core/settings.cpp:operator():75: Renderer_PostProcessingShader: none (builtin)
[ 0.001275] Config core/settings.cpp:operator():75: Renderer_FilterMode: true
[ 0.001275] Config core/settings.cpp:operator():75: Renderer_TextureFilterName: Anime4K Ultrafast
[ 0.001276] Config core/settings.cpp:operator():75: Stereoscopy_Render3d: 0
[ 0.001276] Config core/settings.cpp:operator():75: Stereoscopy_Factor3d: 0
[ 0.001277] Config core/settings.cpp:operator():75: Layout_LayoutOption: 2
[ 0.001277] Config core/settings.cpp:operator():75: Layout_SwapScreen: false
[ 0.001278] Config core/settings.cpp:operator():75: Layout_UprightScreen: false
[ 0.001278] Config core/settings.cpp:operator():75: Utility_DumpTextures: false
[ 0.001279] Config core/settings.cpp:operator():75: Utility_CustomTextures: false
[ 0.001279] Config core/settings.cpp:operator():75: Utility_UseDiskShaderCache: true
[ 0.001280] Config core/settings.cpp:operator():75: Audio_EnableDspLle: false
[ 0.001280] Config core/settings.cpp:operator():75: Audio_EnableDspLleMultithread: false
[ 0.001280] Config core/settings.cpp:operator():75: Audio_OutputEngine: auto
[ 0.001281] Config core/settings.cpp:operator():75: Audio_EnableAudioStretching: true
[ 0.001281] Config core/settings.cpp:operator():75: Audio_OutputDevice: auto
[ 0.001282] Config core/settings.cpp:operator():75: Audio_InputDeviceType: 0
[ 0.001282] Config core/settings.cpp:operator():75: Audio_InputDevice: Default
[ 0.001283] Config core/settings.cpp:operator():75: Camera_OuterRightName: blank
[ 0.001283] Config core/settings.cpp:operator():75: Camera_OuterRightConfig:
[ 0.001284] Config core/settings.cpp:operator():75: Camera_OuterRightFlip: 0
[ 0.001284] Config core/settings.cpp:operator():75: Camera_InnerName: blank
[ 0.001285] Config core/settings.cpp:operator():75: Camera_InnerConfig:
[ 0.001285] Config core/settings.cpp:operator():75: Camera_InnerFlip: 0
[ 0.001286] Config core/settings.cpp:operator():75: Camera_OuterLeftName: blank
[ 0.001286] Config core/settings.cpp:operator():75: Camera_OuterLeftConfig:
[ 0.001286] Config core/settings.cpp:operator():75: Camera_OuterLeftFlip: 0
[ 0.001287] Config core/settings.cpp:operator():75: DataStorage_UseVirtualSd: true
[ 0.001287] Config core/settings.cpp:operator():75: DataStorage_SdmcDir: /home/guigui/.var/app/org.citra_emu.citra/data/citra-emu/sdmc/
[ 0.001288] Config core/settings.cpp:operator():75: DataStorage_NandDir: /home/guigui/.var/app/org.citra_emu.citra/data/citra-emu/nand/
[ 0.001288] Config core/settings.cpp:operator():75

Slight update - changing the command field in steam, under:

run --branch=stable --arch=x86_64 --command=citra-qt --file-forwarding org.citra_emu.citra /home/games/pokemonx.ccs

Will auto-run the file pokemonx.css; unfortunately, as before, there is no streaming signal.

Of interest; having the host using a windows 7 build (executable) of Citra streams without issue - with the same streaming settings within steam.

(Only downside is that Citra uses OpenGL, and the graphic card in the host is AMD 580, hence the Linux option to take advantage of the much faster OpenGL Mesa driver).

Suspect it might be a build issue within the most recent Linux flatpack distro.

Thanks for your time.

Out of curiosity, for the other Citra community members; has anyone had success streaming Citra from a HOST linux machine, using steamlink?

Citra was tested with both machines running a Windows 7 / Windows 10 operating system with success, but not when the HOST is running Linux.