msxmine / SI2DSU

SteamInput to DSU wrapper
23 stars 2 forks source link

Linux support? #5

Open PowerUser64 opened 3 years ago

PowerUser64 commented 3 years ago

I followed your install guide on Linux, doing things with Proton, but it did not work. What I am trying to do is launch Yuzu, using wine's start command: start /unix /usr/bin/yuzu. How feasible would Linux compatibility be? Another thing I'll try is installing steam in wine and following your guide from there, which I think has a better chance of succeeding, but native support would be ideal.

Edit: Steam doesn't work very well in wine. SIDSU launched my scraficial game, but then steam mysteriously broke after that.

msxmine commented 3 years ago

I will work on it. I spend 99% of my time in linux anyway. In the meantime, did you try running the windows version of yuzu? I wonder if Steam(Linux)->Proton->SI2DSU(Win32)->Yuzu(Win32) would work.

PowerUser64 commented 3 years ago

I just tried Steam(Linux)->Proton->SI2DSU(Win32)->Yuzu(Win32), but I think I got the setup mixed up. I'm not sure if I understand how SIDSU works. Assuming we are on windows, here is how I think it works:

                       ┌───────┐
                       │ Steam │
                       └┬─────┬┘
                        │     │
┌───────────────────────▼┐   ┌▼────────────────────────────────────┐
│ SIDSU (non-steam game) │   │ Sacrificial Game (but really sidsu) │
└─────────────────────┬──┘   └──┬──────────────────────────────────┘
                      │         │
                     ┌▼─────────▼┐
                     │ sidsu.exe │
                     └┬─────────┬┘
                      │         │
    ┌─────────────────▼──┐   ┌──▼──────────────────────┐
    │ DSU Server enabled │   │ Actual Sacrificial Game │
    └─────────────────┬──┘   └─────────────────────────┘
                      │
       ┌──────────────▼────────────────┐
       │           Emulator            │
       │ (with launch opts from steam) │
       └───────────────────────────────┘

What purpose does the sacrificial game hold? Is it not possible to get steaminput to a non-steam game? If it is, would it not be possible to structure it like this?

                       ┌───────┐
                       │ Steam │
                       └───┬───┘
                           │
               ┌───────────▼────────────┐
               │ SIDSU (non-steam game) │
               └───────────┬────────────┘
                           │
                 ┌─────────▼──────────┐
                 │ DSU Server Enabled │
                 └─────────┬──────────┘
                           │
      ┌────────────────────▼─────────────────────┐
      │                 Emulator                 │
      │ (command args specified in SIDSU config) │
      └──────────────────────────────────────────┘

Would you mind explaining to me how it's supposed to work?

msxmine commented 3 years ago

You basically got it right. The whole sacrificial game setup is because of SteamInput API limitation. It's not possible to get button and analog values without Steam thinking you are a game from their store AFAIK. You need to call GetDigitalActionHandle , which as an argument takes an action name from the "In-game action file". That file is either provided at the game publishing site and downloaded by steam, or placed in the steam install directory at controller_config/game_actions_APPID.vfd for debugging purposes. The problem is that even then Steam is very picky. From what I remember from my testing the APPID needs to be from a real published game. The temporary random UUIDs Steam gives to non-steam shortcuts don't work. Also, steam needs to think it's launching the real game executable. Steamworks has another developer feature, where if you place steam_appid.txt next to your executable, you can have steam recognize it as the target game. That seems to work for everything EXCEPT loading controller configs for whatever reason.

Anyway, as DSU is mostly used for motion data, which you CAN get without that binding file, I plan on adding installation instructions for the type of setup in your second diagram, where sidsu.exe can be placed anywhere and you don't need to mess with steam. You won't get buttons/analogs via DSU but so far the only client that requires it is vanilla Cemu. Dolphin and Cemuhook can do multiple controller APIs at the same time and Citra can actually only work that way.

msxmine commented 3 years ago

So basically it goes like this:

And when you run the sacrificial game normally from steam:

msxmine commented 3 years ago

When the linux port is finished you should be able to go:

Steam (linux) -> SI2DSU(linux) -> emulator(linux)

and

Steam(linux) -> SI2DSU(linux) -> Proton -> emulator(windows)

msxmine commented 3 years ago

As for why I even made this:

PowerUser64 commented 3 years ago

Wow, thanks for the thorough explanation, I understand now. Maybe some of these things should go in the readme? Might help prevent confusion.

msxmine commented 3 years ago

linux.zip Here is a linux build for testing. The setup without a sacrificial game is not posssible after all. Steam only updates the values returned by the API when a store-bought game is running.

PowerUser64 commented 3 years ago

Thanks for your work! I followed the guide again and marked things as executable, but unfortunately, I got this string of errors. I'm running manjaro linux, and using Deathmatch Classic (appid 40) as my doner. Any ideas?

Could not load local selection (), local override (/home/user/.local/share/Steam//controller_config/app_2480205866.vdf), or user path (/home/user/.local/share/Steam/userdata/440194009/config/controller_configs/app_2480205866.vdf), checking last resort path: /home/user/.local/share/Steam//controller_base/templates/controller_switch_pro_gamepad_joystick.vdf
Loaded Config for Last Resort Path for App ID -1814761430, Controller 0: /home/user/.local/share/Steam//controller_base/templates/controller_switch_pro_gamepad_joystick.vdf
GameAction [AppID 2480205866, ActionID 10] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 2480205866, ActionID 10] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 2480205866, ActionID 10] : LaunchApp waiting for user response to CreatingProcess ""
GameAction [AppID 2480205866, ActionID 10] : LaunchApp continues with user response "CreatingProcess"
/bin/sh\0-c\0/home/user/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=2480205866 -- "/home/user/.local/share/Steam/steamapps/common/Half-Life/hl.sh"\0
Game update: AppID 0 "hl.sh", ProcID 137003, IP 0.0.0.0:0
ERROR: ld.so: object '/home/user/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
GameAction [AppID 2480205866, ActionID 10] : LaunchApp changed task to Completed with ""
ERROR: ld.so: object '/home/user/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/user/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Path to parameter file "/tmp/dsuparams.txt"
Trying to load settings 
loaded 0 parameters from file
ERROR: ld.so: object '/home/user/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 137006 != 137005, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/user/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/user/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
Error:libsteam_api.so: cannot open shared object file: No such file or directory
Could not load hw.so.
Please try again at a later time.>>> Adding process 137003 for game ID 33554432

(steam:134013): Gtk-WARNING **: 00:51:59.898: gtk_disable_setlocale() must be called before gtk_init()

(steam:134013): GLib-CRITICAL **: 00:51:59.898: unquote_string_inplace: assertion 'err == NULL || *err == NULL' failed
>>> Adding process 137004 for game ID 33554432
>>> Adding process 137005 for game ID 33554432

(steam:134013): Gtk-WARNING **: 00:51:59.940: gtk_disable_setlocale() must be called before gtk_init()

(steam:134013): GLib-CRITICAL **: 00:51:59.940: unquote_string_inplace: assertion 'err == NULL || *err == NULL' failed
>>> Adding process 137007 for game ID 33554432
>>> Adding process 137008 for game ID 33554432
Game removed: AppID 0 "hl.sh", ProcID 137003 
Uploaded AppInterfaceStats to Steam
msxmine commented 3 years ago

Ok, so most of those errors are from steam and don't matter. I can see that SI2DSU did run, but did not find "-dsumode" as its first argument, and so went into the mode of trying to launch the sacrificial game from "dsu" subdirectory. Can you say exactly where you placed the Si2Dsu binary, and what steam shortcut did you use? Also, Deathmatch Classic in particular could not work that well. From that log, it seems that Steam is running "Half-Life/hl.sh" and not a standalone binary. Did you rename si2dsu to "hl.sh"? Valve/Source games often have weird quirks / share assets on steam. You can use freeToPlay games just fine. Appid 1289310 is a free indie game with a linux build, or Appid 480 is a SteamWorks SDK Demo that all steam account own. Also you may want to look at the process tree (ps f)

PowerUser64 commented 3 years ago

To simplify the process of installing this, I wrote a shell script. If you run this command, the script will give you a list of commands that it will run to install Si2DSU.

./sidsu-install.sh -z ~/Downloads/linux.zip -i 1289310 -g ~/.local/share/Steam/steamapps/common/Helltaker/helltaker_lnx.x86_64 -t /usr/bin/yuzu -r

For me, the list of commands looks something like this:

# ./sidsu-install.sh: detected steam apps directory at '/home/user/.local/share/Steam/steamapps'
# ./sidsu-install.sh: detected game install directory at '/home/user/.local/share/Steam/steamapps/common/Helltaker'
mv /home/user/.local/share/Steam/steamapps/common/Helltaker /home/user/.local/share/Steam/steamapps/common/AppID_1289310-tmp-AppID_1289310
mkdir -p /home/user/.local/share/Steam/steamapps/common/Helltaker
mv /home/user/.local/share/Steam/steamapps/common/AppID_1289310-tmp-AppID_1289310 /home/user/.local/share/Steam/steamapps/common/Helltaker/dsu
mkdir /tmp/Si2DSU-tmp-AppID_1289310
cd /tmp/Si2DSU-tmp-AppID_1289310
mv /tmp/Si2DSU-tmp-AppID_1289310/libsteam_api.so /home/user/.local/share/Steam/steamapps/common/Helltaker
mv /tmp/Si2DSU-tmp-AppID_1289310/sidsu /home/user/.local/share/Steam/steamapps/common/Helltaker/helltaker_lnx.x86_64
cat <<-EOF >> "/home/user/.local/share/Steam/steamapps/common/Helltaker/dsusettings.txt"
   /usr/bin/yuzu
   1289310
EOF
mv /tmp/Si2DSU-tmp-AppID_1289310/game_actions_480.vdf /home/user/.local/share/Steam/steamapps/../controller_config/game_actions_1289310.vdf
rm -rf /tmp/Si2DSU-tmp-AppID_1289310

# Done!
# Now, go to steam and add a non-steam game and paste this file path in as the file:
#   /home/user/.local/share/Steam/steamapps/common/Helltaker/helltaker_lnx.x86_64
# (remember to change the file type to accept all types)

However, when I add the non-steam game that points to Si2DSU, it launches AppID 1289310 instead of /usr/bin/yuzu. Could you tell me what I'm doing wrong, so I can fix it?

Here's the script: si2dsu-install.zip

msxmine commented 3 years ago

The commands look ok. Please screenshot the Steam shortcut properties window for Helltaker and your emulator. Maybe there are missing quotation marks or you have not added "-dsumode" (with one dash) as the first argument? Here are some examples: superhexagon splatoon galaxy

msxmine commented 3 years ago

Other possibilities are that /tmp is not user-writeable or that steam adds more hidden arguments before "-dsumode", but neither of those sound likely.

Raupinger commented 2 years ago

Ok, i tried this and after using steam-native it does actually launch the emulator. If i dont give dolphin a file to play, it prints this help messange

Opted-in Controller Mask for AppId 3196096735: 8
GameAction [AppID 3196096735, ActionID 1] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 3196096735, ActionID 1] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 3196096735, ActionID 1] : LaunchApp waiting for user response to CreatingProcess ""
GameAction [AppID 3196096735, ActionID 1] : LaunchApp continues with user response "CreatingProcess"
/bin/sh\0-c\0/home/florian/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=3196096735 -- "/home/florian/.local/share/Steam/steamapps/common/Helltaker/helltaker_lnx.x86_64" -dsumode\0
Game process added : AppID 0 "/home/florian/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=3196096735 -- "/home/florian/.local/share/Steam/steamapps/common/Helltaker/helltaker_lnx.x86_64" -dsumode", ProcID 31408, IP 0.0.0.0:0
chdir /home/florian/.local/share/Steam/steamapps/common/Helltaker/
GameAction [AppID 3196096735, ActionID 1] : LaunchApp changed task to Completed with ""
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Path to parameter file "/tmp/dsuparams.txt"
Trying to load settings 
loaded 0 parameters from file
Launched with 1 arguments
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Path to parameter file "/tmp/dsuparams.txt"
Trying to load settings 
loaded 1 parameters from file
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.

(steam:31065): Gtk-WARNING **: 15:10:20.432: gtk_disable_setlocale() must be called before gtk_init()

(steam:31065): GLib-CRITICAL **: 15:10:20.432: unquote_string_inplace: assertion 'err == NULL || *err == NULL' failed

(steam:31065): Gtk-WARNING **: 15:10:20.443: gtk_disable_setlocale() must be called before gtk_init()

(steam:31065): GLib-CRITICAL **: 15:10:20.443: unquote_string_inplace: assertion 'err == NULL || *err == NULL' failed
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 31412 != 31411, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 31415 != 31411, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 31421 != 31411, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 31420 != 31411, skipping destruction (fork without exec?)
pid 31419 != 31411, skipping destruction (fork without exec?)
pid 31424 != 31411, skipping destruction (fork without exec?)
pid 31423 != 31411, skipping destruction (fork without exec?)
pid 31418 != 31411, skipping destruction (fork without exec?)
pid 31426 != 31411, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 31425 != 31411, skipping destruction (fork without exec?)
pid 31429 != 31411, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 31428 != 31411, skipping destruction (fork without exec?)
pid 31432 != 31411, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 31431 != 31411, skipping destruction (fork without exec?)
pid 31436 != 31411, skipping destruction (fork without exec?)
pid 31435 != 31411, skipping destruction (fork without exec?)
pid 31434 != 31411, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 31440 != 31411, skipping destruction (fork without exec?)
pid 31439 != 31411, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 31466 != 31411, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 31465 != 31411, skipping destruction (fork without exec?)
pid 31464 != 31411, skipping destruction (fork without exec?)
pid 31469 != 31411, skipping destruction (fork without exec?)
pid 31468 != 31411, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 31470 != 31411, skipping destruction (fork without exec?)
pid 31463 != 31411, skipping destruction (fork without exec?)
steam.sh[31411]: Running Steam on manjarolinux 21.2.0 64-bit
steam.sh[31411]: STEAM_RUNTIME is disabled by the user
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 31472 != 31411, skipping destruction (fork without exec?)
pid 31487 != 31411, skipping destruction (fork without exec?)
steam.sh[31411]: Can't find 'steam-runtime-check-requirements', continuing anyway
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ExecCommandLine: "'/home/florian/.local/share/Steam/ubuntu12_32/steam' 'steam://run/1289310'"
ExecuteSteamURL: "steam://run/1289310"
GameAction [AppID 1289310, ActionID 2] : LaunchApp changed task to ProcessingInstallScript with ""
GameAction [AppID 1289310, ActionID 2] : LaunchApp changed task to SynchronizingControllerConfig with ""
Game process removed: AppID 0 "/home/florian/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=3196096735 -- "/home/florian/.local/share/Steam/steamapps/common/Helltaker/helltaker_lnx.x86_64" -dsumode", ProcID 31408 
Uploaded AppInterfaceStats to Steam

(steam:31065): Gtk-WARNING **: 15:10:21.410: gtk_disable_setlocale() must be called before gtk_init()

(steam:31065): GLib-CRITICAL **: 15:10:21.410: unquote_string_inplace: assertion 'err == NULL || *err == NULL' failed
Opted-in Controller Mask for AppId 1289310: 8
GameAction [AppID 1289310, ActionID 2] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 1289310, ActionID 2] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 1289310, ActionID 2] : LaunchApp waiting for user response to CreatingProcess ""
GameAction [AppID 1289310, ActionID 2] : LaunchApp continues with user response "CreatingProcess"
/bin/sh\0-c\0/home/florian/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=1289310 -- '/home/florian/.local/share/Steam/steamapps/common/Helltaker/helltaker_lnx.x86_64' -dsumode\0
Game process added : AppID 1289310 "/home/florian/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=1289310 -- '/home/florian/.local/share/Steam/steamapps/common/Helltaker/helltaker_lnx.x86_64' -dsumode", ProcID 31489, IP 0.0.0.0:0
chdir /home/florian/.local/share/Steam/steamapps/common/Helltaker
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
GameAction [AppID 1289310, ActionID 2] : LaunchApp changed task to WaitingGameWindow with ""
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Path to parameter file "/tmp/dsuparams.txt"
Trying to load settings 
loaded 1 parameters from file
Launched with 1 arguments
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
GameAction [AppID 1289310, ActionID 2] : LaunchApp changed task to Completed with ""
Path to parameter file "/tmp/dsuparams.txt"
Trying to load settings 
loaded 1 parameters from file
Steam API restart not necessary
Starting target emulator
Failed to launch client
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Usage: dolphin-emu-nogui [options]... [FILE]...

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -u USER, --user=USER  User folder path
  -m MOVIE, --movie=MOVIE
                        Play a movie file
  -e <file>, --exec=<file>
                        Load the specified file
  -n <16-character ASCII title ID>, --nand_title=<16-character ASCII title ID>
                        Launch a NAND title
  -C <System>.<Section>.<Key>=<Value>, --config=<System>.<Section>.<Key>=<Value>
                        Set a configuration option
  -s <file>, --save_state=<file>
                        Load the initial save state
  -v VIDEO_BACKEND, --video_backend=VIDEO_BACKEND
                        Specify a video backend
  -a AUDIO_EMULATION, --audio_emulation=AUDIO_EMULATION
                        Choose audio emulation from [HLE|LLE]
  -p PLATFORM, --platform=PLATFORM
                        Window platform to use [headless|fbdev|x11]
Game process removed: AppID 1289310 "/home/florian/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=1289310 -- '/home/florian/.local/share/Steam/steamapps/common/Helltaker/helltaker_lnx.x86_64' -dsumode", ProcID 31489 
Uploaded AppInterfaceStats to Steam
No cached sticky mapping in ActivateActionSet.

adding an iso to the dolphin command in dsusettings.txt:

GameAction [AppID 3196096735, ActionID 3] : LaunchApp changed task to SynchronizingControllerConfig with ""

(steam:31065): Gtk-WARNING **: 15:12:18.456: gtk_disable_setlocale() must be called before gtk_init()

(steam:31065): GLib-CRITICAL **: 15:12:18.457: unquote_string_inplace: assertion 'err == NULL || *err == NULL' failed
GameAction [AppID 3196096735, ActionID 3] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 3196096735, ActionID 3] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 3196096735, ActionID 3] : LaunchApp waiting for user response to CreatingProcess ""
GameAction [AppID 3196096735, ActionID 3] : LaunchApp continues with user response "CreatingProcess"
/bin/sh\0-c\0/home/florian/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=3196096735 -- "/home/florian/.local/share/Steam/steamapps/common/Helltaker/helltaker_lnx.x86_64" -dsumode\0
Game process added : AppID 0 "/home/florian/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=3196096735 -- "/home/florian/.local/share/Steam/steamapps/common/Helltaker/helltaker_lnx.x86_64" -dsumode", ProcID 31537, IP 0.0.0.0:0
chdir /home/florian/.local/share/Steam/steamapps/common/Helltaker/
GameAction [AppID 3196096735, ActionID 3] : LaunchApp changed task to Completed with ""
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Path to parameter file "/tmp/dsuparams.txt"
Trying to load settings 
loaded 0 parameters from file
Launched with 1 arguments
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.

(steam:31065): Gtk-WARNING **: 15:12:18.902: gtk_disable_setlocale() must be called before gtk_init()

(steam:31065): GLib-CRITICAL **: 15:12:18.902: unquote_string_inplace: assertion 'err == NULL || *err == NULL' failed
Path to parameter file "/tmp/dsuparams.txt"
Trying to load settings 
loaded 1 parameters from file
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.

(steam:31065): Gtk-WARNING **: 15:12:18.930: gtk_disable_setlocale() must be called before gtk_init()

(steam:31065): GLib-CRITICAL **: 15:12:18.930: unquote_string_inplace: assertion 'err == NULL || *err == NULL' failed
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 31546 != 31541, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 31550 != 31541, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 31556 != 31541, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 31555 != 31541, skipping destruction (fork without exec?)
pid 31554 != 31541, skipping destruction (fork without exec?)
pid 31559 != 31541, skipping destruction (fork without exec?)
pid 31558 != 31541, skipping destruction (fork without exec?)
pid 31553 != 31541, skipping destruction (fork without exec?)
pid 31561 != 31541, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 31560 != 31541, skipping destruction (fork without exec?)
pid 31564 != 31541, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 31563 != 31541, skipping destruction (fork without exec?)
pid 31567 != 31541, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 31566 != 31541, skipping destruction (fork without exec?)
pid 31571 != 31541, skipping destruction (fork without exec?)
pid 31570 != 31541, skipping destruction (fork without exec?)
pid 31569 != 31541, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 31575 != 31541, skipping destruction (fork without exec?)
pid 31574 != 31541, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 31597 != 31541, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 31596 != 31541, skipping destruction (fork without exec?)
pid 31595 != 31541, skipping destruction (fork without exec?)
pid 31600 != 31541, skipping destruction (fork without exec?)
pid 31599 != 31541, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 31601 != 31541, skipping destruction (fork without exec?)
pid 31594 != 31541, skipping destruction (fork without exec?)
steam.sh[31541]: Running Steam on manjarolinux 21.2.0 64-bit
steam.sh[31541]: STEAM_RUNTIME is disabled by the user
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 31603 != 31541, skipping destruction (fork without exec?)
pid 31618 != 31541, skipping destruction (fork without exec?)
steam.sh[31541]: Can't find 'steam-runtime-check-requirements', continuing anyway
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ExecCommandLine: "'/home/florian/.local/share/Steam/ubuntu12_32/steam' 'steam://run/1289310'"
ExecuteSteamURL: "steam://run/1289310"
GameAction [AppID 1289310, ActionID 4] : LaunchApp changed task to ProcessingInstallScript with ""
GameAction [AppID 1289310, ActionID 4] : LaunchApp changed task to SynchronizingControllerConfig with ""
Game process removed: AppID 0 "/home/florian/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=3196096735 -- "/home/florian/.local/share/Steam/steamapps/common/Helltaker/helltaker_lnx.x86_64" -dsumode", ProcID 31537 
Uploaded AppInterfaceStats to Steam

(steam:31065): Gtk-WARNING **: 15:12:19.824: gtk_disable_setlocale() must be called before gtk_init()

(steam:31065): GLib-CRITICAL **: 15:12:19.824: unquote_string_inplace: assertion 'err == NULL || *err == NULL' failed
GameAction [AppID 1289310, ActionID 4] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 1289310, ActionID 4] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 1289310, ActionID 4] : LaunchApp waiting for user response to CreatingProcess ""
GameAction [AppID 1289310, ActionID 4] : LaunchApp continues with user response "CreatingProcess"
/bin/sh\0-c\0/home/florian/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=1289310 -- '/home/florian/.local/share/Steam/steamapps/common/Helltaker/helltaker_lnx.x86_64' -dsumode\0
Game process added : AppID 1289310 "/home/florian/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=1289310 -- '/home/florian/.local/share/Steam/steamapps/common/Helltaker/helltaker_lnx.x86_64' -dsumode", ProcID 31620, IP 0.0.0.0:0
chdir /home/florian/.local/share/Steam/steamapps/common/Helltaker
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
GameAction [AppID 1289310, ActionID 4] : LaunchApp changed task to WaitingGameWindow with ""
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Path to parameter file "/tmp/dsuparams.txt"
Trying to load settings 
loaded 1 parameters from file
Launched with 1 arguments
ERROR: ld.so: object '/home/florian/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
GameAction [AppID 1289310, ActionID 4] : LaunchApp changed task to Completed with ""
Path to parameter file "/tmp/dsuparams.txt"
Trying to load settings 
loaded 1 parameters from file
Steam API restart not necessary
Starting target emulator
Failed to launch client
terminate called after throwing an instance of 'std::filesystem::__cxx11::filesystem_error'
  what():  filesystem error: cannot set current path: No such file or directory
Game process removed: AppID 1289310 "/home/florian/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=1289310 -- '/home/florian/.local/share/Steam/steamapps/common/Helltaker/helltaker_lnx.x86_64' -dsumode", ProcID 31620 
Uploaded AppInterfaceStats to Steam
No cached sticky mapping in ActivateActionSet.

i also tried glxgears and supertuxcart but they give me the same 'std::filesystem::__cxx11::filesystem_error'

Raupinger commented 2 years ago

i also manually created the controller_configs directory

Raupinger commented 2 years ago

Ok, i found a really awkward workaround to use a native linux dsu client with SI2DSU. I pretty much requires two monitors:

  1. install a sacrificial game through proton
  2. Set up SI2DSU like you would on windows but dont enter a client in dsusettings.txt yet
  3. download a windows 3D application (i picked this godot sample game)
  4. enter the location of that executable in dsusettings.txt. The Linux hosts root directory is mounted at Z:\
  5. before launching the game set up a controller mapping in steam.
  6. launch your native linux client, do all the setup (like internal controller mapping) you have to do now and launch your game.
  7. launch the sacrificial game game through proton and keep the window focused. As long as the game is focused any inputs will be redirected to the emulator.
cipitaua commented 2 years ago

Hello. I've started using steam-link from my Samsung (tizen) TV to my linux pc, but only in desktop mode. I have no games installed in steam, instead I use it just to stream audio+video to the TV, and to stream data from my Switch Pro controller (connected to TV via bluetooth) to PC. I noticed that for the latter operation steam creates on my PC an input device defined as an xbox 360 controller. Is there any way to get cemuhook data from it? I ideally would not like to run games in steam. Thank you.