HGL
national-gold
Heroic not requesting macOS for microphone permissions when game starts using microphone
Log files are below this message(sorry!).
When I try to activate the microphone for any application in this prefix within heroic, it fails to do so. I tried it within winecfg, and macOS does not give me the prompt to allow heroic to use the microphone. I even reset the permissions using and it still did not prompt me for it.
However, in Rocket League, when the game requests for the microphone to be used, it freezes for 5 seconds and then carries on, but without the microphone working as intended.
I use GPTK for the prefix.
On closer inspection of the logs, I think the following lines are responsible:
I have attached the heroic log and the Rocket League log to this post.
Microphone permission requests to macOS work fine with Whisky and it's version of GPTK, so I'm not sure if it's a config issue on my end, since this is a completely clean prefix after a re-install.
27 Replies
national-goldOP•2y ago
sorry I forgot the rocket league log file and the heroic log file
national-goldOP•2y ago
national-goldOP•2y ago
is this the wrong place to post this kind of issue?
do I need to go to github?
yelping-magenta•2y ago
this is the right place, but seems like nobody knows how to help
most of us read all issues, but we don't reply if we don't have anything to add with value
support for mac is complicated, gaming on mac is not as mature as linux or windows and there's not that much knowledge and users
just to clarify, it's not heroic who has to request the microphone permissions, when we launch a game we are just telling wine/crossover to execute something and we don't control how things wrong between wine and the game, heroic cannot ask for permissions for a given game
national-goldOP•2y ago
oh I see, so i suppose it is the actual wine executable that needs to request for that then
maybe I could find those execs, then manually give them permission
I'll give that a try and then update y'all on that
So I did some experimenting...
when you launch an example application like winecfg for instance with the gameportingtoolkit binary from the terminal, it actually makes the dialog box pop up, saying whether you would like "Terminal.app" to use the microphone
This isn't an application specific issue either, because this happens with multiple games, and I tried using audacity with it, nothing works.
When taking a look at the command for launching the game withing heroic in the heroic logs, I see that it has to interact with Legendary, so I suppose there's something going wrong in that interaction between all of them.
I could probably take a look at the code that makes this all work and try and see what the issue is, but I'll need to study that first!
Is Heroic supposed to be a game according to Heroic? Or am I misunderstanding this?
yelping-magenta•2y ago
I'm not sure I understand the question, what do you mean by heroic being a game according to heroic?
national-goldOP•2y ago
sorry, I meant according to legendary
yelping-magenta•2y ago
still not sure what you mean, legendary doesn't even know about heroic, we tell legendary to run the game
national-goldOP•2y ago
like I said, I might be misunderstanding this, but I am not sure what the command means when "Sugar" is passed as an argument to legendary
as in, what is Sugar?
yelping-magenta•2y ago
I see,
Sugar
is the code name of Rocket League
all applications have an internal app name
provided by epic and used by legendary, you can see the app name for any game at the bottom of the settings for each game in heroic (or checking what's the name passed to legendary in the commands in the logs)national-goldOP•2y ago
I see, so then that means, if I need to do more testing on this, I have to tell legendary(without heroic) where the game is to see if it launches and the microphone works
need to figure how to do that, but I suppose that might be in the legendary documentation
sorry if I sound cryptic
yelping-magenta•2y ago
if you want to launch the game without using heroic, you can do:
that would be the bare minimum
national-goldOP•2y ago
I'll give that a shot then
yelping-magenta•2y ago
there you are saying: Legendary, launch the game Rocket League (Sugar) using this specific GamePortingToolking using this folder for the wine prefix
nothing specific to heroic (I mean, the legendary binary is inside heroic's code, but it's just the unmodified legendary from their repo)
national-goldOP•2y ago
I see, but what would change, lets say, if the game was in on an external drive and not within the prefix itself?
do I need another env variable in the command?
yelping-magenta•2y ago
legendary keeps track of where games are installed, it knows where to look for the game
national-goldOP•2y ago
hmm, that's strange, because doing it through the terminal alone says that rocket league is not installed, but when heroic tells legendary to do it, it launches just fine
yelping-magenta•2y ago
run
/Applications/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/legendary list
and /Applications/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/legendary status
, share the output of both here
oh wait, I see, it's missing one more env, waitnational-goldOP•2y ago
btw this is within an arm64 terminal right?
yelping-magenta•2y ago
the env variable is LEGENDARY_CONFIG_PATH, I don't remember the exact value but it's something like
/Library/Application Support/heroic/legendaryConfig/legendary
, search for that in your file manager to get the exact path (the Library folder is hidden if I remember right)
not sure, I don't own an Apple Silicon macnational-goldOP•2y ago
I assume legendary is an arm binary, because it works just fine within an arm terminal, so I think it's ok
I'll check this env variable
looks like returns nothing, so I suppose it needs to be set, and I have to manually find it
sorry I meant with a dollar
yelping-magenta•2y ago
yes, the env variable is not set in the system, heroic adds that while it's running for its process
it's something like
/Library/Application Support/heroic/legendaryConfig/legendary
, I just don't have my mac around to confirm thisnational-goldOP•2y ago
one second
yes I can confirm that the config is in this path
and on cat'ing the installed.json config, I can see that it is installed
yep, on adding the variable to the commands, it works fine!
this is the output of the legendary status command
yelping-magenta•2y ago
that looks correct
national-goldOP•2y ago
the game does launch with the additional variable now
ill test the mic with audacity in a bit
well, the conclusion here is that legendary is responsible for something going wrong here
should I tell them about this issue?
yelping-magenta•2y ago
you can try reporting the issue in legendary
national-goldOP•2y ago
alright then, thanks for all the help, really appreciate it!
I am reopening this because it seems that apps that don't use legendary as an intermediate have this problem too, like when launching the windows version of steam on heroic, microphone doesn't work on games like CS2 for instance. I have now changed the prefix to use Whisky's GPTK with the latest update