Document wayland issue
This commit is contained in:
parent
c5acd887a0
commit
0773d78621
48
README.md
48
README.md
@ -13,29 +13,45 @@ nix build .
|
|||||||
./result/bin/arrowvortex
|
./result/bin/arrowvortex
|
||||||
```
|
```
|
||||||
|
|
||||||
## Run directly from Git
|
Run directly from Git
|
||||||
|
|
||||||
This flake lives at [https://git.plebsaber.stream/arrowvortex-wine](https://git.plebsaber.stream/arrowvortex-wine). Use a `git+https` flake reference (not the `github:` shorthand):
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
nix run git+https://git.plebsaber.stream/arrowvortex-wine
|
nix run git+https://git.plebsaber.stream/arrowvortex-wine
|
||||||
```
|
```
|
||||||
|
|
||||||
Optional: install into your user profile:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
nix profile install git+https://git.plebsaber.stream/arrowvortex-wine
|
|
||||||
```
|
|
||||||
|
|
||||||
Pin a branch or revision for reproducibility:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
nix run 'git+https://git.plebsaber.stream/arrowvortex-wine?ref=main'
|
|
||||||
nix run 'git+https://git.plebsaber.stream/arrowvortex-wine?rev=<commit-sha>'
|
|
||||||
```
|
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- Nix with flakes enabled (`experimental-features = nix-command flakes`).
|
- Nix with flakes enabled (`experimental-features = nix-command flakes`).
|
||||||
|
|
||||||
Wine and GUI dependencies come from nixpkgs; you need a working display (X11 or Wayland) for the editor window.
|
Wine and GUI dependencies come from nixpkgs; you need a working display (X11 or Wayland) for the editor window.
|
||||||
|
|
||||||
|
## Debugging
|
||||||
|
|
||||||
|
Replace `-all` with focused Wine channels around dialogs, shell integration, and file APIs:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
--set WINEDEBUG "+timestamp,+pid,+tid,+seh,+dialog,+commdlg,+shell,+ole,+file,+loaddll"
|
||||||
|
```
|
||||||
|
|
||||||
|
Most useful pieces:
|
||||||
|
|
||||||
|
- `+commdlg`: common file dialog activity, likely the key one for `File > Open`.
|
||||||
|
- `+dialog`: generic dialog/window creation.
|
||||||
|
- `+shell`: shell folder / file picker integration.
|
||||||
|
- `+ole`: COM/OLE calls, often involved in modern shell dialogs.
|
||||||
|
- `+file`: filesystem open/stat failures after a path is chosen or dialog initializes.
|
||||||
|
- `+seh`: exceptions that might be swallowed by the app.
|
||||||
|
- `+loaddll`: missing DLL clues.
|
||||||
|
- `+timestamp,+pid,+tid`: makes logs easier to follow.
|
||||||
|
|
||||||
|
Run it from a terminal and capture stderr, for example:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
WINEDEBUG="+timestamp,+pid,+tid,+seh,+dialog,+commdlg,+shell,+ole,+file,+loaddll" arrowvortex 2>&1 | tee /tmp/arrowvortex-wine.log
|
||||||
|
```
|
||||||
|
|
||||||
|
If that is too noisy, start with:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
WINEDEBUG=+x11drv,+wayland,+commdlg
|
||||||
|
```
|
||||||
19
docs/wayland.md
Normal file
19
docs/wayland.md
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# Wine on KDE Plasma Wayland
|
||||||
|
|
||||||
|
ArrowVortex’s **File → Open** dialog does not appear when the Windows build is run under Wine on KDE Plasma with a Wayland session. `WINEDEBUG` traces on `commdlg` showed `GetOpenFileNameW` being entered with plausible flags and `COMDLG32_SetCommDlgExtendedError(0)` cleared, but no usable dialog followed—consistent with Wine’s graphics stack (notably **winewayland**) failing to host the legacy common-file-dialog UI on this compositor. We tried **unsetting `WAYLAND_DISPLAY`** in the launcher so Wine would prefer Xwayland; that did not fix it for us. We searched **nixpkgs** for similar Wine workarounds and found no comparable pattern (only unrelated apps, e.g. Qt wrappers forcing X11). In the package we then added a **one-shot `wine reg add`** to set `HKCU\Software\Wine\Drivers` → `Graphics` = `x11` (pin **winex11.drv**), plus `WINEDLLOVERRIDES` to skip Mono/Gecko prompts, and stepped the Wine build through **`wineWow64Packages.stagingFull`** and **`unstableFull`**. None of that produced a reliable File → Open on Plasma Wayland here, so this path is abandoned for now; anyone retrying later should use a **fresh `WINEPREFIX`** after changing Wine version or registry forcing, and may want to log with `WINEDEBUG=+x11drv,+wayland,+commdlg` to see which driver actually loads.
|
||||||
|
|
||||||
|
```
|
||||||
|
0024:trace:ole:CoRegisterInitializeSpy 00007FFFFE276FD0, 00007FFFFE276FE0
|
||||||
|
0024:trace:ole:CoInitializeEx 0000000000000000, 0x2
|
||||||
|
0024:trace:ole:CoInitializeEx Initializing the COM libraries
|
||||||
|
0024:trace:ole:apartment_construct creating new apartment, model 2
|
||||||
|
0024:trace:ole:apartment_construct Created apartment on OXID 2000000024
|
||||||
|
0024:trace:ole:apartment_get_or_create Created main-threaded apartment with OXID 2000000024
|
||||||
|
0024:trace:commdlg:GetOpenFileNameW flags 0x00001000
|
||||||
|
0024:trace:commdlg:COMDLG32_SetCommDlgExtendedError (00000000)
|
||||||
|
0024:trace:shell:SHFree 0000000000000000
|
||||||
|
0024:trace:shell:SHFree 0000000000000000
|
||||||
|
0024:trace:shell:SHFree 0000000000000000
|
||||||
|
0024:trace:shell:SHFree 0000000000000000
|
||||||
|
0024:trace:shell:SHFree 0000000000000000
|
||||||
|
```
|
||||||
Loading…
x
Reference in New Issue
Block a user