-
Notifications
You must be signed in to change notification settings - Fork 5
Add initial support for Miriway #40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Nice! |
It supports the required |
e098447
to
6bda9f7
Compare
And it should work alongside lxqt/lxqt-panel#2161 |
Looked a little bit into this, setting up snapd on arch.
Tried to compile Mir, but no, that's too much consuming and I stopped here. |
It's packaged and working fine on openSUSE Tumbleweed (mir/miriway) Just hasn't been submitted into Factory as of yet. |
It is also packaged and available in Fedora Rawhide, and available for Fedora 41 in COPR. |
Oh... there are packages for something which isn't merged? |
I could provide patched packages for the whole thing on Fedora if it would help. |
It's packaged and working fine on openSUSE Tumbleweed (mir/miriway) Just hasn't been submitted into Factory as of yet.
Miriway and Mir can both be built and installed just fine without needing to employ the snap container mechanism I don't know jack about building packages for arch, but I can probably have a look later today |
Building isn't difficult but having them accepted and meeting the standards required is probably not that easy. https://repology.org/project/mir/versions |
Here's pre-compiled wlcs, mir, and miriway for you test against: https://download.opensuse.org/repositories/home:/sfalken:/arch_miriway/Arch/x86_64/ The wlcs and mir PKGBUILDS were taken directly from the AUR, I bashed out the miriway one. If you want to use my PKGBUILD to get it into the AUR, that's fine by me. I don't normally package for Arch, and have more than enough on my plate, that I don't really feel like figuring out how to navigate the submission processes. PKGBUILDS that were used to build these are here: https://build.opensuse.org/project/show/home:sfalken:arch_miriway |
The issue I had was mir (well, setting up snapd wasn't what I liked, removed now) -it felt like compiling kwin or theseus heating my laptop too much.
I don't see a package for Mir... |
Found by chance https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/aarch64/os/Packages/l/lxqt-wayland-session-0.1.1-4.fc42.noarch.rpm |
Correct. On Fedora it will be This is an openSUSE Tumbleweed system, but if you run
|
Ah, hold on one moment, I forgot to enable publishing for Mir in that repo. It's there now, if you want to try again on Archlinux. |
Thanks, will test. I see, so Fedora will ship similar packages as OpenSuse does: one for every compositor. |
Aye. I don't know that it's packaging policy exactly, but it is customary to do it like this for lots of stuff. It's got it's upsides, and it's downsides. |
Ok, saw miriway now in action, thanks! At a first glance:
|
Let me get arch spun up in a vm and see if I can figure out any of this. |
Some of this might be the lxqt-panel using the dummy backend instead of the wayland/wlroots backend? |
On the contrary, a dummy backend can hide probable problems of the compositor. |
The taskbar is working fine when killing the panel and restarting it with
DND compositor crash on the Desktop, from any pcmanfm-qt window or text in featherpad is not related to the backend for the panel. Compositor crashing is really bad as it takes anything with it. |
lxqt-panel with the patches applied from lxqt/lxqt-panel#2161 are now packaged for archlinux @ https://download.opensuse.org/repositories/home:/sfalken:/arch_miriway/Arch/x86_64/ The F12 key for qterminal --drop still doesn't work, I'm talking with the miriway upstream about that (it doesn't work on Tumbleweed or Fedora either) Multimonitor would need to be figured out in DND in PCManFM-Qt does indeed crash the shell on arch I haven't a clue why, it works fine on both Fedora and openSUSE with the same patches. Miriway is still young, and what configuration instructions exist, live here: https://github.com/Miriway/Miriway/blob/main/CONFIGURING_MIRIWAY.md |
This is expected, as I set the Miriway configuration namespace to |
The main configuration file isn't reloaded: it requires a restart. There are some settings that it doesn't make sense to reload but we're working on making the rest reconfigurable dynamically. It will come option by option: for example, 2.20 should make input reconfiguration possible from shells but then Miriway needs to implement it.
I know @tarek-y-ismail has fixed some issues with SSDs and window sizing area, not sure if all those fixes were in 2.19. Will investigate |
The Mir decoration code has a hard-coded list of fonts, but doesn't find any of them: FontPath const font_paths[]{
FontPath{"Ubuntu-B.ttf", {
"ubuntu-font-family", // Ubuntu < 18.04
"ubuntu", // Ubuntu >= 18.04/Arch
}},
FontPath{"FreeSansBold.ttf", {
"freefont", // Debian/Ubuntu
"gnu-free", // Fedora/Arch
}},
FontPath{"DejaVuSans-Bold.ttf", {
"dejavu", // Ubuntu (others?)
"", // Arch
}},
FontPath{"LiberationSans-Bold.ttf", {
"liberation-sans", // Fedora
"liberation", // Arch
}},
}; Clearly, this is not ideal! The quickest resolution is to install one of these fonts, say, Another quick hack (adding a font that is available) also gets titles displaying: FontPath{"NotoSans[wght].ttf", {
"google-noto-vf", // Fedora
}}, |
Where in the environment are you setting the theme? You can configure the cursor theme with the |
Reproduced. Also with Mir/main (so there's not an existing fix). Investigating further... |
It's in lxqt-config-appearance and (git only again) in |
Mir should probably be picking up |
Poking around my install of the above .iso, I don't see anything in these locations. So I'm wondering which theme is actually used by Qt applications and where is it supplied?
Sorry, this is misleading - the configuration option is optional in Mir and Miriway doesn't "opt in" |
You mean cursor theme? Here it is applied also on the title bars. Main file is A part from truncated text the buttons have an issue too, too tiny. |
Curious
I don't see anything that looks like an icon theme here either:
|
Maybe that's an issue with the installation? I'm using a live in virtualbox, saved session, not installed. If you change cursor theme or anything theme-related those entries should be generated, in |
OK, having changed the theme I now have:
Nothing is being set initially |
And... Mir provides an option to follow the cursor theming, but Miriway wasn't using it. Adding that to Miriway, it is picking up |
Uh, it worked here... |
I wasn't following the discussion, but this might help: Qt gets its mouse cursor theme through its "platform plugin" — in LXQt, it's However, the cursor theme (or size) isn't limited to Qt. So, LXQt does more:
I just don't remember why |
@tsujan thanks for the background. I wasn't seeing a theme in any of the usual places until I reconfigured it. Maybe that's a setup thing? AIUI |
Some default settings are in |
This definitely looks like Mir does weird stuff (below):
|
You're right; that should be the reason for choosing the first. Sooner or later, we might need to change that. |
Mir bug: for unmapped windows with size constraints, the constraints were not being adjusted for SSDs. Fixed by canonical/mir#3780 |
Current Miriway/Mir statusMiriwayMiriway-25.02 released with the Miriway fixes related to this work:
MirAll fixes have landed on
|
I found another issue with Mir: not expecting clients to set max_width/height to MAX_INT. Qt clients do this for some reason. canonical/mir#3791 (will also include that in Mir 2.20) |
Miriway is a new generic compositor built on the Mir compositor library that is designed to be used as part of composable desktop environments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Had a look into Fedora 42. Basically it's working with some rough edges compared to the other 2 stacking compositors supported.
For panel backend detecting miriway
is needed here https://github.com/lxqt/lxqt-panel/blob/3db2541f8710da2136ecef8f0531462508310481/panel/backends/wayland/wlroots/lxqtwmbackend_wlr.cpp#L669
|
||
shell-alt=Space:lxqt-runner | ||
shell-alt=F2:lxqt-runner | ||
shell-meta=l:lxqt-leave --lockscreen |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To add:
print:screengrab
F12:qterminal -d
elif [ "$COMPOSITOR" = "miriway" ]; then | ||
export XDG_CURRENT_DESKTOP="LXQt:$COMPOSITOR:mir" | ||
if [ ! -f "$XDG_CONFIG_HOME/lxqt/miriway-shell.config" ]; then | ||
cp "$share_dir"/lxqt/wayland/miriway/miriway-shell.config "$XDG_CONFIG_HOME/lxqt/miriway-shell.config" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All Wayland related configs are in "$XDG_CONFIG_HOME/lxqt/wayland/
if [ ! -f "$XDG_CONFIG_HOME/lxqt/miriway-shell.config" ]; then | ||
cp "$share_dir"/lxqt/wayland/miriway/miriway-shell.config "$XDG_CONFIG_HOME/lxqt/miriway-shell.config" | ||
if echo "$valid_layouts" | grep -q "$trylayout"; then | ||
echo "keymap=$trylayout" >> "$XDG_CONFIG_HOME/lxqt/miriway-shell.config" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
idem
Is this wrapper still needed btw? I see that in Fedora it starts just |
Yes, this wrapper is used on Fedora LXQt. |
On Wed, May 21, 2025 at 08:28:56AM -0700, Neal Gompa (ニール・ゴンパ) wrote:
Conan-Kudo left a comment (lxqt/lxqt-wayland-session#40)
Yes, this wrapper is used on Fedora LXQt.
And on openSUSE, for folks that choose to use Miriway
|
Miriway is a new generic compositor built on the Mir compositor library that is designed to be used as part of composable desktop environments.