X11 server: Difference between revisions

From ArmadeusWiki
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Introduction==
==Introduction==
Even if using an Xserver in an embedded context is most of the times not a necessity, it could be interesting in some "PDA like" applications, where existing applications reuse is needed.
Even if using an Xserver in an embedded context is most of the times not a necessity, it could be interesting in some "PDA like" applications, where existing applications reuse is needed.
Even if recent embedded systems are capable of running a full Xorg server, in embedded systems we prefer to use the reduced version TinyX/Xfbdev, which is an upper layer of the Linux [[Framebuffer]].
Even if recent embedded systems are capable of running a full Xorg server, in low RAM embedded systems we prefer to use the reduced version TinyX/Xfbdev, which is an upper layer of the Linux [[Framebuffer]].


==Installing==
==Installing==
Line 8: Line 8:
</pre>
</pre>


<pre class="config">
{| border="1" cellpadding="10" cellspacing="0" summary="" class="wikitable"
|- style="background:#efefef;" align="center"
! Low RAM !! > 256 Mbytes RAM
|-
|<pre class="config">
Target packages  --->
Target packages  --->
     Graphic libraries and applications (graphic/text)  --->
     Graphic libraries and applications (graphic/text)  --->
Line 22: Line 26:
                     *** Optional Servers ***
                     *** Optional Servers ***
                 [ ] Xvfb server
                 [ ] Xvfb server
</pre>
||
<pre class="config">
Target packages  --->
    ...
    Graphic libraries and applications (graphic/text)  --->
        [*] X.org X Window System  --->
            X11R7 Servers  --->
                X Window System server type (Modular X.org)  --->
            ...
            X11R7 Drivers  --->
                [*] xf86-input-evdev
                [*] xf86-input-keyboard
                [*] xf86-input-mouse
                [*] xf86-input-tslib
                [*] xf86-input-fbdev
</pre>
|}
* Add some applications ;-)
<pre class="config">
             ...
             ...
             X11R7 Applications  --->
             X11R7 Applications  --->
Line 33: Line 58:


==Launching==
==Launching==
* For example, with a mouse and a keyboard (event0):
{| border="1" cellpadding="10" cellspacing="0" summary="" class="wikitable"
|- style="background:#efefef;" align="center"
! Low RAM !! High RAM
|-
|* For example, with a mouse and a keyboard (event0):
<pre class="apf">
<pre class="apf">
# /usr/bin/X -mouse evdev -retro -keybd evdev,,device=/dev/input/event0 &
# /usr/bin/X -mouse evdev -retro -keybd evdev,,device=/dev/input/event0 &
Line 41: Line 70:
# /usr/bin/X -retro -mouse tslib,,device=/dev/input/event0 &
# /usr/bin/X -retro -mouse tslib,,device=/dev/input/event0 &
</pre>
</pre>
|
* if not automatically started up at boot:
<pre class="apf">
# /usr/bin/Xorg :0.0 vt01 -s 0 -noreset -retro
</pre>
|}


then you will need to launch a window manager (like [[Matchbox]] or [[Blackbox]]) and some applications....
then you will need to launch a window manager (like [[Matchbox]]/[[Blackbox]]/[[Fluxbox]]/Openbox) and some applications....


<pre class="apf">
<pre class="apf">

Latest revision as of 11:40, 20 January 2023

Introduction

Even if using an Xserver in an embedded context is most of the times not a necessity, it could be interesting in some "PDA like" applications, where existing applications reuse is needed. Even if recent embedded systems are capable of running a full Xorg server, in low RAM embedded systems we prefer to use the reduced version TinyX/Xfbdev, which is an upper layer of the Linux Framebuffer.

Installing

$ make menuconfig
Low RAM > 256 Mbytes RAM
Target packages  --->
    Graphic libraries and applications (graphic/text)  --->
        [*] X.org X Window System  --->
            X11R7 Servers  --->
                [*] xorg-server
                    X Window System server type (KDrive / TinyX)  --->
                [ ] Null root cursor
                [ ] Enable AIGLX Extension
                [*] Enable KDrive/TinyX evdev input driver
                [*] Enable KDrive/TinyX kbd input driver
                [*] Enable KDrive/TinyX mouse input driver
                    *** Optional Servers ***
                [ ] Xvfb server
Target packages  --->
    ...
    Graphic libraries and applications (graphic/text)  --->
        [*] X.org X Window System  --->
            X11R7 Servers  --->
                X Window System server type (Modular X.org)  --->
            ...
            X11R7 Drivers  --->
                [*] xf86-input-evdev
                [*] xf86-input-keyboard
                [*] xf86-input-mouse
                [*] xf86-input-tslib
                [*] xf86-input-fbdev
  • Add some applications ;-)
            ...
            X11R7 Applications  --->
                ...
                [*] xclock
                ...
                [*] xeyes
        ...
        [*] xterm

Launching

Low RAM High RAM
* For example, with a mouse and a keyboard (event0):
# /usr/bin/X -mouse evdev -retro -keybd evdev,,device=/dev/input/event0 &
  • Or with a touchscreen (event0):
# /usr/bin/X -retro -mouse tslib,,device=/dev/input/event0 &
  • if not automatically started up at boot:
# /usr/bin/Xorg :0.0 vt01 -s 0 -noreset -retro

then you will need to launch a window manager (like Matchbox/Blackbox/Fluxbox/Openbox) and some applications....

# xterm &
# xeyes &

X server with xeyes app on APF27