Extension Fails to Find 'wsi' Script Despite Correct Configuration on Fedora
Environment:
Operating System: Fedora (e.g., Fedora 40)
GNOME Version: (e.g., GNOME 46)
Installation Method: Manually cloned from the GitHub main branch.
Problem Description:
After a thorough manual installation and configuration process, the Blurt extension consistently fails to load. It displays a persistent error notification: Blurt Error: wsi script not found or not executable in configured path. Check preferences.
This error occurs even when the configuration path is set to the correct, absolute path of the wsi script, and all system-level checks (permissions, interpreters, security policies) have been passed.
Troubleshooting Steps Taken:
I have gone through an extensive process to diagnose the issue. The key steps and final configuration are as follows:
Backend Setup: Initially, I compiled whisper.cpp from source. To simplify, I later switched to the recommended llamafile method. The whisper-tiny.en.llamafile was downloaded and placed at ~/.local/bin/transcribe.
wsi Script Correction: The wsi script itself required several fixes to run manually in the terminal:
Made executable with chmod +x wsi.
Converted from DOS to Unix line endings with dos2unix wsi.
Installed the required zsh interpreter with sudo dnf install zsh.
PATH Configuration: Ensured the shell could find the transcribe executable by adding ~/.local/bin to the PATH. The command which transcribe correctly resolves to /home/kan3ki/.local/bin/transcribe.
Manual gsettings Configuration: To bypass issues with the wsi script's interactive setup, I configured the extension directly. The final, correct configuration is:
Whisper Path: Set to the absolute path of the wsi script itself.
gsettings set org.gnome.shell.extensions.blurt whisper-path '/home/kan3ki/.local/share/gnome-shell/extensions/[email protected]/wsi'
Model Path: Set to a valid directory to satisfy the "complete configuration" check.
gsettings set org.gnome.shell.extensions.blurt model-path '/home/kan3ki/.local/bin'
SELinux Check: Ruled out SELinux as the cause by temporarily putting it in permissive mode with sudo setenforce 0. The error persisted.
Conclusion:
Despite the whisper-path pointing directly to the wsi script and all permissions and dependencies being correct, the extension still reports that it cannot find or execute the script. This suggests a potential bug within the extension's code for how it validates the path or launches the script on Fedora.
Thank you for looking into this.
Hi @The-Tourist-170 ,
The whisper_path variable is relative to $HOME, i.e. if your wsi script (with executable flag ON) is in /home/kan3ki/.local/bin/, the
preferences input field should have .local/bin/ or .local/bin in it (either works).
This will assure that the extension can invoke the wsi sript.
Now, the script wsi itself has a CONFIG block with environment variables that have to be adjusted for your environment. Open it in an editor and adjust the model variable to point to one of your whisper models. Or if using whisperfile, simply uncomment the WHISPERFILE declaration in the same block and adjust it to point to your downloaded whisperfile (which has been set executable with chmod +x ....lamafile).
I recommend the compiled whisper executable whisper-cli with a local model ober a whisperfile. A whisper-server running on the local machine or on LAN is even better option, since you do not have to wait for the model to load on each dictation.
If the above did not help:
I assume that you ran the script wsi from the command line and it worked? If not please, try that.
Also, make sure your whisperfile works, i.e. record a wav file (or get the wfile created in the /dev/shm/ folder by wsi (sox) when you run wsi from the command line) and pass it to your whisperfile or to the compiled whisper executable and verify transcription.
Then, please, look in the Gnome Log Utility (Command key and search for "Logs") for more direct errors and messages concerning the extension, when you run it.
Finally, inspect the journal or follow the extension when it runs with:
journalctl -f -o cat /usr/bin/gnome-shell
Look for entries related to (showing up when you use ) the extension.
Let me know how it went, we will get it working. Fedora is a good platform for this extension.
P.S. Edit: One more thing. transcribe is a symbolic link to whisper-cli and not the whisperfile. They have slightly different cli syntax so it may not work. To use the whisperfile, edit the wsi config block as explained above. transcribe (whisper-cli) is the default final fallback if not using whisper-server (with wsi -n) and not using whisperfile (not exposing the WHISPERFILE variable).