Mam pewien projekt oparty na Raspberry Pi Zero, w którym wykorzystuję wyświetlacz SPI na ILI9341. Na karcie pamięci siedzi Raspbian Bullseye. Do obsługi wyświetlacza używam samodzielnie skompilowanego pliku dtbo, wrzuconego do /boot/overlays - musiałem go samodzielnie skompilować, ponieważ używam trochę innego zestawu pinów niż to przewidziano w standardowym sterowniku rpi-display.dtbo.
Do tej pory wszystko działało w pełni poprawnie:
1) Niedługo po uruchomieniu systemu inicjował się sterownik wyświetlacza i pokazywał komunikaty systemowe w konsoli. 2) W chwilę potem w /etc/rc.local wywoływane było polecenie sudo FRAMEBUFFER=/dev/fb1 startx& 3) Następnie w .xinitrc uruchamiał się zegarek (xclock -update 1 -hd red-norender) - docelowo miał zostać zastąpiony przez moją własną aplikację z GUI.
Korzystając z faktu, że musiałem ostatnio zainstalować kilka programów, wyłączyłem overlayfs i zrobiłem aktualizację systemu (sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y).
Jednak aktualizacja w jakiś dziwny sposób zepsuła mi działanie wyświetlacza. W skrócie wygląda to następująco:
- Plik /dev/fb1 nadal istnieje w systemie.
- Dmesg pokazuje, że inicjacja wyświetlacza przebiega prawidłowo.
- Przez krótką chwilę podczas uruchamiania systemu wyświetlacz rozświetla się na biało, a potem może przez sekundę czy dwie pokazuje komunikaty w konsoli. Zaraz potem gaśnie i robi się czarny.
- Konsola jest też widoczna przez ułamek sekundy przy zamykaniu systemu.
- Niemal na pewno nie odpowiada za to system okienkowy, bo problem występuje także po zakomentowaniu komendy "startx" w rc.local.
Ktoś ma jakiś pomysł co może za to odpowiadać?