Moode Forum
Argon Pod Display as moode local display - Printable Version

+- Moode Forum (https://moodeaudio.org/forum)
+-- Forum: moOde audio player (https://moodeaudio.org/forum/forumdisplay.php?fid=3)
+--- Forum: Support (https://moodeaudio.org/forum/forumdisplay.php?fid=7)
+--- Thread: Argon Pod Display as moode local display (/showthread.php?tid=6387)



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 Huh 

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 Big Grin . 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 Smile

(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? Tongue