You are not logged in.
Hello,
I don't know if I'm posting in the right place or if I should be multi-posting but perhaps this whole thing can prove useful.
note 1: I'm using i3-wm and have set up nvidia-xrun correctly for my hybrid graphics laptop.
note 2: I know dmenu is a single and different question but I'm also having a hard time understanding the PATH idea.
Here is what I need your help for:
-First: launching steam.exe with dmenu
-Last: launching a game with fixed taskset or schedtool arguments with dmenu (through steam / without calling the game.exe directly)
(is it possible to have steam running in the igpu / first tty and the game in the xrun session?)
Sorry for my english and thank you for your help.
Edit: Solved in #11 . Almost full credit goes to 29jm
Last edited by pabulum (2017-10-10 20:23:31)
Offline
Dmenu doesn't launch programs, did you mean dmenu_run?
You need to create a script the launches the game (and includes your taskset/schedtool requirements) and put it somewhere in your PATH for it to be picked up my dmenu_run.
Offline
Thank you, I did a successful test with
/usr/bin/teststeam
#!/bin/sh
cd ~/.wine/drive_c/Steam
wine Steam.exe
Now the question is: how do I run a game through Steam.exe the same way?
I mean, not with
wine game.exe
but with its AppID? This way steam would know I'm playing the game and would be able to sync my savegames.
(I'm also interested to learn how to do that with steam for linux since I can't create a desktop shortcut for obscure reasons)
Offline
https://developer.valvesoftware.com/wik … rameters_3
Specifically: -applaunch <appId>
I do not know if the same argument also works on the Linux Steam client, never tried/used it.
Last edited by Omar007 (2017-10-10 12:50:16)
Offline
Thank you, it will help.
Maybe I've misspoken because I want to use some schedtool arguments for a game.exe, not for Steam.exe .
And I can't imagine Steam.exe giving shedtool commands to linux through wine. But maybe it can?
I hope you can see what I mean or what I don't understand.
Offline
A solution would be to catch the game.exe's PID when it launches then e.g.:
taskset -cp 0 <game.exe's PID>
But how do I catch it? (Sorry for the double post)
Last edited by pabulum (2017-10-10 14:08:15)
Offline
You shouldn't put files in /usr/bin that aren't being tracked by pacman.
Either put them in /usr/local/bin or somewhere in your home folder that's in your PATH - I use ~/bin which is added to PATH by my shell config.
Offline
With:
/usr/local/bin/witcher3 (thanks, got it)
#!/bin/sh
cd /PathToTheWitcher3exeFolder/
wine witcher3.exe &
sleep 1
taskset -cp 0 $!
I can get witcher3.exe to run on 1 core.
But Steam.exe doesn't see it running and that is The problem.
Offline
Does replacing...
cd /PathToTheWitcher3exeFolder/
wine witcher3.exe &
with...
wine /path/to/Steam.exe --applaunch <witcher3appid> &
not do what you want?
Offline
It doesn't (even launch the game) but I've created a desktop shortcut from steam then wrote this one:
/usr/local/bin/witcher3
#!/bin/sh
Exec=env WINEPREFIX="/home/username/.wine" /usr/bin/wine C:\\\\windows\\\\command\\\\start.exe steam://rungameid/292030 &
sleep 1
taskset -cp 0 $!
Wich does make the game running from steam but doesn't set the affinity.
Offline
Problem solved:
#!/bin/sh
Exec=env WINEPREFIX="/home/username/.wine" /usr/bin/wine C:\\\\windows\\\\command\\\\start.exe steam://rungameid/292030 &
sleep 5
taskset -cp 0 $(pgrep witcher3.exe)
Next step:
taskset -cp 1-7 <everything else>
Offline
Next step:
taskset -cp 1-7 <everything else>
Also solved by adding
isolcpus=0
at the end of the options line in /boot/loader/entries/arch.conf
But it is recommended to isolate any thread you want but 0 because there is stuff stuck on this one.
Offline