Giter Club home page Giter Club logo

Comments (3)

ardera avatar ardera commented on September 13, 2024

The difference is basically an additional layer of abstraction. For flutter_wayland, it looks like this:
DRM (linux kernel) <-- wayland <-- flutter_wayland <-- flutter

For flutter-pi, it looks like this:
DRM (linux kernel) <-- flutter-pi <-- flutter

So, basically, for flutter_wayland, there's an additional layer between the linux kernel and flutter_wayland, while flutter-pi communicates with the linux kernel directly.

There's some advantages to this (flutter-pi's) approach, but also some drawbacks.

Advantages:

  • resources. It's just plain wasteful to start a whole wayland server for a single, full-screen application.
  • faster (in general, and also startup) because of less overhead.
  • easier to implement platform-specific stuff. For example, in the past, the Raspberry Pi used a different graphics stack. IIRC, you could only get hardware acceleration for OpenGL by using that proprietary graphics stack. If you want to make flutter-pi compatible with some platform that still uses such a non-standard grahpics stack, you could just modify the init_graphics procedure of flutter-pi to get it to work. It's not that easy with flutter_wayland though, as you'd have to update wayland for that.

Disadvantages:

  • wayland does a lot of stuff other than graphics. flutter_pi has to implement that stuff by itself. For example, there's no way to just change the speed of your mouse for flutter-pi, because there's no layer of abstraction in flutter-pi that'd implement such configuration. Keyboard layouts is similiar, that's why there's this limitation to the text input from the controlling console (see readme).
  • you can't run flutter-pi alongside your x- or wayland-server.

Does flutter-pi run on a machine if vc4graphics isn't available?

flutter-pi uses the standard linux graphics stack. So if hardware acceleration of your machine works with the standard linux graphics stack, it should run. If it uses a different graphics stack, you'd need to apply some hacks.

from flutter-pi.

limbouser avatar limbouser commented on September 13, 2024

Doesn't Wayland alone exist? Can I run flutter-pi somewhere if I can't afford to have vc4-drm? What changes wouldnI have to make to make this thing work on plain Wayland?

from flutter-pi.

ardera avatar ardera commented on September 13, 2024

Doesn't Wayland alone exist?

I don't understand what you mean by this.

Can I run flutter-pi somewhere if I can't afford to have vc4-drm?

As I wrote above, if it has working DRM support, flutter-pi should run. That's untested though. I don't understand what you mean by "afford to have vc4-drm".

What changes wouldnI have to make to make this thing work on plain Wayland?

The sole purpose of flutter-pi is to run without X or wayland, so you could probably discard most of the flutter-pi.c, console_keyboard.c files. No idea what specific changes would be necessary though.

from flutter-pi.

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.