Monitor 270 Grad gedreht: Diagonale Interferenz

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,

    ich bin totaler Neuling, habe mich in den letzten Tagen aber mit einigen Basics beschäftigt.

    Installiert ist auf meinem Pi 3 Model B ein cleanes aktuelles Raspbian Image von raspberrypi.org.
    Geändert habe ich nur die config.txt: "display_rotate=3", um die Anzeige um 270 Grad zu drehen.
    Es handelt sich um einen DELL S2240T (21,5" FullHD Touchscreen über HDMI).

    PROBLEM: Beim Scrollen auf Websites, aber auch beim Verschieben eines Fensters, ja sogar schon im Bootscreen entsteht ein diagonaler Bruch in der ANzeige. Es sieht aus wie ein zerbrochener Spiegel.

    Ich habe alle möglichen Einstellungen getestet, aber bin nun verzweifelt.
    Wenn jemand dieses Problem kennt, freue ich mich auf Rückmeldungen.

    Danke euch herzlichst für eure Mühe!

  • Hallo zusammen,

    da ich der einzige auf der Welt mit diesem Problem bin, wollte ich noch einige Details hinzufügen:

    1. Der Effekt nennt sich "Screen Tearing" (gegoogelt)
    2. Es liegt nicht am Monitor (getestet)
    3. Es liegt nicht an Kabeln / Anschlüssen (getestet)
    4. Es liegt nicht am Betriebssystem (alle getestet)
    5. Es liegt nicht an irgendwelchen Einstellungen (wirklich ALLES durchgetestet!)
    6. Ich bezweifle, das es an der SD-Karte liegt (SanDisk Extreme 16GB Class 10)

    FAZIT: Das Raspberry Pi 3 Model B ist leider schrott. Habe das Teil umgetauscht: Auch schrott :)

    Schade.
    Freue mich über eure Tipps!

    Karlos

    Einmal editiert, zuletzt von karlos (15. Juni 2016 um 18:03)

  • Hi Manul!

    Unfassbar, dass überhaupt mal jemand etwas schreibt :) Allein dafür danke ich dir!

    Also, Foto anbei: Du siehst darauf die üblichen zwei Diagonalen in der Bildmitte sowie unten rechts (nur beim Scrollen!)

    Ich denke inzwischen, dass es etwas mit den Frequenzen zu tun hat (horizontal, vertikal, Wiederholrate ... so etwas). Der DELL S2240T ist mit folgenden Werten angegeben:
    Horizontal Refresh Rate 30 - 83 kHz
    Vertical Refresh Rate 56 - 76 Hz
    Video Bandwidth 148.5 MHz

    Ich fummle gerade daran herum... gucke nach fbset und sowas..

    Stell ruhig Fragen. Ich beantworte sie dir gerne im Detail.
    Ich google seit Tagen und Wochen. Habe auch schon in anderen Foren gefragt - nicht 1 Antwort oder Gegenfrage :)

    Danke dir!
    Karlos


    Ich kann leider nichts beitragen, aber: Kannst Du mal ein Bild hochladen? Ich kann mir gerade überhaupt nicht vorstellen, wie das aussieht.


  • Horizontal Refresh Rate 30 - 83 kHz
    Vertical Refresh Rate 56 - 76 Hz
    Video Bandwidth 148.5 MHz

    hmm ich kann zwar nicht helfen, aber die obigen Angaben nutzen doch nix weil LCD immer typische 60Hz Vollbilder haben.

    Die obigen Angaben sind nur für den Eingangsdigitalisierer was der an VGA oder CVBAS verarbeiten kann, ich gehe mal von digitaler Ansteuerung HDMI oder DVI aus?

    wenn du scrollst kommt der Prozessor mit der gedrehten Vollbilddarstellung nicht mehr hinterher und es kommt zu diesen Zacken da er ja gegen seine Natur das Bild aufbauen muss, du siehst Schwebungeffekte zwischen scrollen und Bildaufbau, ich glaube CRT konnten das definitv besser weil das Bild schon im Compi aufbereitet wurde und nicht im Monitor.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Ja, stimmt - ich bin per HDMI verbunden.

    Der native Modus ist Group=1, Mode=16, also CEA. Und ich habe bisher gedacht, dass CEA auch CRTs abdeckt - daher dachte ich, es könnte ja sein, dass man dem OS die horizontalen und vertikalen Frequenzen irgendwie mitteilen muss (also gedreht, wie die Anzeige) - ist das vsync und hsync? Keine Ahnung, aber das ist das Letzte, was mir überhaupt noch einfällt.
    ´clock´wird bei ´tvservice -m cea´mit 148MHz angezeigt. Dachte, ich könnte es vielleicht auf 148.5Mhz präzisieren...

    Zur Überlastung: Das sieht tatsächlich so aus. Aber ich habe auch schon mehr Speicher zugewiesen. Außerdem habe ich nirgends davon gelesen, dass jemand solche Probleme mit einem der Vorgängermodelle hatte...
    Auch das Ausschalten der Touch-Funktion brachte keine Besserung. Habe 'xinput disable 6' benutzt (das ist die ID des Touchdings)

    ÜBRIGENS: Je weiter ich die Auflösung runterschraube, desto mehr nach rechts unten verschiebt sich diese Diagonale. Erst bei 800x600 oder so ist sie dann ganz aus dem Bild verschwunden :)

    Hast du eigentlich die Möglichkeit, das bei dir mal zu testen?


    Dammich
    karlos

    Einmal editiert, zuletzt von karlos (15. Juni 2016 um 19:06)

  • Danke fürs Posten des Bildes, sieht ja wirklich gruselig aus. Ich fürchte, ich werde keine große Hilfe sein, habe noch nie einen Bildschirm mit HDMI besessen. Was mir auf Anhieb noch einfällt:

    - Tritt der Fehler auch auf, wenn Du das Bild nur um 90° drehst? Wie sieht's bei 180° aus?

    - Hast Du mal das Kabel getauscht? Würde ich bei digitaler Übertragung für eine unwahrscheinliche Fehlerquelle halten, aber sicher ist sicher.

    - Hast Du nach dem Installieren des aktuellen Images noch ein "sudo apt-get update; sudo apt-get dist-upgrade" gemacht? Das sollte Dir den neuesten Kernel auf den Pi bringen (Linux 4.4-irgendwas, im Image ist noch ein 4.1..., zu überprüfen mit "uname -a").

    - Hast Du mal versucht, Dein Problem auf Englisch im Forum der Foundation zu stellen? Da treiben sich auch öfter mal die Raspberry-Entwickler rum, evtl. sitzt man bei einem echten Bug da näher an der Quelle.

  • Jau, hab ich tatsächlich alles schon gemacht :)
    Bei 180 Grad is alles gut, bei 90 das gleiche Problem.

    Habe gerade noch versucht, DER Gerät auszutricksen, indem ich mit Minuswerten beim Overscan, mit dem frambuffer und den HDMI-Modes rumgespielt habe - kein zufriedenstellendes Ergebnis :)

    Aber die Lösung für speziell meinen Fall könnte ein Workaround sein: Da der Touchscreen nur EINE bestimmte Website anzeigen soll, werde ich versuchen, diese gedreht anzuzeigen :)

    Danke dir fürs Posten, Manul!

    Bis denne
    Karlos

  • Hm, okay, ich raff es nicht. Ich bin ja in Raspbian Jessie immer al User "PI" angemeldet - wie man daraus die Rechte erhält, in ROOT einen Ordner oder eine Datei zu erstellen, hab ich noch nicht ganz gecheckt.
    Und was "X" sein soll auch nicht.
    Muss ich mal weiterrecherchieren.

    Danke dir jedenfalls! :)
    Karlos



    Tatsächlich! Das ist ja genau das Problem. Cool!

    Danke dir - schau ich mir später mal genau in Ruhe an...
    Gebe dann Rückmeldung.

    Karlos

  • Gib doch mal ein

    Code
    ls -l /usr/share/X11/xorg.conf.d/

    In diesem Ordner hast Du vermutlich eine Datei "99-fbturbo.conf". Die kannst Du mit

    Code
    sudo vi /usr/share/X11/xorg.conf.d/99-fbturbo.conf

    als root bearbeiten (statt des gewöhnugsbedürftigen Editors vi kannst Du auch den auf dem pi wohl verbreiteten nano verwenden). In dieser Datei müsstest Du dann innerhalb der "Device"-Section die rotate-Option aus dem link einfügen.

  • Manul, mal echt ohne Sch.. jetzt: DU BIST DER GEILSTE!!!!

    Es läuft!!!! Die diagonalen Linien sind fott!
    Nach Wochen der Verzweiflung hast du mein Projekt gerettet! Und sogar die 350-400 Euro, die ich insgesamt in die Hardware investiert hatte.

    Mega Geil von dir! Vielen lieben Dank, mein Lieber!

    Die entscheidende Hilfe waren der Link und deine letzte präzise Anleitung:

    Ich musste in der Datei tatsächlich nur 1 Zeile einfügen, nämlich die "rotate"-Option.
    Im Boot-Vorgang ist alles noch landscape, dann im GUI aber portrait.
    Ein wenig leidet die Performance, da ich vermute, dass hierdurch eine Art "Umrechnung geschieht ... der Rechner also alles doppelt rechnen muss ::)en Aufbau und dann die verdrehte Anzeige. Übertaktung oder mehr RAM- zuweisen hilft nicht. Aber für meine Anzeige einer Liste von Fahrzeugen, durch die man scrollen kann, reicht es.

    Um auch die Touch-Funktion zu drehen, benutze ich übrigens folgendes script in einer .sh Datei (Man muss zuvor "xinput" installieren):

    Bash
    #!/bin/bash
    xinput --set-prop 'Advanced Silicon S.A. CoolTouch(TM) System' 'Evdev Axis Inversion' 3 0
    xinput set-prop 'Advanced Silicon S.A. CoolTouch(TM) System' 'Evdev Axes Swap' 3
    exit 0

    Jetzt muss ich dieses nur noch automatisieren, und auch den Start des Browsers im Kiosk-Modus, aber das krieg ich schon irgenwie hin, denke ich.

    NOCHMAL: DU BIST DER HELD. Hammergeile Aktion von dir, einem Fremden so unter die Arme zu greifen!

    Bis denne!
    Karl



    Gib doch mal ein

    Code
    ls -l /usr/share/X11/xorg.conf.d/

    In diesem Ordner hast Du vermutlich eine Datei "99-fbturbo.conf". Die kannst Du mit

    Code
    sudo vi /usr/share/X11/xorg.conf.d/99-fbturbo.conf

    als root bearbeiten (statt des gewöhnugsbedürftigen Editors vi kannst Du auch den auf dem pi wohl verbreiteten nano verwenden). In dieser Datei müsstest Du dann innerhalb der "Device"-Section die rotate-Option aus dem link einfügen.

    Einmal editiert, zuletzt von karlos (17. Juni 2016 um 15:40)

  • Ähem, du hast nicht zufällig nen schnellen Tipp, wie ich eine .sh Datei und den IceweaselFirefox autostarten lassen könnte?

    Ich bin Standard-User "pi".
    Habe die Autostart-Datei bearbeitet - nix.
    Habe die /etc/rc.local bearbeitet - auch nix.
    Ich werd schon wieder wahnsinnig :)

    Danke dir! (Nochmal)
    Karl



    Gern geschehen. Freut mich, daß ich helfen konnte. :)

  • sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

    auch die root (.../LXDE) mal probiert -brachte nix.

    Habe mal was davon gelesen, dass der xserver gestartet werden muss. Aber sobald ich mich automatisch in den Desktop einloggen lasse, läuft der doch, oder?

    Aber wie gesagt, ich hab nicht ganz den Durchblick - ist meine erste Begegnung mit alledem...

    Einmal editiert, zuletzt von karlos (17. Juni 2016 um 20:05)

  • Der X Server läuft schon, ja. Der stellt quasi die Graphikfunktionen zur Verfügung. Wenn's Dich interessiert, kannst Du ja mal den Artikel bei Wikipedia überfliegen. Auf dem X Server setzt dann die Desktopumgebung LXDE auf. Zu der gehört die Autostartdatei, die Du bearbeitet hast. Allerdings wird wohl auf neuen Raspbians nicht die systemweite Autostartdatei, sondern die des Nutzers gelesen. Versuch also mal

    Code
    nano ~/.config/lxsession/LXDE/autostart

    Ich benutze LXDE selbst nicht, daher bin ich nicht sicher, ob das so wirklich funktioniert.

    Alternativ könntest Du Dir mal nodm ("sudo apt-get install nodm") anschauen - das ist ein schlanker Displaymanager, der einen Nutzer automatisch einloggt und dann für den eine Xsession startet. M.E. ideal für solche Kioskanwendungen, benutze ich selbst auch.

    Einmal editiert, zuletzt von Manul (18. Juni 2016 um 10:53)

  • Hi Manul,

    jo danke dir - leider gibt es nicht einmal das .config-Verzeichnis...

    Habe jetzt nodm installiert, aber hab tüllich keine Ahnung, wie man das jetzt bedient :)

    Ich danke dir aber nochmal. Das soll hier jetzt nicht zu einem Dauersupport für dich ausarten. Daher werde ich mal selbst weiterrecherchieren - danke deiner Tipps bin ich ja schon gut versorgt für´s Erste.

    Danke dir!
    Karlos

  • Na, aber den einen kriegen wir noch. Versuch mal

    Code
    sudo dpkg-reconfigure nodm

    Die Fragen, die Dir gestellt werden, beantwortest Du dann wie folgt:

    Start on boot?: "Yes"
    User to start session for: "pi"
    Lowest numbered vt...: "7"
    Options for the X server: "-nolisten tcp" (wenn Du magst, kannst Du noch " -nocursor" anfügen, auf einem Touchscreen ist Mauszeiger m.E. eher störend
    Minimum time: "60"
    X session to use: "/etx/X11/Xsession"

    Jeweils natürlich ohne Anführungszeichen. Sollten größtenteils die defaults sein. Dann eine Datei ~/.xsession anlegen. In die schreibst Du

    • Deine xinput Befehle (ggfs. mit sudo davor, falls die unter root laufen müssen)
    • Falls Du den Bildschirmschoner deaktivieren möchtest

      Code
      xset -dpms
      xset s noblank
      xset s off
    • "exec <Befehl um Iceweasel zu starten>


    Das müsste es dann gewesen sein.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!