Creating Multiple Framebuffers Linux - linux

Hello I am currently trying to draw directly to two screens directly via framebuffer. However the current system I am working with only creates one framebuffer for both devices (HDMI and DP) I am trying to avoid using a windows manager but would welcome any other ideas.

Related

Linux virtual framebuffer

I am looking to create a virtual screen in Linux that could be accessed by reasonably standard applications and then the output would not be displayed directly anywhere but sent over network using custom protocol for displaying using proprietary device. Most preferable way would be having it in userspace.
What came to my mind is xf86-video-dummy, but I cannot find any information how to get the screen contents for processing in my application. Note that I am not just trying to make a screenshot once in a while, but I need more like mmap of the framebuffer to be able to get 25-30 frames a second. Any ideas if this is possible with xf86-video-dummy or any other mechanism?

How to add splash screen on custom linux(specially raspberry pi)

I currently have a project so basically what i want is to create an embedded linux in raspberry pi. What i want to achieve is to boot my custom made linux in my raspberry pi. I'm currently using Buildroot for that.
Here are the things what i want to happen:
Create a splash screen(How to implement this? What are the files on linux needed to edit. )
Override login prompt after booting(I want to use my own prompt which is i already created using python. What i want here is after booting my python app will be the first one to display)
Display my python application after booting.
WHAT files/configurations i need to know.
HOW to implement this. Process or a work flow.
Just like osmc or kido but i want to build my own also from scratch. Any help will be appreciated.
There are multiple components involved in splash screen. One is what you can display when u-boot starts and then the kernel takes over. You can get some information here and here. Both require re compilation of u-boot and Linux kernel. May be even some more additional steps depending on system. Also note this transition is not going to be smooth, between the logo displayed by u-boot and then the kernel.
On desktops, this is generally taken care of by software like Plymouth.
From what I understand, you want your python application to auto start after booting. Have a look at writing a systemd service for that as described here.

how linux shows its desktop on screen at kernel-level

I have some question about linux desktop environment.
How linux shows its desktop environment on a screen. I mean where and how its GUI frames generates and send to lcd driver? is it at kernel level? does it have any relation to frame buffer (such fb0)?
Is it possible to access the Desktop GUI of linux and write it on frame buffer to show the window environment of linux?
I have searched a lot but did not find my main answer that how linux Desktop Environment is created and shown by monitor that have been known by drivers on linux.
thank you for your attention.
In Linux there's no internal desktop or anything like that. desktop environments are just regular applications just like other applications. almost all desktop environments at their lowest level interact with another GUI library (e.g Qt, GTK, ...). then all these GUI libraries interact with lower-level software called windowing system or display server or window server.
In Unix systems most used window system is X window system ( simply called as X or X11). almost any GUI library which supports Linux, it works with X.
Wayland is another windowing system which is growing and is supposed to be a good replacement for X, because X window system is too old and have many issues. but X is used almost everywhere in Linux and other Unix based operating systems.
So if you really want to know what's going on down there, you should know linux graphics stack. as i said desktop environments are just high level applications. from windowing system (like X) to lower-level libraries and modules (KMS, DRM, ...), are what you really looking for.
KMS (kernel mode setting) works with display controller and DRM (direct rendering manager) works with graphics card and GPU. (however it's really not as simple as i explained)

Development and testing of framebuffer apps without leaving X11

I am developing an embedded application that will run on the framebuffer on the target device. Is it possible to develop and test such an application on a development machine (a standard desktop PC) without leaving X11?
I know there is a virtual framebuffer for Qt. I am looking to something similar to this, but not Qt-specific.
Note: This question is similar to this one, but not related to DirectFB.

Is there a way to run FirefoxOS with multiple outputs (HDMI devices)

We are trying to get FirefoxOS to use multiple outputs (HDMI devices) simultaneously in the way to show applications running on either of the screens (presumably different apps on different screens). Has anyone tried it?
There's a proof-of-concept demonstration of multiple screen feature on Firefox OS.
https://www.youtube.com/watch?v=A9QbW-paPZo
You can contact the author for further information.

Resources