How to build a linux based custom OS with GUI for Raspberry Pi 3B+ - embedded-linux

I am new to embedded linux, in order to learn how to build custom linux based OS from scratch I have decided to use buildroot.
I want to build a GUI based OS RaspberryPi 3B+ (or 3B) similar to that of Raspbian OS, from scratch. How do I go about this?
By googling, I was able to find a few resources that teach how to build a non-GUI based minimal OS, and could not find any for GUI based.
Looking for information and/or resources on how I can do this.

In buildroot menuconfig running with default raspberryPi config,
Package Selection --> Graphic libraries and applications -
Enable the following,
X Windows System Server --> modular xorg ( The X.Org project provides an open source implementation of the X Window)
X.org X Window System, X11R7 --> X11R7 Applications --> xinit (gives startx command to begin GUI)
X.org X Window System, X11R7 --> X11R7 Servers --> xorg-server (X server component)
X.org X Window System, X11R7 --> X11R7 Drivers --> xf86-input-keyboard (very common interface :-)
X.org X Window System, X11R7 --> X11R7 Drivers --> xf86-input-mouse
X.org X Window System, X11R7 --> X11R7 Drivers --> xf86-video-cirrus (Cirrus VGA is emulated in QEMU)
X.org X Window System, X11R7 --> X11R7 Drivers --> xf86-video-fbdev (or you can use framebuffer)
X.org X Window System, X11R7 --> X11R7 Application --> you can add some useful applications
X.org X Window System, X11R7 --> MatchBow Window Manager (The Matchbox window manager is responsible for managing X11 client window geometry and stacking order, as well as providing decorations and controls) or any other window manager of your choice.
X.org X Window System, X11R7 --> rxtv (Terminal emulation program in X
Once it is built, bootup the board and run startx.

Related

X11 virtual desktops: which are visible?

My Python program uses Xlib and Gtk3 and runs in an X-session with the window manager i3. I have 3 (real) monitors in this setup. i3 provides virtual desktops (and many other window managers behave similar here), at least 3 of them, as each monitor represents a desktop (on this standard setup). A monitor can have more desktops, but only one of them will be visible at a time.
I managed to move windows to any desktop:
gtk_window.get_window().move_to_desktop(2)
I can also distinguish on which monitor a desktop/window is:
x11display = Gdk.get_default_root_window().get_display()
x11monitor = x11display.get_monitor_at_window(gtk_window)
xid = GdkX11.X11Monitor.get_output(x11monitor)
# different xid → different monitor
But I found no way to see which desktop is visible whenever multiple desktops are associated with a monitor.
Any solution?

Windows iot LCD screen for raspberry pi

Please apart from the 7" LCD touch screen, which other lcd screen can work with raspberry pi using windows iot core operating system
It is recommended to use the screen device which is listed in the Hardware compatibility list. As mentioned in the document, this list is not exhaustive. There are many other peripherals not listed on this page that are compatible with Windows 10 IoT Core. You may try with other screen, maybe it is also compatible. If you just want to use a display screen without touch input, in general the screen with HDMI interface is usable.

Why does macOS handle screen resolution differently from Windows?

Apple iMac & MacBook lineup uses high-resolution display branded as "Retina Display" which by default, macOS will set the screen resolution below the native screen resolution. For example on the 13-inch Retina MacBook Pro, which comes with native resolution of 2560-by-1600, macOS will set the default resolution to 1280-by-800 with option to scaled to other screen resolution (1024-by-640, 1440-by-900, and 1680-by-1050) on Settings app.
However, on Windows (including the latest version) screen resolution are by default, set to the native screen resolution with "Scaling" function to increases the elements sizing. For example on a 15-inch laptop, which comes with a Full HD display, Windows will set the default resolution to the 1920-by-1080 with scaling set to 100% but recommended to 125%. Setting a higher scaling in turns result in certain elements displayed blurry.
Hence, why is this case?
An operating system can work without screens. You could for example start your computer (either running Windows, or MacOSX, or Linux), and run some application app (or app.exe on Windows) on that command line.
Now, imagine you type app (without the ENTER key) in some command window, unplug your screen, and type the ENTER key. You app has still started (and perhaps detected that no screen is available, only if that app is a GUI application opening a window by using some widget toolkit). If your app is not a GUI application but a command line one (eg cp which copy files) it can successfully execute.
In practice, your screen is today used by some display server. And your application don't show directly pixels on the screen: it interacts with your display server which generally is the only process accessing the screen (more precisely, your graphics card).
So you need to learn how to tune or configure your display server. And that of course is operating system and display server specific. On MacOSX and and Windows and on Linux they are very different (and Linux even has several ones, e.g. Xorg or Wayland). On MacOSX it is Quartz.

After instaling window 8 Brightness control not working

After installing new Windows8 ultimate OS.
Brightness control keys are not working of my laptop.
My laptop model is TOSHIBA SATELLITE C660D
I search for drivers but not find suitable and working driver for my laptop.
I have the similar issue and have solved it like this
Just right click --> My Device/Mycomputer ---> Manage --->Device Manager
Then find Monitor open Monitor section
And then right click on Generic PnP Monitor and click enable
Then you will be able to use brightness keys in window 10 and 8
I have similar issue with Lenovo Y570. The software for managing fan speed does not wortking properly - it does not manage fan speed. Try to install soft which manages brighetness for windows 7 and compatibility mode.
P.S. Don't forget to create Restore point first.
Try to rollback driver to Windows default driver.
goto Control Panel - Device Manager - Display Devices - Right Click on Intel Graphics - Click on RollBack - Confirm - Ok.

os x gui api clarification

If I wanted to write my own window manager for OS X (please dont respond with "whats the point"??), what APIs should I be looking at?
There is no such thing as a "window manager" in OS X, and no public interface to implement one. The functions that an X11 window manager would perform are split between the GUI toolkit (Carbon/Cocoa), the Dock application and the window server.
Your only real choice if you want to change OS X's windowing behavior is to patch individual applications, the Dock (which has a privileged connection to the window server) and/or the window server. It'd involve a great deal of reverse engineering and almost certainly break in 10.6, but it's certainly possible.
At the hardware level, write your own APIs.
Otherwise, there are various graphics architectures in which to plug in your window manager:
OpenGL
Quartz
Quicktime
X11

Resources