Open ntheo1979 opened 2 years ago
From https://github.com/lmiphay/gentoo.overlay/issues/15#issuecomment-1030708802
Wine (sadly) is the safest choice, I would the suggest using the 64 bit slvoice.exe (using FSLinuxEnableWin64VoiceProxy debug)
And that is:
$ 7z e Phoenix-Firestorm-Releasex64-6-4-21-64531_Setup.exe SLVoice.exe
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_IE.utf8,Utf16=on,HugeFiles=on,64 bits,8 CPUs Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz (306C3),ASM,AES-NI)
Scanning the drive for archives:
1 file, 123091053 bytes (118 MiB)
Extracting archive: Phoenix-Firestorm-Releasex64-6-4-21-64531_Setup.exe
--
Path = Phoenix-Firestorm-Releasex64-6-4-21-64531_Setup.exe
Type = Nsis
Physical Size = 123091053
Method = LZMA:23
Solid = +
Headers Size = 960736
Embedded Stub Size = 409600
SubType = NSIS-3 Unicode BadCmd=11
Everything is Ok
Size: 104448
Compressed: 123091053
$ ls -l SLVoice.exe
-rw-r--r-- 1 lmiphay lmiphay 104448 Apr 3 2020 SLVoice.exe
$
Thanks, I'll try that. Where should I put the SLVoice.exe file, though? Which was the working directory in the process above?
Actually there is a 32 bit (it looks like) binary already bundled in the linux tarball:
$ ls -l /opt/firestorm-bin/bin/win32/SLVoice.exe
-rwxr-xr-x 1 root root 2383360 Jul 21 2021 /opt/firestorm-bin/bin/win32/SLVoice.exe
$ file /opt/firestorm-bin/bin/win32/SLVoice.exe
/opt/firestorm-bin/bin/win32/SLVoice.exe: PE32 executable (GUI) Intel 80386 (stripped to external PDB), for MS Windows
$
However the one from the MSWin 64 bit FS installer seems to be 64 bit:
$ file SLVoice.exe
SLVoice.exe: PE32+ executable (GUI) x86-64, for MS Windows
There is also a set of windows DLL's and certificate bundle in that directory which is all presumably needed.
The relevant code is in LLVivoxVoiceClient::startAndLaunchDaemon():
std::string exe_path = gDirUtilp->getExecutableDir();
// <FS:ND> On Linux the viewer can run SLVoice.exe through wine (https://www.winehq.org/)
//gDirUtilp->append(exe_path, "SLVoice");
if( !viewerUsesWineForVoice() )
gDirUtilp->append(exe_path, "SLVoice"); // native version
else
gDirUtilp->append(exe_path, "win32/SLVoice.exe"); // use bundled win32 version
// </FS:ND>
and:
// vivox executable exists. Build the command line and launch the daemon.
LLProcess::Params params;
// <FS:ND> On Linux the viewer can run SLVoice.exe through wine (https://www.winehq.org/)
params.executable = exe_path;
if( !viewerUsesWineForVoice() )
params.executable = exe_path;
else
{
params.executable = "wine";
params.args.add( exe_path );
}
//</FS:ND>
The fs ticket which originated the voice via wine support: https://jira.firestormviewer.org/browse/FIRE-19663
We package both 32 and 64 Bit windows voice. I think this will only come with 6.5.3 (next release). You will then find a bin/win64 folder with 64 bit voice.
ls -1 bin/win* bin/win32: DbgHelp.dll SLVoice.exe ortp.dll ortp.pdb vivoxsdk.dll vivoxsdk.lib vivoxsdk.pdb zlib1.dll
bin/win64: DbgHelp.dll SLVoice.exe ortp_x64.dll ortp_x64.pdb vivoxsdk_x64.dll vivoxsdk_x64.lib vivoxsdk_x64.pdb
See also https://vcs.firestormviewer.org/phoenix-firestorm/changeset/ef7ee0a17bd5e7fe3bb7d740ecc73d6fed2612ca
Hello Paul. Would it be possible to add net-dns/libidn-compat as a dependency to Firestorm and the other viewers? It is necessary for voice to work. The package exists in two overlays: https://gpo.zugaina.org/net-dns/libidn-compat. Thank you.