Argon Pod Display as moode local display - funkster - 04-06-2024
Hi everyone!
I am running moode on a Zero 2w all tucked inside the Argon Pod Case & Display, I am wondering if anyone else here managed to get the Pod Display to work.
So far, Argon Pod Display installer Script works for the initial setup, but all it displays is the tty1 console messages.
[attachment=3717]
Messing around Configure->Peripherals->Local Display didn't take me very far
Anyone have any ideas to make this 2.8inch touch display more useful ?
Argon's Pod Display Installation Script:
Code: #!/bin/bash
echo "******************"
echo " ArgonPOD Setup "
echo "******************"
#if [ "$EUID" -ne 0 ]; then
# echo "Please run as root"
# exit
#fi
CHECKGPIOMODE="libgpiod" # libgpiod or rpigpio
# Helper variables
ARGONDOWNLOADSERVER=https://download.argon40.com
INSTALLATIONFOLDER=/etc/argonpod
# Files
tmpfile=$INSTALLATIONFOLDER/tmpfile.bak
configscript=$INSTALLATIONFOLDER/argonpod-config
systembackupfolder=$INSTALLATIONFOLDER/system_backup
# Targetted System Files
if [ -e /boot/firmware/config.txt ] ; then
FIRMWARE=/firmware
else
FIRMWARE=
fi
bootconfigfile=/boot${FIRMWARE}/config.txt
bootcmdlinefile=/boot${FIRMWARE}/cmdline.txt
calibrationfile=/etc/X11/xorg.conf.d/99-calibration.conf
evdevfile=/usr/share/X11/xorg.conf.d/45-evdev.conf
fbturbofile=/usr/share/X11/xorg.conf.d/99-fbturbo.conf
setupmode="Setup"
if [ ! -d "$INSTALLATIONFOLDER" ]
then
tftdevicename=tft9341
tftoverlayfile=/boot/overlays/${tftdevicename}-overlay.dtb
tftoverlayfiledtbo=/boot/overlays/${tftdevicename}.dtbo
sudo mkdir -p $systembackupfolder
sudo chmod -R 755 $INSTALLATIONFOLDER
sudo touch $tmpfile
sudo chmod 666 $tmpfile
# Backup files if necessary
if [ -f "$tftoverlayfile" ]
then
sudo cp $tftoverlayfile $systembackupfolder/
fi
if [ -f "$tftoverlayfiledtbo" ]
then
sudo cp $tftoverlayfiledtbo $systembackupfolder/
fi
if [ -f "$calibrationfile" ]
then
sudo cp $calibrationfile $systembackupfolder/
fi
if [ -f "$evdevfile" ]
then
sudo cp $evdevfile $systembackupfolder/
fi
if [ -f "$fbturbofile" ]
then
sudo cp $fbturbofile $systembackupfolder/
fi
sudo cp $bootconfigfile $systembackupfolder/
sudo cp $bootcmdlinefile $systembackupfolder/
# Download/Create files and folders
if [ ! -d /etc/X11/xorg.conf.d ]; then
sudo mkdir -p /etc/X11/xorg.conf.d
fi
if [ ! -d /usr/share/X11/xorg.conf.d ]; then
sudo mkdir -p /usr/share/X11/xorg.conf.d
fi
sudo wget $ARGONDOWNLOADSERVER/pod/${tftdevicename}-overlay.dtb -O $tmpfile --quiet
sudo cp $tmpfile $tftoverlayfile
sudo cp $tmpfile $tftoverlayfiledtbo
sudo chmod 755 $tftoverlayfile
sudo chmod 755 $tftoverlayfiledtbo
# Disable DRM VC4 V3D driver
grep -v "dtoverlay=vc4-kms-v3d" $bootconfigfile > $tmpfile
grep -v 'dtoverlay=gpio-ir,gpio_pin=23' $tmpfile > $tmpfile
# Update/Add configuration / files
echo "hdmi_force_hotplug=1" >> $tmpfile
echo "dtparam=i2c_arm=on" >> $tmpfile
echo "dtparam=spi=on" >> $tmpfile
echo "enable_uart=1" >> $tmpfile
echo "dtoverlay=${tftdevicename}:rotate=270" >> $tmpfile
echo "hdmi_group=2" >> $tmpfile
echo "hdmi_mode=1" >> $tmpfile
echo "hdmi_mode=87" >> $tmpfile
echo "hdmi_cvt 320 240 60 6 0 0 0" >> $tmpfile
echo "hdmi_drive=2" >> $tmpfile
echo "dtoverlay=gpio-ir,gpio_pin=23" >> $tmpfile
sudo cp $tmpfile $bootconfigfile
# 270-degree orientation touch Setting
echo 'Section "InputClass"' > $tmpfile
echo ' Identifier "calibration"' >> $tmpfile
echo ' MatchProduct "ADS7846 Touchscreen"' >> $tmpfile
echo ' Option "Calibration" "115 3700 3865 155"' >> $tmpfile
echo ' Option "SwapAxes" "1"' >> $tmpfile
echo 'EndSection' >> $tmpfile
sudo cp $tmpfile $calibrationfile
sudo chmod 644 $calibrationfile
echo 'Section "Device"' > $tmpfile
echo ' Identifier "Allwinner A10/A13/A20 FBDEV"' >> $tmpfile
echo ' Driver "fbturbo"' >> $tmpfile
echo ' Option "fbdev" "/dev/fb1"' >> $tmpfile
echo ' Option "SwapbuffersWait" "true"' >> $tmpfile
echo 'EndSection' >> $tmpfile
sudo cp $tmpfile $fbturbofile
sudo chmod 644 $fbturbofile
# xserver input
SYSTEMYEAR=`uname -v`
SYSTEMYEAR=${SYSTEMYEAR##* }
if [ $SYSTEMYEAR -ge 2017 ]
then
sudo apt-get install xserver-xorg-input-evdev 2> $tmpfile
grep -q "error:" $tmpfile && exit
sudo cp /usr/share/X11/xorg.conf.d/10-evdev.conf $evdevfile
fi
else
setupmode="Update"
echo "Updating files"
sudo touch $tmpfile
sudo chmod 666 $tmpfile
fi
grep -q -F 'fbcon' $bootcmdlinefile
if [ $? -ne 0 ]; then
sudo cp $bootcmdlinefile $systembackupfolder/
TMPCMDLINE=$(cat $bootcmdlinefile)
echo "$TMPCMDLINE fbcon=map:10 fbcon=font:ProFont6x11 " | sudo tee $bootcmdlinefile 1> /dev/null
fi
# Argon POD Config File
buttonconfigfile=/etc/argonpod.conf
if [ ! -f $buttonconfigfile ]; then
sudo touch $buttonconfigfile
sudo chmod 666 $buttonconfigfile
echo "#" > $buttonconfigfile
echo "# Argon POD Configuration" >> $buttonconfigfile
echo "#" >> $buttonconfigfile
fi
# Support scripts
versioninfoscript=$INSTALLATIONFOLDER/versioninfo.sh
rotatescript=$INSTALLATIONFOLDER/rotate.sh
buttonsetupscript=$INSTALLATIONFOLDER/buttonsetup.sh
fbcpinstallscript=$INSTALLATIONFOLDER/fbcpinstall.sh
resolutionscript=$INSTALLATIONFOLDER/resolution.sh
uninstallscript=$INSTALLATIONFOLDER/uninstall.sh
daemonpodscript=$INSTALLATIONFOLDER/argonpodd.py
daemonpodservice=/lib/systemd/system/argonpodd.service
shutdownscript=/lib/systemd/system-shutdown/argonpod-shutdown.sh
sudo wget $ARGONDOWNLOADSERVER/pod/versioninfo.sh -O $versioninfoscript --quiet
sudo wget $ARGONDOWNLOADSERVER/pod/rotate.sh -O $rotatescript --quiet
sudo wget $ARGONDOWNLOADSERVER/pod/buttonsetup.sh -O $buttonsetupscript --quiet
sudo wget $ARGONDOWNLOADSERVER/pod/fbcpinstall.sh -O $fbcpinstallscript --quiet
sudo wget $ARGONDOWNLOADSERVER/pod/resolution.sh -O $resolutionscript --quiet
sudo wget $ARGONDOWNLOADSERVER/pod/uninstall.sh -O $uninstallscript --quiet
sudo chmod 755 $INSTALLATIONFOLDER/*.sh
# Packages and main Daemon
gpiopkg="python3-libgpiod"
if [ "$CHECKGPIOMODE" = "rpigpio" ]
then
if [ "$CHECKPLATFORM" = "Raspbian" ]
then
gpiopkg="raspi-gpio python3-rpi.gpio"
else
gpiopkg="python3-rpi.gpio"
fi
sudo wget $ARGONDOWNLOADSERVER/pod/argonpodd.py -O $daemonpodscript --quiet
else
sudo wget $ARGONDOWNLOADSERVER/pod/argonpodd-libgpiod.py -O $daemonpodscript --quiet
fi
sudo apt-get install -y $gpiopkg
# Daemon
sudo wget $ARGONDOWNLOADSERVER/pod/argonpodd.service -O $daemonpodservice --quiet
sudo chmod 644 $daemonpodservice
# Shutdown Script
# Argon Shutdown script
sudo wget $ARGONDOWNLOADSERVER/pod/shutdown.sh -O $shutdownscript --quiet
sudo chmod 755 $shutdownscript
# Config script
echo '#!/bin/bash' > $tmpfile
echo 'echo "----------------------------"' >> $tmpfile
echo 'echo "ArgonPod Configuration Tool"' >> $tmpfile
echo "$versioninfoscript simple" >> $tmpfile
echo 'echo "----------------------------"' >> $tmpfile
echo 'get_number () {' >> $tmpfile
echo ' read curnumber' >> $tmpfile
echo ' if [ -z "$curnumber" ]' >> $tmpfile
echo ' then' >> $tmpfile
echo ' echo "-2"' >> $tmpfile
echo ' return' >> $tmpfile
echo ' elif [[ $curnumber =~ ^[+-]?[0-9]+$ ]]' >> $tmpfile
echo ' then' >> $tmpfile
echo ' if [ $curnumber -lt 0 ]' >> $tmpfile
echo ' then' >> $tmpfile
echo ' echo "-1"' >> $tmpfile
echo ' return' >> $tmpfile
echo ' elif [ $curnumber -gt 100 ]' >> $tmpfile
echo ' then' >> $tmpfile
echo ' echo "-1"' >> $tmpfile
echo ' return' >> $tmpfile
echo ' fi ' >> $tmpfile
echo ' echo $curnumber' >> $tmpfile
echo ' return' >> $tmpfile
echo ' fi' >> $tmpfile
echo ' echo "-1"' >> $tmpfile
echo ' return' >> $tmpfile
echo '}' >> $tmpfile
echo '' >> $tmpfile
echo 'mainloopflag=1' >> $tmpfile
echo 'while [ $mainloopflag -eq 1 ]' >> $tmpfile
echo 'do' >> $tmpfile
echo ' echo' >> $tmpfile
echo ' echo "Choose Option:"' >> $tmpfile
echo ' echo " 1. Rotate Screen"' >> $tmpfile
echo ' echo " 2. Configure Buttons"' >> $tmpfile
echo ' echo " 3. Install Framebuffer Copy (FBCP) Driver"' >> $tmpfile
echo ' echo " 4. Set Resolution (Requires FBCP)"' >> $tmpfile
uninstalloption="5"
echo " echo \" $uninstalloption. Uninstall\"" >> $tmpfile
echo ' echo ""' >> $tmpfile
echo ' echo " 0. Exit"' >> $tmpfile
echo " echo -n \"Enter Number (0-$uninstalloption):\"" >> $tmpfile
echo ' newmode=$( get_number )' >> $tmpfile
echo ' if [ $newmode -eq 0 ]' >> $tmpfile
echo ' then' >> $tmpfile
echo ' echo "Thank you."' >> $tmpfile
echo ' mainloopflag=0' >> $tmpfile
echo ' elif [ $newmode -eq 1 ]' >> $tmpfile
echo ' then' >> $tmpfile
echo " $rotatescript" >> $tmpfile
echo ' mainloopflag=0' >> $tmpfile
echo ' elif [ $newmode -eq 2 ]' >> $tmpfile
echo ' then' >> $tmpfile
echo " $buttonsetupscript" >> $tmpfile
echo ' mainloopflag=0' >> $tmpfile
echo ' elif [ $newmode -eq 3 ]' >> $tmpfile
echo ' then' >> $tmpfile
echo " $fbcpinstallscript" >> $tmpfile
echo ' mainloopflag=0' >> $tmpfile
echo ' elif [ $newmode -eq 4 ]' >> $tmpfile
echo ' then' >> $tmpfile
echo " $resolutionscript" >> $tmpfile
echo ' mainloopflag=0' >> $tmpfile
echo " elif [ \$newmode -eq $uninstalloption ]" >> $tmpfile
echo ' then' >> $tmpfile
echo " $uninstallscript" >> $tmpfile
echo ' mainloopflag=0' >> $tmpfile
echo ' fi' >> $tmpfile
echo 'done' >> $tmpfile
sudo cp $tmpfile $configscript
sudo chmod 755 $configscript
# Add to system path
configcmd="$(basename -- $configscript)"
if [ "$setupmode" = "Setup" ]
then
if [ -f "/usr/bin/$configcmd" ]
then
sudo rm /usr/bin/$configcmd
fi
sudo ln -s $configscript /usr/bin/$configcmd
# Enable and Start Service(s)
sudo systemctl daemon-reload
sudo systemctl enable argonpodd.service
sudo systemctl start argonpodd.service
else
sudo systemctl restart argonpodd.service
fi
if [ -f $tmpfile ]
then
sudo rm $tmpfile
fi
echo "*********************"
echo " $setupmode Completed "
echo "*********************"
$versioninfoscript
echo
if [ "$setupmode" = "Setup" ]
then
echo "Changes should take effect after reboot"
fi
echo "Use '$configcmd' to configure device"
echo
RE: Argon Pod Display as moode local display - TheOldPresbyope - 04-07-2024
@funkster
[I have no experience driving SPI LCDs from RPis, in general, or moOde, in particular, so the following is just stream-of-consciousness ramblings.]
So then you said "Messing around Configure->Peripherals->Local Display didn't take me very far."
What does this mean? What did you do and what did you expect? (It helps too to tell us what version of moOde you installed).
It seems like the Argon installer script did its job installing the proper display device driver since you see the bootup tty1 output displayed on your LCD.
The local display on moOde is simply an instance of the Chromium browser displaying to a device via the X11 Server.
Did you examine the system logs (/var/log/syslog, /var/log/moode.log, etc) to see if there are any telltale error messages---maybe some thrown by xinit?
Have you tried connecting an HDMI display just to be sure the output you're looking for hasn't been directed there for some reason?
Finally, I can't find a statement of the screen resolution of the POD Display on the Argon40 site. I'm not sure what either the moOde WebUI or the Chromium browser will do with really small canvases.
Regards,
Kent
PS - On an unrelated note, I notice your hostname is "02wpod" which I assume begins with the digit zero. Beginning an Internet hostname with a digit has been legal since late 1989 (RFC1123) but it still makes this old graybeard shudder. You never know when some poorly crafted piece of code will make an assumption that a string which begins with a digit must be a number rather than an identifier.
RE: Argon Pod Display as moode local display - funkster - 04-07-2024
Thanks for sharing your thoughts Kent
(04-07-2024, 03:41 PM)TheOldPresbyope Wrote: So then you said "Messing around Configure->Peripherals->Local Display didn't take me very far."
What does this mean? What did you do and what did you expect? (It helps too to tell us what version of moOde you installed).
I just pressed the UI button to enable (turn on) the local display and crossed my fingers that it would automagically make everything work . This is a fresh install of the latest Release 8.3.9 2024-02-2.
I 've never used moode with a local display myself, I've been bumping into random posts here and there showcasing various displays connected to RPis that display stats, song titles and maybe a couple of controls like play/pause (one example is this thread here: [How to do instruction] LCD/OLED display using pydPiper). To stay honest, I just like the Pod system for the Zero 2w and I'm wandering if it could display something useful other than the tty1 console messages.
(04-07-2024, 03:41 PM)TheOldPresbyope Wrote: Have you tried connecting an HDMI display just to be sure the output you're looking for hasn't been directed there for some reason? Yep, the HDMI works as it should after a fresh installation, after installing Argon's display driver, HDMI gets disabled and their SPI display takes (or tries to take) over.
(04-07-2024, 03:41 PM)TheOldPresbyope Wrote: Did you examine the system logs (/var/log/syslog, /var/log/moode.log, etc) to see if there are any telltale error messages---maybe some thrown by xinit?
moode.log doesn't complain, syslog & Xorg on the other hand:
Code: Apr 7 22:43:02 02wpod xinit[1120]: xorg-server 2:1.20.11-1+rpt3+deb11u11 (https://www.debian.org/support)
Apr 7 22:43:02 02wpod xinit[1120]: Current version of pixman: 0.40.0
Apr 7 22:43:02 02wpod xinit[1120]: #011Before reporting problems, check http://wiki.x.org
Apr 7 22:43:02 02wpod xinit[1120]: #011to make sure that you have the latest version.
Apr 7 22:43:02 02wpod xinit[1120]: Markers: (--) probed, (**) from config file, (==) default setting,
Apr 7 22:43:02 02wpod xinit[1120]: #011(++) from command line, (!!) notice, (II) informational,
Apr 7 22:43:02 02wpod xinit[1120]: #011(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
Apr 7 22:43:02 02wpod xinit[1120]: (==) Log file: "/var/log/Xorg.0.log", Time: Sun Apr 7 22:43:02 2024
Apr 7 22:43:02 02wpod xinit[1120]: (==) Using config directory: "/etc/X11/xorg.conf.d"
Apr 7 22:43:02 02wpod xinit[1120]: (==) Using system config directory "/usr/share/X11/xorg.conf.d"
Apr 7 22:43:02 02wpod xinit[1120]: (EE)
Apr 7 22:43:02 02wpod xinit[1120]: Fatal server error:
Apr 7 22:43:02 02wpod xinit[1120]: (EE) no screens found(EE)
Apr 7 22:43:02 02wpod xinit[1120]: (EE)
Apr 7 22:43:02 02wpod xinit[1120]: Please consult the The X.Org Foundation support
Apr 7 22:43:02 02wpod xinit[1120]: #011 at http://wiki.x.org
Apr 7 22:43:02 02wpod xinit[1120]: for help.
Apr 7 22:43:02 02wpod xinit[1120]: (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
Apr 7 22:43:02 02wpod xinit[1120]: (EE)
Apr 7 22:43:02 02wpod xinit[1120]: (EE) Server terminated with error (1). Closing log file.
Code: fu@02wpod:~ $ cat /var/log/Xorg.0.log
[ 46.220]
X.Org X Server 1.20.11
X Protocol Version 11, Revision 0
[ 46.221] Build Operating System: linux Debian
[ 46.221] Current Operating System: Linux podmoode 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64
[ 46.221] Kernel command line: coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_headphones=0 bcm2708_fb.fbwidth=320 bcm2708_fb.fbheight=240 bcm2708_fb.fbswap=1 smsc95xx.macaddr=B8:27:EB:0D:88:A1 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000 console=ttyS0,115200 console=tty1 root=PARTUUID=7a8fa346-02 rootfstype=ext4 fsck.repair=yes rootwait cfg80211.ieee80211_regdom=GR fbcon=map:10 fbcon=font:ProFont6x11
[ 46.221] Build Date: 25 January 2024 06:11:31PM
[ 46.221] xorg-server 2:1.20.11-1+rpt3+deb11u11 (https://www.debian.org/support)
[ 46.221] Current version of pixman: 0.40.0
[ 46.221] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 46.221] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 46.222] (==) Log file: "/var/log/Xorg.0.log", Time: Sun Apr 7 22:43:02 2024
[ 46.267] (==) Using config directory: "/etc/X11/xorg.conf.d"
[ 46.267] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 46.308] (==) No Layout section. Using the first Screen section.
[ 46.308] (==) No screen section available. Using defaults.
[ 46.308] (**) |-->Screen "Default Screen Section" (0)
[ 46.308] (**) | |-->Monitor "<default monitor>"
[ 46.309] (==) No device specified for screen "Default Screen Section".
Using the first device section listed.
[ 46.310] (**) | |-->Device "Allwinner A10/A13/A20 FBDEV"
[ 46.310] (==) No monitor specified for screen "Default Screen Section".
Using a default monitor configuration.
[ 46.310] (**) Option "Debug" "dmabuf_capable"
[ 46.310] (==) Automatically adding devices
[ 46.310] (==) Automatically enabling devices
[ 46.310] (==) Automatically adding GPU devices
[ 46.322] (==) Max clients allowed: 256, resource mask: 0x1fffff
[ 46.326] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[ 46.326] Entry deleted from font path.
[ 46.347] (==) FontPath set to:
/usr/share/fonts/X11/misc,
/usr/share/fonts/X11/100dpi/:unscaled,
/usr/share/fonts/X11/75dpi/:unscaled,
/usr/share/fonts/X11/Type1,
/usr/share/fonts/X11/100dpi,
/usr/share/fonts/X11/75dpi,
built-ins
[ 46.352] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 46.352] (II) The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
[ 46.352] (II) Loader magic: 0x557f41ce28
[ 46.352] (II) Module ABI versions:
[ 46.352] X.Org ANSI C Emulation: 0.4
[ 46.352] X.Org Video Driver: 24.1
[ 46.352] X.Org XInput driver : 24.1
[ 46.352] X.Org Server Extension : 10.0
[ 46.356] (--) using VT number 2
[ 46.356] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[ 46.357] (II) no primary bus or device found
[ 46.357] (II) LoadModule: "glx"
[ 46.367] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 46.528] (II) Module glx: vendor="X.Org Foundation"
[ 46.528] compiled for 1.20.11, module version = 1.0.0
[ 46.528] ABI class: X.Org Server Extension, version 10.0
[ 46.528] (II) LoadModule: "fbturbo"
[ 46.531] (WW) Warning, couldn't open module fbturbo
[ 46.531] (EE) Failed to load module "fbturbo" (module does not exist, 0)
[ 46.531] (EE) No drivers available.
[ 46.531] (EE)
Fatal server error:
[ 46.531] (EE) no screens found(EE)
[ 46.531] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 46.532] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 46.532] (EE)
[ 46.533] (EE) Server terminated with error (1). Closing log file.
(04-07-2024, 03:41 PM)TheOldPresbyope Wrote: Finally, I can't find a statement of the screen resolution of the POD Display on the Argon40 site. I'm not sure what either the moOde WebUI or the Chromium browser will do with really small canvases. After researching online it seems that their installation script currently works only with the Raspbian GUI images. This is a 2.8 native 320x240 display, that can scale up to 640x480.
[attachment=3718][attachment=3719]
RE: Argon Pod Display as moode local display - TheOldPresbyope - 04-08-2024
@funkster
Code: [ 46.528] (II) LoadModule: "fbturbo"
[ 46.531] (WW) Warning, couldn't open module fbturbo
[ 46.531] (EE) Failed to load module "fbturbo" (module does not exist, 0)
[ 46.531] (EE) No drivers available.
[ 46.531] (EE)
Fatal server error:
[ 46.531] (EE) no screens found(EE)
This is a bummer.
Checking the InterWeb, I see this (9 year old) language regarding the fbturbo driver https://github.com/mati75/xserver-xorg-video-fbturbo
Quote:xf86-video-fbturbo - video driver, primarily optimized for the devices powered
by the Allwinner SoC (A10, A13, A20). It can use some of the 2D/3D hardware
acceleration features.
And because this driver is based on xf86-video-fbdev (with none of the
original features stripped), it actually supports all the same hardware
as xf86-video-fbdev. Essentially, xf86-video-fbturbo can be just used as
a drop-in replacement and run on practically any Linux system. There will
be no real difference on x86, but any ARM based system should see better
performance thanks to some additional optimizations (the elimination of
ShadowFB layer, ARM NEON/VFP code for dealing with uncached framebuffer
reads, automatic backing store management for faster window moves).
I added the italics for emphasis. Purely speculating, I wonder if "drop in replacement" means you could reverse course and use the standard fbdev driver. Someone more intimately familiar with the arcana of the X Window System might comment.
In any case, with the Bookworm edition of Raspberry Pi OS we'll see the Wayland protocol become the default so who knows what will work then (supposedly X will still be available in the Debian/RaspiOS repos but who knows how many years that will last).
Regards,
Kent
RE: Argon Pod Display as moode local display - funkster - 04-13-2024
A few more notes as I'm trying to figure how to put this display into good use:
- Digging some more around the internets, I've found out that Argon40's POD Display is manufactured by Waveshare. However, the drivers available are provided by the same script included on Argon40's POD system manual.
- The Pod display comes with 4 programmable GPIO buttons that are documented in their manual. I will try them out using moode's GPIO buttons. I'm guessing that "Cmd" for each button is supposed to be an mpd command, right?
[attachment=3722][attachment=3723][attachment=3724]
(04-07-2024, 03:41 PM)TheOldPresbyope Wrote: PS - On an unrelated note, I notice your hostname is "02wpod" which I assume begins with the digit zero. Beginning an Internet hostname with a digit has been legal since late 1989 (RFC1123) but it still makes this old graybeard shudder. You never know when some poorly crafted piece of code will make an assumption that a string which begins with a digit must be a number rather than an identifier.
I really enjoyed reading that
(04-08-2024, 12:44 AM)TheOldPresbyope Wrote: In any case, with the Bookworm edition of Raspberry Pi OS we'll see the Wayland protocol become the default so who knows what will work then (supposedly X will still be available in the Debian/RaspiOS repos but who knows how many years that will last).
I can't recall the specifics currently , but wasn't the Wayland promise about to change everything since a decade or two ago but everyone kept using X?
|