I'm trying to make it working on my RPi 4B with a 4" touchscreen monitor connnected with GPIO.
I'm using your .img , I need to install monitor drivers after the first power up to see something in the display but after that I cannot see any Digiview background image on screen , only the prompt of the fpvout user.
Maybe something in the drivers broke Digiview ?
after that and one reboot the display started working but I got only a prompt and if I try to start even manually fpvout-start.sh it says:
fpvout@FPVOut:~ $ strace /home/fpvout/fpvout-start.sh
execve("/home/fpvout/fpvout-start.sh", ["/home/fpvout/fpvout-start.sh"], 0xbeef2690 /* 21 vars */) = 0
brk(NULL) = 0x1dc6000
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f30000
access("/etc/ld.so.preload", R_OK) = 0
openat(AT_FDCWD, "/etc/ld.so.preload", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=54, ...}) = 0
mmap2(NULL, 54, PROT_READ|PROT_WRITE, MAP_PRIVATE, 3, 0) = 0xb6f2f000
close(3) = 0
readlink("/proc/self/exe", "/usr/bin/bash", 4096) = 13
openat(AT_FDCWD, "/usr/lib/arm-linux-gnueabihf/libarmmem-v7l.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\254\3\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=17708, ...}) = 0
mmap2(NULL, 81964, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6eed000
mprotect(0xb6ef1000, 61440, PROT_NONE) = 0
mmap2(0xb6f00000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0xb6f00000
close(3) = 0
munmap(0xb6f2f000, 54) = 0
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=65760, ...}) = 0
mmap2(NULL, 65760, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb6edc000
close(3) = 0
openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libtinfo.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0pn\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=133216, ...}) = 0
mmap2(NULL, 198300, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6eab000
mprotect(0xb6ec9000, 65536, PROT_NONE) = 0
mmap2(0xb6ed9000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e000) = 0xb6ed9000
close(3) = 0
openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libdl.so.2", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0 \n\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=9768, ...}) = 0
mmap2(NULL, 73924, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6e98000
mprotect(0xb6e9a000, 61440, PROT_NONE) = 0
mmap2(0xb6ea9000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0xb6ea9000
close(3) = 0
openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libc.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\274x\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1296004, ...}) = 0
mmap2(NULL, 1364764, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6d4a000
mprotect(0xb6e82000, 65536, PROT_NONE) = 0
mmap2(0xb6e92000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x138000) = 0xb6e92000
mmap2(0xb6e95000, 8988, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6e95000
close(3) = 0
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f2e000
set_tls(0xb6f2e500) = 0
mprotect(0xb6e92000, 8192, PROT_READ) = 0
mprotect(0xb6ea9000, 4096, PROT_READ) = 0
mprotect(0xb6ed9000, 8192, PROT_READ) = 0
mprotect(0xb6f00000, 4096, PROT_READ) = 0
mprotect(0xfc000, 4096, PROT_READ) = 0
mprotect(0xb6f32000, 4096, PROT_READ) = 0
munmap(0xb6edc000, 65760) = 0
openat(AT_FDCWD, "/dev/tty", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 3
close(3) = 0
brk(NULL) = 0x1dc6000
brk(0x1de7000) = 0x1de7000
openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=3031632, ...}) = 0
mmap2(NULL, 2097152, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb6b4a000
mmap2(NULL, 2596864, PROT_READ, MAP_PRIVATE, 3, 0x6b000) = 0xb68d0000
close(3) = 0
openat(AT_FDCWD, "/usr/lib/arm-linux-gnueabihf/gconv/gconv-modules.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=26406, ...}) = 0
mmap2(NULL, 26406, PROT_READ, MAP_SHARED, 3, 0) = 0xb6f27000
close(3) = 0
getuid32() = 1001
getgid32() = 1001
geteuid32() = 1001
getegid32() = 1001
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
gettimeofday({tv_sec=1633702995, tv_usec=759028}, NULL) = 0
ioctl(-1, TIOCGPGRP, 0xbeeb93f0) = -1 EBADF (Bad file descriptor)
sysinfo({uptime=676, loads=[60576, 52864, 30368], totalram=4025724928, freeram=3710840832, sharedram=8851456, bufferram=26619904, totalswap=104853504, freeswap=104853504, procs=141, totalhigh=3342860288, freehigh=3103133696, mem_unit=1}) = 0
rt_sigaction(SIGCHLD, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0xb6d77110}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGCHLD, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0xb6d77110}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0xb6d77110}, 8) = 0
rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d77110}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d77110}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d77110}, 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d77110}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d77110}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d77110}, 8) = 0
rt_sigaction(SIGTSTP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d77110}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGTSTP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d77110}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d77110}, 8) = 0
rt_sigaction(SIGTTIN, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d77110}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGTTIN, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d77110}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d77110}, 8) = 0
rt_sigaction(SIGTTOU, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d77110}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGTTOU, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d77110}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d77110}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d77110}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d77110}, 8) = 0
uname({sysname="Linux", nodename="FPVOut", ...}) = 0
stat64("/home/fpvout", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
stat64(".", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
stat64("/home", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/home/fpvout", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
getpid() = 1415
getppid() = 1412
gettimeofday({tv_sec=1633702995, tv_usec=768833}, NULL) = 0
getpid() = 1415
getpgrp() = 1412
ioctl(2, TIOCGPGRP, [1412]) = 0
rt_sigaction(SIGCHLD, {sa_handler=0x55a6c, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0xb6d77110}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0xb6d77110}, 8) = 0
ugetrlimit(RLIMIT_NPROC, {rlim_cur=30185, rlim_max=30185}) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
openat(AT_FDCWD, "/home/fpvout/fpvout-start.sh", O_RDONLY|O_LARGEFILE) = 3
stat64("/home/fpvout/fpvout-start.sh", {st_mode=S_IFREG|0775, st_size=126, ...}) = 0
ioctl(3, TCGETS, 0xbeeb9390) = -1 ENOTTY (Inappropriate ioctl for device)
_llseek(3, 0, [0], SEEK_CUR) = 0
read(3, "#!/bin/bash \n\nexport DISPLAY=:0;"..., 80) = 80
_llseek(3, 0, [0], SEEK_SET) = 0
ugetrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024*1024}) = 0
fcntl64(255, F_GETFD) = -1 EBADF (Bad file descriptor)
dup2(3, 255) = 255
close(3) = 0
fcntl64(255, F_SETFD, FD_CLOEXEC) = 0
fcntl64(255, F_GETFL) = 0x20000 (flags O_RDONLY|O_LARGEFILE)
fstat64(255, {st_mode=S_IFREG|0775, st_size=126, ...}) = 0
_llseek(255, 0, [0], SEEK_CUR) = 0
read(255, "#!/bin/bash \n\nexport DISPLAY=:0;"..., 126) = 126
stat64("/home", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/home/fpvout", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
stat64("/home/fpvout/fpv-c", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
chdir("/home/fpvout/fpv-c") = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
pipe([3, 4]) = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [CHLD], 8) = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb6f2e0a8) = 1416
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
close(4) = 0
close(4) = -1 EBADF (Bad file descriptor)
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [CHLD], 8) = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb6f2e0a8) = 1417
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
close(3) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD], 8) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD], 8) = 0
rt_sigaction(SIGINT, {sa_handler=0x526b4, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d77110}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d77110}, 8) = 0
wait4(-1, unable to open device, or device not found
try running as root (with sudo)
[{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 1416
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 1417
rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d77110}, {sa_handler=0x526b4, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d77110}, 8) = 0
ioctl(2, TIOCGWINSZ, {ws_row=30, ws_col=191, ws_xpixel=2101, ws_ypixel=690}) = 0
ioctl(1, TCGETS, {B9600 opost isig icanon echo ...}) = 0
stat64("/home/fpvout/.terminfo", 0x1dcfa90) = -1 ENOENT (No such file or directory)
stat64("/etc/terminfo", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/lib/terminfo", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/share/terminfo", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
gettimeofday({tv_sec=1633703015, tv_usec=821832}, NULL) = 0
access("/etc/terminfo/x/xterm", R_OK) = -1 ENOENT (No such file or directory)
access("/lib/terminfo/x/xterm", R_OK) = 0
openat(AT_FDCWD, "/lib/terminfo/x/xterm", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=3435, ...}) = 0
read(3, "\32\1)\0&\0\17\0\235\1\244\5xterm|xterm-debian|X"..., 32768) = 3435
read(3, "", 28672) = 0
close(3) = 0
gettimeofday({tv_sec=1633703015, tv_usec=824613}, NULL) = 0
ioctl(1, TCGETS, {B9600 opost isig icanon echo ...}) = 0
ioctl(1, TCGETS, {B9600 opost isig icanon echo ...}) = 0
ioctl(1, TCGETS, {B9600 opost isig icanon echo ...}) = 0
ioctl(1, TCGETS, {B9600 opost isig icanon echo ...}) = 0
ioctl(1, TIOCGWINSZ, {ws_row=30, ws_col=191, ws_xpixel=2101, ws_ypixel=690}) = 0
ioctl(0, TIOCGWINSZ, {ws_row=30, ws_col=191, ws_xpixel=2101, ws_ypixel=690}) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
close(3) = -1 EBADF (Bad file descriptor)
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=1416, si_uid=1001, si_status=1, si_utime=0, si_stime=1} ---
wait4(-1, 0xbeeb8dec, WNOHANG, NULL) = -1 ECHILD (No child processes)
sigreturn({mask=[]}) = 0
read(255, "", 126) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
exit_group(0) = ?
+++ exited with 0 +++