File: RUN.md

package info (click to toggle)
wlmaker 0.7.1-2
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 7,696 kB
  • sloc: ansic: 58,587; xml: 1,424; python: 1,400; cpp: 253; yacc: 118; sh: 73; lex: 70; makefile: 8
file content (108 lines) | stat: -rw-r--r-- 4,129 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# Running Wayland Maker

If not done yet, please follow the [detailled build instructions](BUILD.md) to
build and install from source.

The commands below assume that dependencies and `wlmaker` were installed to
`${HOME}/.local`.

Once running: Press `Ctrl-Window-Alt+T` to open a terminal (`foot`), or
`Ctrl-Window-Alt+Q` to exit.

## Option 1: Run in a window

The most accessible option is to run Wayland Maker in a window in your
already-running graphical environment. It can run both on a X11 or a Wayland
session.

```bash
${HOME}/.local/bin/wlmaker
```

## Option 2: Run from a Linux virtual terminal

> [!IMPORTANT]
> Make sure your distribution has `seatd` installed and running.

```
${HOME}/.local/bin/wlmaker
```

Note: You may need to `su -c "pkill seatd"` to stop `seatd` after you're done.

## Option 3: Run as wayland session

> [!NOTE]
> As of 2024-07-14, this appears to work only with Wayland-only display
> managers. `gdm3` has been found to work, but `lightdm` did not.

> [!IMPORTANT]
> It is not yet recommended to run wlmaker as your only compositor. This
> approach will not work if dependencies are not all operating correctly, and
> is hardest to debug.

* Copy `${HOME}/.local/share/wlmaker.desktop` to `/usr/share/wayland-sessions/wlmaker.desktop`
* Restart your session manager, to reload the sessions.

The desktop entry will execute `${HOME}/.local/bin/wlmaker`.

## Customize it!

* [etc/Config.plist](../etc/Config.plist) is the where keyboard options, key
  bindings, screensaver details and more can be configured. That file in the
  source tree is the compiled-in default.

  To extend: Create a copy of the file to `~/.config/wlmaker/Config.plist` and
  modify it according to your needs. Or, move it somewhere else and call
  `wlmaker` with the `--config_file=...` arugment.

* [etc/Themes/Default.plist](../etc/Themes/Default.plist) is the compiled-in
  default theme. With [etc/Themes/Debian.plist](../etc/Themes/Debian.plist),
  there is an alternative theme you can use -- or extend it on your own.

  Run `wlmaker` with `--theme_file=...` to use an alternative theme. Or create
  your own in `/etc/xdg/wlmaker/Themes/Default.plist` or
  `~/.config/wlmaker/Themes/Default.plist`.

* [etc/RootMenu.plist](../etc/RootMenu.plist) defines the contents of the
  root menu. To customize, copy to `~/.config/wlmaker/RootMenu.plist` or
  provide via the `--root_menu_file` argument.

* [etc/State.plist](../etc/State.plist) stores state of dock and clip. To
  customize, copy to `~/.config/wlmaker/State.plist` or provide via the
  `--state_file` argument.

* To run X11 applications in Wayland Maker, XWayland must be enabled. It is
  compiled in, if the `xwayland` package is installed. In that case, use the
  `--start_xwayland` option. The `DISPLAY` environment variable will be set
  suitably.

* To make Wayland Maker look well on a high-resolution screen, you can either
  set the `Output` `Scale` in [etc/Config.plist](../etc/Config.plist) (and
  use `--config_file=...`). This will scale all surfaces.

  Or, you can configure the theme with larger decorations & fonts, as is done
  in [etc/Themes/Debian.plist](../etc/Themes/Debian.plist). That approach will
  not scale application surfaces.

# Debugging issues

> [!NOTE]
> Run `wlmaker` with the `--log_level=DEBUG` argument to get more verbose debug
> information.

1. `wlmaker` fails with an *ERROR* log of `Could not initialize renderer`.

    This indicates that `wlroots` was unable to pick a suitable renderer. For
    triaging & debugging, try the following:

    1. Verify whether another `wlroots`-based compositor [^1] starts up. If
        not, it's a `wlroots` issue, please follow up there.

    2. Try using a different renderer, eg. by setting `WLR_RENDERER=pixman` [^2].

    If that does not help: Please file an issue, including a full paste of your
    the configuration & build log, and of the startup attempt.

[^1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/wikis/Projects-which-use-wlroots#compositors
[^2]: https://gitlab.freedesktop.org/wlroots/wlroots/-/blob/master/docs/env_vars.md?ref_type=heads