https://forums.raspberrypi.com/viewtopic.php?t=357739 #RPI network setup sudo nmcli c add type wifi con-name ifname wlan0 ssid sudo nmcli c modify wifi-sec.key-mgmt wpa-psk wifi-sec.psk #RPI tools Quickly and easily build customized exactly as-you-want SSDs/SD Cards: https://github.com/gitbls/sdm Easily run and manage your network's DHCP/DNS servers on a Pi: https://github.com/gitbls/ndm Easy and secure IPSEC/IKEV2 VPN installer/manager: https://github.com/gitbls/pistrong Lightweight Virtual VNC Config: https://github.com/gitbls/RPiVNCHowTo #update the OS sudo apt update sudo apt upgrade -y sudo apt dist-upgrade sudo reboot #Identify OS more /etc/os-release #re-install desktop sudo apt install xserver-xorg sudo apt install xinit sudo apt-get reinstall lxsession; sudo apt install --reinstall lightdm; sudo systemctl enable lightdm sudo apt-get install raspberrypi-ui-mods sudo apt-get install xserver-xorg-input-evdev #enable vnc desktop sudo raspi-config #interface menu - enable vnc #install elegoo drivers - - http://www.lcdwiki.com/zh/3.5inch_RPi_Display mkdir elegoo #download from github sudo rm -rf LCD-show git clone https://github.com/goodtft/LCD-show.git chmod -R 755 LCD-show cd LCD-show/ sudo ./LCD35-show cd drivers sudo ./LCD35-show #check touchscreen #in elegoo/LCD35-Show.. sudo dpkg -i -B xinput-calibrator_0.7.5-1_armhf.deb sudo apt --fix-broken install #install missing libs for compiler support of fbcp sudo ./LCD35-show #rotate the screen as required sudo ./rotate.sh 90/180/270 etc #issue Lightdm.service failed due to a dependency Moved greeter session to "lightdm-gtk-greeter" from pi-wayfire - works fine. Missing pi-wayfire conf file is the root cause. Couldn;t find binary either. #install skychart https://www.ap-i.net/skychart/en/documentation/installation_on_linux_ubuntu bash <(wget -qO- https://raw.githubusercontent.com/pchev/skychart/master/setup_skychart_deb.sh) cedar sudo apt update sudo apt install skychart #on screen virtual keyboard sudo apt install matchbox cedar@cedar:~/elegoo/LCD-show $ sudo ./LCD35-show (Reading database ... 118868 files and directories currently installed.) Removing xserver-xorg-input-evdev (1:2.10.6-2+b1) ... Processing triggers for man-db (2.11.2-2) ... Hit:1 http://deb.debian.org/debian bookworm InRelease Hit:2 http://deb.debian.org/debian-security bookworm-security InRelease Get:3 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB] Hit:4 http://archive.raspberrypi.com/debian bookworm InRelease Get:5 https://vega.ap-i.net/apt unstable InRelease [3,622 B] Fetched 59.1 kB in 1s (53.7 kB/s) Reading package lists... Done Reading package lists... Done Building dependency tree... Done Reading state information... Done cmake is already the newest version (3.25.1-1). libraspberrypi-dev is already the newest version (1:2+git20231018~131943+3c97f76-1). You might want to run 'apt --fix-broken install' to correct these. The following packages have unmet dependencies: xinput-calibrator:armhf : Depends: libc6:armhf (>= 2.8) but it is not going to be installed Depends: libgcc1:armhf (>= 1:4.4.0) Depends: libstdc++6:armhf (>= 4.6) but it is not going to be installed Depends: libx11-6:armhf but it is not going to be installed Depends: libxext6:armhf but it is not going to be installed Depends: libxi6:armhf (>= 2:1.2.0) but it is not going to be installed E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution). Cloning into 'rpi-fbcp'... remote: Enumerating objects: 61, done. remote: Total 61 (delta 0), reused 0 (delta 0), pack-reused 61 (from 1) Receiving objects: 100% (61/61), 18.26 KiB | 1.66 MiB/s, done. Resolving deltas: 100% (20/20), done. CMake Warning (dev) in CMakeLists.txt: No project() command is present. The top-level CMakeLists.txt file must contain a literal, direct call to the project() command. Add a line of code such as project(ProjectName) near the top of the file, but after cmake_minimum_required(). CMake is pretending there is a "project(Project)" command on the first line. This warning is for project developers. Use -Wno-dev to suppress it. -- The C compiler identification is GNU 12.2.0 -- The CXX compiler identification is GNU 12.2.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 2.8.12 will be removed from a future version of CMake. Update the VERSION argument value or use a ... suffix to tell CMake that the project does not need compatibility with older versions. -- Configuring done -- Generating done -- Build files have been written to: /home/cedar/elegoo/LCD-show/rpi-fbcp/build [ 50%] Building C object CMakeFiles/fbcp.dir/main.c.o [100%] Linking C executable fbcp [100%] Built target fbcp (2024-11-25) ./LCD35-show: line 102: test: (2024-11-25): integer expression expected need to update touch configuration Reading package lists... Done Building dependency tree... Done Reading state information... Done You might want to run 'apt --fix-broken install' to correct these. The following packages have unmet dependencies: xinput-calibrator:armhf : Depends: libc6:armhf (>= 2.8) but it is not going to be installed Depends: libgcc1:armhf (>= 1:4.4.0) Depends: libstdc++6:armhf (>= 4.6) but it is not going to be installed Depends: libx11-6:armhf but it is not going to be installed Depends: libxext6:armhf but it is not going to be installed Depends: libxi6:armhf (>= 2:1.2.0) but it is not going to be installed Selecting previously unselected package xserver-xorg-input-evdev. (Reading database ... 118858 files and directories currently installed.) Preparing to unpack .../xserver-xorg-input-evdev_1%3a2.10.6-2_arm64.deb ... Unpacking xserver-xorg-input-evdev (1:2.10.6-2) ... Setting up xserver-xorg-input-evdev (1:2.10.6-2) ... Processing triggers for man-db (2.11.2-2) ... reboot now Broadcast message from root@cedar on pts/4 (Sun 2025-01-05 17:57:22 GMT): The system will reboot now! Broadcast message from root@cedar on pts/4 (Sun 2025-01-05 17:57:22 GMT): The system will reboot now! cedar@cedar:~/elegoo/LCD-show $ Connection to cedar.local closed by remote host. Connection to cedar.local closed. C:\Users\mharrison.I-BADGER>sudo apt --fix-broken install 'sudo' is not recognized as an internal or external command, operable program or batch file. #Log from installing LCD35-show, fixing library dependencies and running again. C:\Users\mharrison.I-BADGER>ssh cedar@cedar.local cedar@cedar.local's password: Linux cedar 6.6.62+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.62-1+rpt1 (2024-11-25) aarch64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Sun Jan 5 16:05:08 2025 from 192.168.0.142 cedar@cedar:~ $ sudo apt --fix-broken install Reading package lists... Done Building dependency tree... Done Reading state information... Done Correcting dependencies... Done The following additional packages will be installed: gcc-12-base:armhf libbsd0:armhf libc6:armhf libgcc-s1:armhf libidn2-0:armhf libmd0:armhf libstdc++6:armhf libunistring2:armhf libx11-6:armhf libxau6:armhf libxcb1:armhf libxdmcp6:armhf libxext6:armhf libxi6:armhf Suggested packages: glibc-doc:armhf locales:armhf libnss-nis:armhf libnss-nisplus:armhf The following NEW packages will be installed: gcc-12-base:armhf libbsd0:armhf libc6:armhf libgcc-s1:armhf libidn2-0:armhf libmd0:armhf libstdc++6:armhf libunistring2:armhf libx11-6:armhf libxau6:armhf libxcb1:armhf libxdmcp6:armhf libxext6:armhf libxi6:armhf 0 upgraded, 14 newly installed, 0 to remove and 2 not upgraded. 1 not fully installed or removed. Need to get 6,146 kB of archives. After this operation, 15.6 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://archive.raspberrypi.com/debian bookworm/main armhf libc6 armhf 2.36-9+rpt2+deb12u9 [3,877 kB] Get:2 http://deb.debian.org/debian bookworm/main armhf gcc-12-base armhf 12.2.0-14 [37.5 kB] Get:3 http://deb.debian.org/debian bookworm/main armhf libgcc-s1 armhf 12.2.0-14 [36.6 kB] Get:4 http://deb.debian.org/debian bookworm/main armhf libstdc++6 armhf 12.2.0-14 [519 kB] Get:5 http://deb.debian.org/debian bookworm/main armhf libxau6 armhf 1:1.0.9-1 [19.0 kB] Get:6 http://deb.debian.org/debian bookworm/main armhf libmd0 armhf 1.0.4-2 [28.9 kB] Get:7 http://deb.debian.org/debian bookworm/main armhf libbsd0 armhf 0.11.7-2 [113 kB] Get:8 http://deb.debian.org/debian bookworm/main armhf libxdmcp6 armhf 1:1.1.2-3 [24.9 kB] Get:9 http://deb.debian.org/debian bookworm/main armhf libxcb1 armhf 1.15-1 [140 kB] Get:10 http://deb.debian.org/debian bookworm/main armhf libx11-6 armhf 2:1.8.4-2+deb12u2 [695 kB] Get:11 http://deb.debian.org/debian bookworm/main armhf libxext6 armhf 2:1.3.4-1+b1 [47.8 kB] Get:12 http://deb.debian.org/debian bookworm/main armhf libxi6 armhf 2:1.8-1+b1 [78.6 kB] Get:13 http://deb.debian.org/debian bookworm/main armhf libunistring2 armhf 1.0-2 [409 kB] Get:14 http://deb.debian.org/debian bookworm/main armhf libidn2-0 armhf 2.3.3-1+b1 [120 kB] Fetched 6,146 kB in 1s (11.6 MB/s) Preconfiguring packages ... Selecting previously unselected package gcc-12-base:armhf. (Reading database ... 118867 files and directories currently installed.) Preparing to unpack .../00-gcc-12-base_12.2.0-14_armhf.deb ... Unpacking gcc-12-base:armhf (12.2.0-14) ... Selecting previously unselected package libgcc-s1:armhf. Preparing to unpack .../01-libgcc-s1_12.2.0-14_armhf.deb ... Unpacking libgcc-s1:armhf (12.2.0-14) ... Selecting previously unselected package libc6:armhf. Preparing to unpack .../02-libc6_2.36-9+rpt2+deb12u9_armhf.deb ... Unpacking libc6:armhf (2.36-9+rpt2+deb12u9) ... Selecting previously unselected package libstdc++6:armhf. Preparing to unpack .../03-libstdc++6_12.2.0-14_armhf.deb ... Unpacking libstdc++6:armhf (12.2.0-14) ... Selecting previously unselected package libxau6:armhf. Preparing to unpack .../04-libxau6_1%3a1.0.9-1_armhf.deb ... Unpacking libxau6:armhf (1:1.0.9-1) ... Selecting previously unselected package libmd0:armhf. Preparing to unpack .../05-libmd0_1.0.4-2_armhf.deb ... Unpacking libmd0:armhf (1.0.4-2) ... Selecting previously unselected package libbsd0:armhf. Preparing to unpack .../06-libbsd0_0.11.7-2_armhf.deb ... Unpacking libbsd0:armhf (0.11.7-2) ... Selecting previously unselected package libxdmcp6:armhf. Preparing to unpack .../07-libxdmcp6_1%3a1.1.2-3_armhf.deb ... Unpacking libxdmcp6:armhf (1:1.1.2-3) ... Selecting previously unselected package libxcb1:armhf. Preparing to unpack .../08-libxcb1_1.15-1_armhf.deb ... Unpacking libxcb1:armhf (1.15-1) ... Selecting previously unselected package libx11-6:armhf. Preparing to unpack .../09-libx11-6_2%3a1.8.4-2+deb12u2_armhf.deb ... Unpacking libx11-6:armhf (2:1.8.4-2+deb12u2) ... Selecting previously unselected package libxext6:armhf. Preparing to unpack .../10-libxext6_2%3a1.3.4-1+b1_armhf.deb ... Unpacking libxext6:armhf (2:1.3.4-1+b1) ... Selecting previously unselected package libxi6:armhf. Preparing to unpack .../11-libxi6_2%3a1.8-1+b1_armhf.deb ... Unpacking libxi6:armhf (2:1.8-1+b1) ... Selecting previously unselected package libunistring2:armhf. Preparing to unpack .../12-libunistring2_1.0-2_armhf.deb ... Unpacking libunistring2:armhf (1.0-2) ... Selecting previously unselected package libidn2-0:armhf. Preparing to unpack .../13-libidn2-0_2.3.3-1+b1_armhf.deb ... Unpacking libidn2-0:armhf (2.3.3-1+b1) ... Setting up gcc-12-base:armhf (12.2.0-14) ... Setting up libgcc-s1:armhf (12.2.0-14) ... Setting up libc6:armhf (2.36-9+rpt2+deb12u9) ... Setting up libmd0:armhf (1.0.4-2) ... Setting up libbsd0:armhf (0.11.7-2) ... Setting up libstdc++6:armhf (12.2.0-14) ... Setting up libxau6:armhf (1:1.0.9-1) ... Setting up libxdmcp6:armhf (1:1.1.2-3) ... Setting up libxcb1:armhf (1.15-1) ... Setting up libunistring2:armhf (1.0-2) ... Setting up libidn2-0:armhf (2.3.3-1+b1) ... Setting up libx11-6:armhf (2:1.8.4-2+deb12u2) ... Setting up libxext6:armhf (2:1.3.4-1+b1) ... Setting up libxi6:armhf (2:1.8-1+b1) ... Setting up xinput-calibrator:armhf (0.7.5+git20140201-1) ... Processing triggers for libc-bin (2.36-9+rpt2+deb12u9) ... cedar@cedar:~ $ cd elegoo cedar@cedar:~/elegoo $ ls LCD-show cedar@cedar:~/elegoo $ cd LCD-show/ cedar@cedar:~/elegoo/LCD-show $ sudo ./LCD35-show (Reading database ... 119177 files and directories currently installed.) Removing xserver-xorg-input-evdev (1:2.10.6-2) ... Processing triggers for man-db (2.11.2-2) ... Hit:1 http://deb.debian.org/debian bookworm InRelease Hit:2 http://deb.debian.org/debian-security bookworm-security InRelease Hit:3 http://deb.debian.org/debian bookworm-updates InRelease Hit:4 http://archive.raspberrypi.com/debian bookworm InRelease Get:5 https://vega.ap-i.net/apt unstable InRelease [3,622 B] Fetched 3,622 B in 1s (3,326 B/s) Reading package lists... Done Reading package lists... Done Building dependency tree... Done Reading state information... Done cmake is already the newest version (3.25.1-1). libraspberrypi-dev is already the newest version (1:2+git20231018~131943+3c97f76-1). 0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. Cloning into 'rpi-fbcp'... remote: Enumerating objects: 61, done. remote: Total 61 (delta 0), reused 0 (delta 0), pack-reused 61 (from 1) Receiving objects: 100% (61/61), 18.26 KiB | 1.52 MiB/s, done. Resolving deltas: 100% (20/20), done. CMake Warning (dev) in CMakeLists.txt: No project() command is present. The top-level CMakeLists.txt file must contain a literal, direct call to the project() command. Add a line of code such as project(ProjectName) near the top of the file, but after cmake_minimum_required(). CMake is pretending there is a "project(Project)" command on the first line. This warning is for project developers. Use -Wno-dev to suppress it. -- The C compiler identification is GNU 12.2.0 -- The CXX compiler identification is GNU 12.2.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 2.8.12 will be removed from a future version of CMake. Update the VERSION argument value or use a ... suffix to tell CMake that the project does not need compatibility with older versions. -- Configuring done -- Generating done -- Build files have been written to: /home/cedar/elegoo/LCD-show/rpi-fbcp/build [ 50%] Building C object CMakeFiles/fbcp.dir/main.c.o [100%] Linking C executable fbcp [100%] Built target fbcp (2024-11-25) ./LCD35-show: line 102: test: (2024-11-25): integer expression expected need to update touch configuration Reading package lists... Done Building dependency tree... Done Reading state information... Done The following NEW packages will be installed: xserver-xorg-input-evdev 0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. Need to get 0 B/120 kB of archives. After this operation, 183 kB of additional disk space will be used. Selecting previously unselected package xserver-xorg-input-evdev. (Reading database ... 119168 files and directories currently installed.) Preparing to unpack .../xserver-xorg-input-evdev_1%3a2.10.6-2+b1_arm64.deb ... Unpacking xserver-xorg-input-evdev (1:2.10.6-2+b1) ... Setting up xserver-xorg-input-evdev (1:2.10.6-2+b1) ... Processing triggers for man-db (2.11.2-2) ... reboot now Broadcast message from root@cedar on pts/2 (Sun 2025-01-05 17:59:54 GMT): The system will reboot now! Broadcast message from root@cedar on pts/2 (Sun 2025-01-05 17:59:54 GMT): The system will reboot now! #alternative waveshare driver set https://www.waveshare.com/wiki/3.5inch_RPi_LCD_(A) sudo apt update && sudo apt upgrade && sudo apt full-upgrade -y #Install xorg service: sudo apt-get install --no-install-recommends xserver-xorg -y sudo apt-get install --no-install-recommends xinit -y #Install Desktop Manager: sudo apt install lightdm -y #Install Raspberry Pi official GUI: sudo apt install raspberrypi-ui-mods -y #Install browser (optional): sudo apt install chromium-browser -y #to build and install the rpi-fbcp library - validated its the same code as the elegoo driver. sudo apt install libraspberrypi-dev -y sudo apt-get install unzip -y sudo apt-get install cmake -y sudo wget https://files.waveshare.com/upload/1/1e/Waveshare35a.zip sudo unzip ./Waveshare35a.zip sudo cp waveshare35a.dtbo /boot/overlays/ sudo wget https://files.waveshare.com/upload/1/1e/Rpi-fbcp.zip sudo unzip ./Rpi-fbcp.zip cd rpi-fbcp/ sudo rm -rf build sudo mkdir build cd build sudo cmake .. sudo make -j4 sudo install fbcp /usr/local/bin/fbcp #edit /boot/config.txt and comment out the lines #dtoverlay = vc4-kms-v3d #max_framebuffers=2 #add these to the tail of the file. dtparam=spi=on dtoverlay=waveshare35a hdmi_force_hotplug=1 max_usb_current=1 hdmi_group=2 hdmi_mode=87 hdmi_cvt 640 480 60 6 0 0 0 hdmi_drive=2 display_rotate=0 #Add content below to /usr/share/X11/xorg.conf.d/99-calibration.conf Section "InputClass" Identifier "calibration" MatchProduct "ADS7846 Touchscreen" Option "Calibration" "3932 300 294 3801" Option "SwapAxes" "1" Option "EmulateThirdButton" "1" Option "EmulateThirdButtonTimeout" "1000" Option "EmulateThirdButtonMoveThreshold" "300" EndSection #reboot sudo reboot #Debugging touchscreen DISPLAY=:0 xinput list-props 6 But instead of INVERTING the touch area I had to scale it using using the following command: DISPLAY=:0 xinput set-prop 'raspberrypi-ts' 'Coordinate Transformation Matrix' 0.5 0 0 0 1 0 0 0 1 NOTE: in the above command 'raspberry-ts' may NOT be the same on your system. To make that change persistent after a reboot, I followed the instructions listed at the bottom of the article, editing the /usr/share/X11/xorg.conf.d/40-libinput.conf file. This seems to have fixed my issue, for the most part, not perfectly accurate when using the smaller keyboard on the screen, but passable for the bigger buttons. evtest sudo rpi-update for X-display not showing - use this to debug - need to eduit lightdm.conf greeter entry