Back in October of 2022, someone told me that they were having trouble running LOTRO with WINE. Using a simple dock icon made from the LotroLauncher.exe file, they were able to launch the LOTRO Launcher application successfully, but after entering their credentials and choosing a server and clicking PLAY, the client would start with a black screen and go nowhere. However, when running the game by using the "wine */LotroLauncher.exe" Terminal command (with the actual full path to the file rather than the * wildcard symbol) the client would launch successfully. A number of other people have reported this issue since then. This didn't make a lot of sense to me but I have been working on a solution ever since.
By creating multiple test systems I was finally able to replicate the problem. And by carefully following the execution traces, I learned what was causing the problem: The LOTRO client application did not have permission to use the microphone. When first launching the game with the Terminal, a popup appears asking the user to give permission to access the microphone. Because the active application is the Terminal – not anything related to WINE or LOTRO – the active application which receives that permission is the Terminal. When the LOTRO client is first launched by double-clicking the LotroLauncher.exe file or clicking on a Dock icon made from that file, the active application is Wine X (such as Wine Stable, Wine Devel, etc.) – sometimes the popup will appear and sometimes it won't. If it appears, no problem, the game will run and you will have no issues in the future. But if the popup doesn't appear, the Wine X application doesn't receive the permission it needs to access the Mac's microphone and so the LOTRO client does not successfully launch past a black screen. And once that happens, no matter how many times you attempt to launch the game again, you will never get that popup. If the user goes into System Preferences->Security & Privacy->Microphone there is no way to add an application to the list, permission can be granted or denied only to applications which have been registered as requesting that permission.
I have come up with a workaround for this. It's a teeny bit complicated to read about but is easier to do than it seems:
1- Go to ~/Library/Application Support and make a copy of the com.apple.TCC file. Just option-drag a copy to your ~/Desktop or some other convenient location. You shouldn't need this backup but we are going to make changes to this file so just in case something goes wrong, you will have a backup ready.
2- Be sure that System Preferences is not running.
3- To find the exact system name of the Wine application in your /Applications folder (be it Wine Stable, Wine Devel, Wine Crossover, or any other variant), go to your /Applications folder and look for the Wine application. Right-click on it and choose to SHOW PACKAGE CONTENTS. Click on the CONTENTS folder. Open the info.plist file with TextEdit. Look for the line with CFBundleIdentifier, the line directly under that is the system name of the application. Copy that name to the clipboard, then close the file and quit out of TextEdit.
4- Launch the Terminal.
5- Type each of these lines, one at a time, hit the RETURN key after entering each line:
Code:
sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db
Code:
('kTCCServiceMicrophone','PUTEXACTNAMEHERE-SEEABOVE', 0, 2, 2, 1, null, null, null, 'UNUSED', null, null, 1669648527);
VERY IMPORTANT: Where you see PUTEXACTNAMEHERE-SEEABOVE you must enter the "CFBundleIdentifier" which is the name and ID of the application as MacOS sees it. For example, I was running my tests with a specific version of WINE called Wine Crossover, and that is the name of the Wine application in my /Applications folder. I needed to input the following in place of PUTEXACTNAMEHERE-SEEABOVE:
Code:
org.winehq.wine-crossover.wine
The line I used, therefore, was:
Code:
('kTCCServiceMicrophone','org.winehq.wine-crossover.wine', 0, 2, 2, 1, null, null, null, 'UNUSED', null, null, 1669648527);
6- Launch System Preferences, go to Security & Privacy, go to Microphone. You should see your Wine application in the list and it should be checked on, i.e. have permission granted to use the microphone. After you confirm this, quit out of System Preferences.
The game will now launch normally from the Dock or by directly double-clicking on the LotroLauncher.exe file.
If for any reason this didn't work for you, or you made some error which screwed up your Microphone permissions in some way; simply take your backup of the com.apple.TCC file and drop it into ~/Library/Application Support, allowing it to overwrite the screwed-up version there. Then either start over and try again, or come to this thread and I'll help you.