Git Product home page Git Product logo

Comments (17)

HidenoriMatsubayashi avatar HidenoriMatsubayashi commented on August 15, 2024 1

Thank you for your report. I'll test with other Wayland compositors.

from flutter-embedded-linux.

HidenoriMatsubayashi avatar HidenoriMatsubayashi commented on August 15, 2024 1

Out of curiosity, is there a requirement for the wayland app to have references to a particular shell protocol?

Your understanding is correct. The implementation is not good. Actually, the Wayland app doesn't use shell protocols, but has referenced it. Therefore, I'm going to refactor source files.
(cc @Mai-Matsuura)

from flutter-embedded-linux.

psstoyanov avatar psstoyanov commented on August 15, 2024 1

@HidenoriMatsubayashi , can see the wayland-client now works with Plasma Mobile, Plasma Wayland and Wayfire 🔥

I can setup a few other images with different wayland sessions like Phosh, Gnome and so on if you would like some additional testing.
Should the ticket be closed?

from flutter-embedded-linux.

psstoyanov avatar psstoyanov commented on August 15, 2024 1

@HidenoriMatsubayashi , should I close the ticket?

The embedder is no longer bound to weston's shell protocols and the switch from wl_shell to xdg_shell has ensured compatibility with multiple environments. The only exception being GlacierUX which could be because the project is rather old (or the image I've used hasn't gotten that far). With every new or maintained Wayland environment, there was no issue.

from flutter-embedded-linux.

HidenoriMatsubayashi avatar HidenoriMatsubayashi commented on August 15, 2024 1

Thank you so much! Your help is very helpful for us. I'll close this issue and update README later.

from flutter-embedded-linux.

psstoyanov avatar psstoyanov commented on August 15, 2024 1

@HidenoriMatsubayashi , small update on GlacierUX compatibility:

from flutter-embedded-linux.

HidenoriMatsubayashi avatar HidenoriMatsubayashi commented on August 15, 2024 1

Thank you so much. I've updated README.

from flutter-embedded-linux.

psstoyanov avatar psstoyanov commented on August 15, 2024

Out of curiosity, is there a requirement for the wayland app to have references to a particular shell protocol?

I'm reading the following article from Lup Yuen Lee which is packed with interesting information: https://lupyuen.github.io/pinetime-rust-mynewt/articles/wayland
Following the article and taking a look in the LVGL repo, I can't find any specific bindings to a particular shell protocol.

from flutter-embedded-linux.

HidenoriMatsubayashi avatar HidenoriMatsubayashi commented on August 15, 2024

@psstoyanov I'm using Ubuntu 20.04 desktop. Can I install Plasma Wayland or Wayfire? Do they work on X11?

from flutter-embedded-linux.

psstoyanov avatar psstoyanov commented on August 15, 2024

@HidenoriMatsubayashi , I don't know what is the state of Plasma Wayland with Ubuntu 20.04 and aarch64. Hopefully it is in good condition?

Yes, you can start the wayland sessions from X11 environment.
If you go with Plasma Wayland - you can find the instructions on starting the session in their docs.

I would go with Sway or Wayfire as they are "easy" to handle if the distro repositories have broken or problematic builds with Plasma or Gnome. They are also significantly smaller (even building locally doesn't take unreasonable amount of time).

Both Sway (tiling) and Wayfire (stacking) require a configuration file or you will be presented with an empty view. You can keep those minimal with pretty much defining just shortcut to launch your preferred/installed terminal.

You can also disable Xwayland on Sway/ Wayfire easily though I don't know if this will be useful to you.
Reference to the Xwayland flag for Wayfire here.

The example Wayfire configuration file provided in their repo: https://github.com/WayfireWM/wayfire/blob/master/wayfire.ini

This is my wayfire configuration file - there is plenty in it as I use it as my main DE on the PinebookPro.

Cage is tiny but I don't know if it will be flexible enough to use for this experiment - it is meant as a kios (though it could be a potential alternative to the weston-shell)

Note:

  • The new sessions should show up in your greeter. Using Ubuntu, I guess that would be GDM. It should pick up the new entries if you decide to go the route with logging in directly into a Wayland session.

from flutter-embedded-linux.

HidenoriMatsubayashi avatar HidenoriMatsubayashi commented on August 15, 2024

Thank you! I'll try that.

from flutter-embedded-linux.

psstoyanov avatar psstoyanov commented on August 15, 2024

Forgot to mention something. Unlike Plasma Wayland, Sway and Wayfire are not full fledged desktop environments but compositors. The chances of breaking your test device setup are significantly smaller if go with one of them.

When I was experimenting with Gnome and Plasma side-by-side on the PinebookPro, I had to be extra careful about keeping them separate or some of the packages that handle the same functionality could cause hard to recover situations. Some references from the Manjaro's documentation on installing Desktop Environments here

Wayfire has lived alongside Plasma on my PinebookPro without causing conflicts for more than a year now.

Note:
Both Sway and Wayfire use wlroots but they can be compiled with different versions with potential conflict when both are installed on the same system. It would be easier to go with just one of those instead of both.

from flutter-embedded-linux.

HidenoriMatsubayashi avatar HidenoriMatsubayashi commented on August 15, 2024

Thank you for your help! Yes, I'm glad if you would do some additional testing. After that, I'll update README to add a tested Wayland compositors list.

from flutter-embedded-linux.

psstoyanov avatar psstoyanov commented on August 15, 2024

@HidenoriMatsubayashi , had the chance to check Lomiri and Phosh tonight. Both run with the Wayland client without a problem.
Those 2 are in addition to Plasma Wayland, Plasma Mobile and Wayfire.

It's partially a guess but there will be some surprises with the display scaling setups on different DEs 😄
I'm sure Phosh runs with 200% scaling by default and it looks like Plasma Mobile does the same.

Switching to Lomiri, it mimicked 100% scaling on Phosh which would appear in similar size as the window visible on this image.

The desktop environment scaling on the device isn't connected to the embedder per-se but it could be good to know.

Tomorrow, I will load Gnome on one of the devices. If I can, I will try to take a look at SailfishOS or NemoMobile for the PinePhone.

Update:

  • Using Gnome 3.38 with Wayland backed works as expected as well with the wayland client. Note: Whether the gnome wayland session will be used by default, depends on the distribution.

Update 2:

  • Used Cage and the wayland client behaved as expected.
    • If you launch Cage from TTY, in debug mode (default build type with Meson), press
      Alt+Esc to quit.
    • When I launched cage in nested session from within Plasma-Wayland, there was error present when moving the mouse. This looks to be specific behaviour to Cage and not the embedder.

Update 3:

  • Attempted to use GlacierUX and this has been the only one I couldn't start. It produced the following error: [ERROR][linuxes_window_wayland.cc(660)] Xdg-shell is invalid
    • I'm not familiar enough with the Mer project and GlacierUX to know for sure but it looks like the missing item is on the side of the environment and not the embedder.

from flutter-embedded-linux.

psstoyanov avatar psstoyanov commented on August 15, 2024

List of confirmed working environments with the Wayland client:

Known incompatible Wayland environment at the moment:

from flutter-embedded-linux.

psstoyanov avatar psstoyanov commented on August 15, 2024

Update towards GlacierUX:

from flutter-embedded-linux.

HidenoriMatsubayashi avatar HidenoriMatsubayashi commented on August 15, 2024

Thank you for your information.

from flutter-embedded-linux.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.