49 lines
2.4 KiB
Markdown
49 lines
2.4 KiB
Markdown
# Wine and Proton verification
|
|
|
|
Cthulhu selects a loader from the application's Wine environment and executable.
|
|
It bypasses a recognized Protontricks runtime proxy and searches the Proton
|
|
installation for a usable loader. For processes advertising
|
|
`PRESSURE_VESSEL_RUNTIME`, it stages the complete helper set under
|
|
`$XDG_STATE_HOME/cthulhu/wine-access/helper` (default `~/.local/state`). Sets are
|
|
content-addressed and verified before use; running sets are never overwritten.
|
|
The helper keeps the reader's D-Bus address and receives the application's
|
|
display, authentication and Wine synchronization settings.
|
|
|
|
The active profile can contain:
|
|
|
|
```toml
|
|
[profiles.default.wine]
|
|
controller-only = false
|
|
excluded-hook-programs = ["ExampleGame.exe"]
|
|
```
|
|
|
|
Use your actual active profile name in place of `default`. Exclusions are
|
|
case-insensitive executable basenames, without paths. These settings are read
|
|
when the Wine manager starts; restart Cthulhu after editing them. They are not
|
|
live application-profile switches. The helper must support
|
|
`--exclude-hook-program` and `--no-dialog-reader`.
|
|
|
|
An excluded program appearing in a prefix switches that prefix's helper to
|
|
controller-only mode. That mode remains until the prefix is retired, even if
|
|
the excluded program exits while a launcher remains. `controller-only = true`
|
|
or a nonempty `WINE_ACCESS_NO_DIALOG_READER` other than `0` requests it globally.
|
|
|
|
Run `go test ./internal/wine ./internal/config -count=1` for loader selection,
|
|
staging, environment forwarding, exclusion handling and settings persistence.
|
|
Fixtures do not establish compatibility with a real Proton runtime or audible
|
|
Wine output.
|
|
|
|
For live acceptance:
|
|
|
|
1. Quit Cthulhu with Cthulhu+Q. Press Ctrl+Escape, then Shift+G to rebuild and
|
|
launch it. These are separate key presses.
|
|
2. Open an ordinary Wine editor. Verify focused controls, typing, selection and
|
|
menus are spoken, Braille follows focus, and keyboard navigation is intact.
|
|
3. Launch a test Proton application. Verify its supported accessibility output
|
|
reaches the reader and closing it does not leave an unnecessary helper.
|
|
4. With an intentionally excluded test game, verify its controller speech still
|
|
arrives without dialog-reader interference. Check an ordinary editor in a
|
|
separate prefix still has normal dialog reading.
|
|
5. Report the exact application, prefix relationship, speech, Braille and focus
|
|
behavior if a result differs. Redact private paths and text from debug logs.
|