Comments (3)
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 theinit_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.
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.
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)
- Audioplayers MissingPluginException HOT 1
- Orange Pi Zero 3 configuration HOT 3
- Does flutter-pi work on Orange Pi 3 LTS? HOT 1
- Error installing flutterpi_tool HOT 1
- Member not found: 'windows_arm64' HOT 1
- MissingPluginException No implementation found for method openFile HOT 1
- Mouse Only Moves on Half the Screen with flutter-pi Rotated 90 Degrees
- RK3566 board get black screen with a cursor
- New Snapp CLI Update: Easy Raspberry Pi Setup from scratch, and Custom Device Integration HOT 2
- Flutter-pi and nanodlp image display conflict problem. HOT 1
- How can I install the precompile flutter-pi package on Raspberry Pi? HOT 1
- Memory leak on NXP IMX8x HOT 3
- Directory Structure after build HOT 2
- Flutter-pi compiled app on CoreMP183 errors HOT 1
- [Seeking for help] "io.flutter.rast" received signal SIGSEGV, Segmentation fault on NXP IMX8 HOT 2
- Is it possible to replace `systemd` with `libuv` HOT 16
- How to rotate touch input by 180 degrees without rotating the displayed app? HOT 2
- Smooth scrolling question HOT 12
- Video player init problem HOT 1
- flutter-pi -r 180 doesn't rotate the shadows HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flutter-pi.