OK I got some new info.
I can now run the container directly from the RPi 3 via following command:
docker run --privileged nmaas87/docker-raspbian_xinit:latest
It did not work because I forgot about privileged mode
. However, still no Mouse and Keyboard - even if I mount the whole /dev/ directory to the folder (only for debug purposes ;)).
I can also use rdt to push the container, but I need to remove the cross-build-start and end before pushing from the Dockerfile - which is clear, otherwise the container would try to build itself on the ARM Hardware waiting for some x64 system… ( https://github.com/nmaas87/docker-raspbian_xinit/blob/master/xinit_latest/Dockerfile ). I did also remove -use_cursor no from https://github.com/nmaas87/docker-raspbian_xinit/blob/master/xinit_latest/src/launch_app.sh to be sure that the windowmanager would be able to use the cursor - but in fact, no matter if I enable or disable it or remove it, the cursor is visible. If I remove it from the config, I get a small black box in the left (0,0) coordinate. But nothing else changes.
maas@Munin:~/Schreibtisch/docker-raspbian_xinit/xinit_latest$ sudo rdt push 192.168.4.74 -s . -n gui
* Building..
- Stopping and Removing any previous 'gui' container
- Building new 'gui' image
Step 1 : FROM nmaas87/docker-raspbian_qemu:latest
---> 4073f3881ae6
Step 2 : MAINTAINER Nico Maas <mail@nico-maas.de>
---> Using cache
---> da972a7dd2ba
Step 3 : ENV DEBIAN_FRONTEND noninteractive
---> Using cache
---> 87c41703e1f4
Step 4 : RUN apt-get update && apt-get install -yq --no-install-recommends alsa-utils xinput-calibrator autoconf build-essential git openssh-server xserver-xorg-core xorg libgtk2.0-0 libnotify4 libgconf2-4 libnss3 libasound2 matchbox sudo locales whois gedit && apt-get autoremove -qqy && apt-get autoclean -y && apt-get clean && rm -rf /var/lib/apt/lists/* && mkdir /var/lib/apt/lists/partial && mkdir /var/run/sshd && echo 'root:resin' | chpasswd && sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config && sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
---> Using cache
---> 78148d6cf14d
Step 5 : RUN touch /usr/share/locale/locale.alias && sed -i "s/^#\ \+\(de_DE.UTF-8\)/\1/" /etc/locale.gen && locale-gen de_DE de_DE.UTF-8
---> Using cache
---> ef485e0541b1
Step 6 : ENV LANG de_DE.UTF-8 LC_ALL de_DE.UTF-8 LANGUAGE de_DE:de
---> Using cache
---> 3ff6e5ab0b8d
Step 7 : RUN useradd --groups=sudo --create-home --home-dir=/home/pi --shell=/bin/bash --password=$(mkpasswd pi) pi && sed -i '/%sudo[[:space:]]/ s/ALL[[:space:]]*$/NOPASSWD:ALL/' /etc/sudoers
---> Running in cebaee0dd6b4
---> 20b64f700075
Removing intermediate container cebaee0dd6b4
Step 8 : RUN mkdir -p /usr/src/app && ln -s /usr/src/app /app
---> Running in a8ef9665e9e8
---> 478211144810
Removing intermediate container a8ef9665e9e8
Step 9 : WORKDIR /usr/src/app
---> Running in 07dd70dc0212
---> 598c4d8c6217
Removing intermediate container 07dd70dc0212
Step 10 : COPY src /usr/src/app
---> ddacff36f29c
Removing intermediate container ff03e44a7f19
Step 11 : COPY src/start.sh /start.sh
---> f7f437de82a8
Removing intermediate container 674258f8bdf1
Step 12 : CMD bash /start.sh
---> Running in 1a475702fdf8
---> ccdb0245a189
Removing intermediate container 1a475702fdf8
Successfully built ccdb0245a189
- Creating 'gui' container
- Starting 'gui' container
rdt push completed successfully!
* Streaming application logs..
Invalid card number.
2Usage: amixer <options> [command]
Available options:
-h,--help this help
-c,--card N select the card
-D,--device N select the device, default 'default'
-d,--debug debug mode
-n,--nocheck do not perform range checking
-v,--version print version of this program
-q,--quiet be quiet
-i,--inactive show also inactive controls
-a,--abstract L select abstraction level (none or basic)
-s,--stdin Read and execute commands from stdin sequentially
-R,--raw-volume Use the raw value (default)
-M,--mapped-volume Use the mapped volume
Available commands:
scontrols show all mixer simple controls
scontents show contents of all mixer simple controls (default command)
sset sID P set contents for one mixer simple control
sget sID get contents for one mixer simple control
controls show all controls for given card
contents show contents of all controls for given card
cset cID P set control contents for one control
cget cID get control contents for one control
2Usage: amixer <options> [command]
Available options:
-h,--help this help
-c,--card N select the card
-D,--device N select the device, default 'default'
-d,--debug debug mode
-n,--nocheck do not perform range checking
-v,--version print version of this program
-q,--quiet be quiet
-i,--inactive show also inactive controls
-a,--abstract L select abstraction level (none or basic)
-s,--stdin Read and execute commands from stdin sequentially
-R,--raw-volume Use the raw value (default)
-M,--mapped-volume Use the mapped volume
Available commands:
scontrols show all mixer simple controls
scontents show contents of all mixer simple controls (default command)
sset sID P set contents for one mixer simple control
sget sID get contents for one mixer simple control
controls show all controls for given card
contents show contents of all controls for given card
cset cID P set control contents for one control
cget cID get control contents for one control
Invalid card number.
X.Org X Server 1.18.4
Release Date: 2016-07-19
"X Protocol Version 11, Revision 0
9Build Operating System: Linux 4.4.26-v7+ armv7l Raspbian
XCurrent Operating System: Linux resin 4.4.48 #2 SMP Thu Apr 13 05:03:46 UTC 2017 armv7l
Kernel command line: �8250.nr_uarts=1 dma.dmachans=0x7f35 bcm2708_fb.fbwidth=1280 bcm2708_fb.fbheight=1024 bcm2709.boardrev=0xa02082 bcm2709.serial=0xf2ef8db0 smsc95xx.macaddr=B8:27:EB:EF:8D:B0 bcm2708_fb.fbdepth=16 bcm2708_fb.fbswap=1 bcm2709.uart_clock=4800000P0 vc_mem.mem_base=0x3ea00000 vc_mem.mem_size=0x3f000000 dwc_otg.lpm_enable=0 coMnsole=tty1 console=ttyS0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait
)Build Date: 11 November 2016 11:59:59AM
>xorg-server 2:1.18.4-2+rpi1 (https://www.debian.org/support)
"Current version of pixman: 0.33.3
d Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, .(**) from config file, (==) default setting,
%(++) from command line, (!!) notice, E(II) informational,
(WW) warning, (EE) error, (NI) not implemented, S(??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Mon May 1 15:58:02 2017
@(==) Using system config directory "/usr/share/X11/xorg.conf.d"
*modprobe: FATAL: Module g2d_23 not found.
}
** (gedit:35): WARNING **: Could not load Gedit repository: Typelib file for namespace 'GtkSource', version '3.0' not found
�
(gedit:35): dconf-WARNING **: failed to commit changes to dconf: Failed to execute child process "dbus-launch" (No such file or directory)
�
(gedit:35): dconf-WARNING **: failed to commit changes to dconf: Failed to execute child process "dbus-launch" (No such file or directory)
However, no mouse/keyboard support either and - as with the direct approach. And it feels like gedit seems to die after 10 cursor blinks or so (the textcursor stops blinking after about 10 blinks or so…)