[gelöst] Debian auf Raspberry, Bildschirmaufösung

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Benutzeravatar
MSfree
Beiträge: 10777
Registriert: 25.09.2007 19:59:30

[gelöst] Debian auf Raspberry, Bildschirmaufösung

Beitrag von MSfree » 18.07.2023 19:28:37

Ich habe mir hier https://raspi.debian.net/tested-images/ ein Bookworm-Image für einen Raspberry Pi geholt und auf eine µSD-Karte geschrieben. Am Raspi hängt ein kleines 5-Zoll-HDMI-Display mit 800x480 Pixel Auflösung.

Allerdings bootet der Raspi immer mit einer Auflösung von 1280x720. Eine GUI ist (noch) nicht installiert, man landet also in der Textkonsole.

Die Darstellung auf dem kleinen Display ist folglich sehr klein, interpoliert und entsprechend so gut wie unlesbar. Wenn ich meinen großen 24-Zöller anschließe, bootet der Raspi ebenfalls mit 1280x720, was aber immerhin trotz Interpolation auf dem 24-Zöller lesbar ist.

Im Raspberry Pi OS kann man die Auflösung von HDMI-Displays durch Einträge in der Datei /boot/config.txt erzwingen. Diese Datei existiert unter Debian nicht, allerdings befindet sich eine config.txt in /boot/firmware, diese scheint mir aber völlig anders aufgebaut zu sein als im Raspi OS.

Die Ausgabe von cat /proc/cmdline ergibt:

Code: Alles auswählen

video=HDMI-A-1:1280x720M@60,margin_left=48,margin_right=48,margin_top=48,margin_bottom=48 dma.dmachans=0x37f5 bcm2709.boardrev=0xd03115 bcm2709.serial=0xf8c46eb3 bcm2709.uart_clock=48000000 bcm2709.disk_led_gpio=42 bcm2709.disk_led_active_low=0 smsc95xx.macaddr=D8:3A:DD:0A:F7:DD vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  console=tty0 console=ttyS1,115200 root=LABEL=RASPIROOT rw fsck.repair=yes net.ifnames=0  rootwait
Der Kernel wird also mit 1280x720 als Parameter gestartet.

Die Datei /boot/firmware/cmdline.txt beinhaltet aber nur

Code: Alles auswählen

console=tty0 console=ttyS1,115200 root=LABEL=RASPIROOT rw fsck.repair=yes net.ifnames=0  rootwait 
Irgendwas ergänzt die Kernel Kommandozeile also, nur wer oder was?
Zuletzt geändert von MSfree am 18.07.2023 21:45:50, insgesamt 1-mal geändert.

rjh

Re: Debian auf Raspberry, Bildschirmaufösung

Beitrag von rjh » 18.07.2023 20:28:59

Hier was zu den Dateien config.txt und cmdline.txt: https://raspi.debian.net/defaults-and-settings/

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: Debian auf Raspberry, Bildschirmaufösung

Beitrag von JTH » 18.07.2023 20:43:24

Hmm, sieht mir so aus, als ob die Boot-Firmware des RasPis diesen video=-Parameter und folgende dem Kernel beim Boot zusätzlich übergibt:

Code: Alles auswählen

$ grep -Eaors 'video=[^ ]*' /boot/firmware/
/boot/firmware/start.elf:video=HDMI-A-%d:%ux%uM@%u%s%svideo=Composite-1:%ux%u@%u%s
…
Womöglich normalerweise abhängig davon, ob ein Monitor erkannt wurde? Auf meinem RasPi ohne angeschlossenen Monitor sieht die Kernel-Cmdline nämlich so aus:

Code: Alles auswählen

$ cat /proc/cmdline 
video=Composite-1:720x480@60i, …
Was statisch in /boot/firmware/cmdline.txt steht wird dann vermutlich diesen dynamisch ermittelten Parametern angehängt.

Zum Konfigurieren hat rjh ja grad was verlinkt. Debian bringt ja allerdings raspi-config nicht mit. Deshalb musst du vermutlich von Hand das machen, was das Werkzeug beim Festlegen einer Auflösung tun würde. Das wären wohl die Parameter hdmi_group und hdmi_mode, die in /etc/default/raspi-firmware-custom passend festgelegt werden müssten – die beiden Parameter kann man auch in den /boot/firmware/start*.elf finden.

Wie im Debian-Wiki erwähnt, anschließend dpkg-reconfigure raspi-firmware nicht vergessen. Dann landen die Parameter, neben anderen, in der /boot/firmware/config.txt und die Firmware übergibt wohl beim Boot die daraus mit resultierende Cmdline an den Kernel.

Das ist nur ne schnelle Detektivarbeit, selbst probiert hab ich das Ganze nicht :wink:
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
MSfree
Beiträge: 10777
Registriert: 25.09.2007 19:59:30

Re: Debian auf Raspberry, Bildschirmaufösung

Beitrag von MSfree » 18.07.2023 21:45:36

Danke euch beiden.

Ich habe jetzt einfach mal auf Verdacht die Datei /etc/default/raspi-firmware-custom angelegt und dort die Parameter

Code: Alles auswählen

hdmi_force_hotplug=1
hdmi_cvt 800 480 60 6 0 0 0
hdmi_group=2
hdmi_mode=87
so eingetragen, wie man sie beim Raspberry Pi OS in die /boot/config.txt eintragen würde. Gefolgt von

Code: Alles auswählen

update-initramfs -u -k all
und einem Reboot.

Jetzt habe ich mit cat /proc/cmdline folgendes:

Code: Alles auswählen

video=HDMI-A-1:800x480M@59 ....
und der kleine Bildschirm zeigt endlich ein lesbares Bild. :THX:

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: [gelöst] Debian auf Raspberry, Bildschirmaufösung

Beitrag von JTH » 18.07.2023 22:04:35

Cool, gut zu wissen, dass das so ohne das noch mehr angepasste Raspberry Pi OS funktioniert :THX: Irgendeinen anderen dieser Parameter hab ich mal benutzen wollen (hab vergessen welchen), habs aber letztendlich nicht weiterverfolgt.
Manchmal bekannt als Just (another) Terminal Hacker.

Antworten