• Und wer ist…?
  • Holiday Berichte
    • Urlaub Schottland 2013
    • Urlaub Griechenland 2013
  • Services
  • Kontakt/GnuPG

KOKOLOR.ES

Hier geht's einfach mal um alles und nichts!

xorg

Fehlerhaftes font rendering, missing letters in Xubuntu

6. Juli 2017 by Sebastian Leave a Comment

UPDATE: Wie angekündigt, nochmal eine kurze Rückmeldung: Mein Rechner lief jetzt seit diesen 14 Tagen durch ohne das das Problem aufgetreten ist. Das wäre vorher nicht gegangen, somit würde ich sagen Kernel Upgrade bringt was. ;-)

Ich hab schon seit Beginn an mit Xubuntu 16.04 das Problem, das in einem von zehn Aufweckversuchen aus dem Standby, so gut wie keine Buchstaben mehr da sind. Außer bei ein paar einzelnen Programmen wie Chromium oder Thunderbird, wo dennoch Buchstaben angezeigt werden. Ich hatte mich damit auch schonmal beschäftigt, konnte aber nichts näheres herausfinden woran es liegen könnte, und ein paar Testeinstellungen in der xorg.conf brachten auch nicht wirklich Besserung. Außerdem trat der Fehler auch „relativ“ selten auf und ich hab ihn auch nicht absichtlich reproduziert können, wodurch mir der Fehler irgendwann wieder egal war und ich damit lebte. Heute trat er allerdings wieder auf und da bekam ich so einen Hals, das ich mich da nochmal mit beschätigte und einen Bugreport fand, der dieses Problem beschrieb. Das Problem hat offenbar mit dem Kernel 4.4 zu tun, da auch Benutzer von Ubuntu 14.04 mit Xenial Kernel von dem selben Problem berichteten. Die Lösung sei hier den Kernel 4.8 zu installieren, welcher das Problem beheben soll. Unter 16.04 macht man das wie folgt:

sudo apt install linux-generic-hwe-16.04 linux-headers-generic-hwe-16.04 xserver-xorg-hwe-16.04

Laut dem Bugreport soll der Fehler danach nicht mehr auftreten. Ich bin gespannnt und werde nach 14 Tagen hier nochmal ein kleines Update reinschreiben.

Posted in: IT, Linux, Opensource Tagged: intel, kernel, linux, ubuntu, xenial, xorg, xubuntu

Binärtreiber Chaos: Heute mal nvidia

8. Oktober 2013 by Sebastian 5 Comments

Boar hab ich nenn Hals….Nachdem ich ja schon vor ein paar Wochen solche Probleme mit dem fglrx Treiber von ATI hatte meinte doch tatsächlich an meinem Arbeitsrechner der nvidia Treiber rummzuspacken.

Ich verwende auf dem PC den nvidia-304 Treiber aus dem Ubuntu Repository. Den benutz ich deshalb weil der Opensourcetreiber performancemäßig echt nichts taugt, ich lass mich hier aber auch gern eines besseren belehren. Jedenfalls machte ich heute morgen meinen PC an, nachdem ich ihm nach wochenlangem Durchlaufen letzten Freitag mal eine Wochenende gönnte, und meine Monitore waren vertauscht. Der Primäre war plötzlich der Rechte statt der Linke und der Linke war als rechts vom Rechten eingestellt. Ok das Problem hatte ich schonmal, damals half einfach mal den X Server neustarten…Pustekuchen…. Nachdem ich wir mal die nvidia-settings und die xorg.conf anschaute fiel mir erstmal auf das plötzlich der Anschluss HDMI-0 in der Config nicht mehr DFP-0 sondern nun DFP-1 ist und DVI-I-1 DFP-0. Ganz großes Kino NVIDIA, habt ihr Langeweile oder was? An meinem Arbeitsplatz PC geht das ja noch, aber jetzt muss ich beim Kunden auch noch drauf achten das sich das nicht irgendwann mal ändert….
Allerdings war es damit auch noch nich getan, egal was ich nun in die xorg.conf geschrieben hab, es wurde einfach konsequent ignoriert. Ich sagte dem Treiber in den nvidia-settings wie die Einstellungen richtig sind und sicherte sie in die xorg.conf, wo es auch richtig drin stand. Nächster Start – nvidia-settings zeigt mir wieder das selbe an, xorg.conf wird scheinbar ignoriert…Nachdem ich mich 1 Stunde damit beschäftigt hatte, zu keinem Ergebnis kam und ich mittlerweile so wütend war das mir die Hände zitterten, tauschte ich einfach die Anschlüsse an den Monitoren.

Dennoch taucht bei mir immer wieder die Frage auf was sich diese Firmen denken. Kommt da nenn Chef in die Entwicklung und sagt:

Chef: „He Jungs, wir haben vom Kundenservice die Zahlen von den letzten Monaten bekommen und die Anzahl der Anrufe sind zurück gegangen. Ne Idee wie wir dem entgegen wirken können.“
Entwickler: „Joar komm, wir switchen einfach die Aliases der Anschlüsse“
Chef: „Ja aber das ist doch viel zu einfach. Können die das nicht einfach in den Settings selbst ändern?“
Entwickler: „Hm….dann lassen wir die Settings einfach sämtliche Änderungen ignorieren, vor allem die in der xorg.conf getätigten.“
Chef: „Perfekt so machen wa das.“

Posted in: Arbeit, IT, Linux, Opensource Tagged: linux, nvidia, precise, ubuntu, xorg

ATI Binärtreiber (fglrx) benutzt nur Modes die via EDID ausgelesen werden / Faken von EDID Informationen

30. August 2013 by Sebastian Leave a Comment

Auf Arbeit bin/war ich dabei einen PC für eine Videowall zu konfigurieren, welcher eine FirePro W7000 als Grafikkarte benutzt. Die Grafikkarte hat 4 Ausgänge, wovon jeder jeweils zwei Display’s ansteuern soll. Die zwei Display’s pro Ausgang sind untereinander jeweils per DaisyChain verbunden. Bei den Display’s handelt es sich um NEC X463UN.

Beispielhafte Darstellung:

|----------------|                |----------------|
|                |                |                |
|      NEC       |                |      NEC       |
|                |\              /|                |
|----------------| | DaisyChain | |----------------|
|                |/              \|                |
|      NEC       |                |      NEC       |
|                |\              /|                |
|----------------| \            / |----------------|
|                |  \___    ___/  |                |
|      NEC       |     |    |     |      NEC       |
|                |\    |    |    /|                |
|----------------| |   |    |   | |----------------|
|                |/    |    |    \|                |
|      NEC       |     |    |     |      NEC       |
|                |___  |    |  ___|                |
|----------------|   | |    | |   |----------------|
                     | |    | |
                   __Y_Y____Y_Y__
                  |              |
                  |PC mit Firepro|
                  |______________|

Jeden Monitor möchte ich mit 720p ansprechen, was ich mit einer Auflösung von 1280×1440 pro Ausgang bewerkstellige. Und hier fingen nun die Probleme an, bzw. nachdem ich den binären Treiber nutzen musste, denn am Anfang hatte ich alles wunderbar, ohne Probleme mit dem Opensource-Treiber am laufen. Leider vertrug der sich bei Übergängen von HTML-Items zu Videos nicht sonderlich gut mit unserem Player. Also war/bin ich leider auf den Binär-Treiber von ATI angewiesen. Bei dem Binär-Treiber wunderte ich mich warum er die oben geschriebene Auslösung auf den Tod nicht annehmen wollte, auch wenn ich eine Modeline hinzufügte und prinzipiell alles richtig war. Ich las schon früh das der fglrx Treiber sich weigert andere Auflösungen anzunehmen, als die die er vom Monitor bekommt. Das muss ja aber zu umgehen sein, dachte ich und so fand ich die beiden Optionen:

Option "IgnoreEDID" "true"
Option "NoDDC" "true"

welche man in die Device Sektion der xorg.conf hinzufügen konnte. Allerdings weiß ich nicht in welcher Version des Treibers dies funktioniert hatte, denn die aktuellste Version kommentiert das in der Xorg.0.log mit einem:

fglrx(0): Option "IgnoreEDID" is not used
fglrx(0): Option "NoDDC" is not used

Irgendwann startete dann der X gar nicht mehr, weil er plötzlich die Modelines nicht mehr mochte. Dann fand ich einen guten Tipp, wo ich gar nicht wusste das der Treiber damit klar kommt. Man kann einfach die Datenbank Datei im /etc/ati Ordner löschen, wo hin sich der Treiber die xorg.conf übersetzt, die da heißt amdpcsdb. Nachdem ich das getan hab zeigte er mir zumindest schonmal mit xrandr die Modeline an, auch wenn er sie nicht auswählte und nur eine komische Auflösung von 1920×1920 ausgab.

Nachdem ich mit meinem Latein langsam am Ende war holt ich einen unseren Entwicker hinzu, der für mich wie eine laufende Linux Bibel ist. Nachdem ihm das Problem erläutert habe, schaute er sich auch nochmal alles an und wir probierten noch locker eine Stunder herum bis wir bei google auf eine lustige Entdeckung stießen. Und zwar versucht der fglrx Treiber aus dem Verzeichnis /etc/ati/ .edid Files auszulesen. Also machte wir uns schlau wir eine EDID Datein erstellen können, die wir dem Treiber mitgeben können. Um eine Datei zu erstellen nutzten wir das Programm Phoenix EDID Designer. Damit waren wir nun auch eine Weile beschäftigt. Warum erklär ich. Wir nahmen uns den EDID HEX Code eines Monitors aus der Xorg.0.log, welcher wie folgt aussieht:

00ffffffffffff0038a38c6801010101
161701038066398ceab7eda5554f9826
11474aa1090081c08100814081809040
9500a940b300f03c00d051a035506088
3a00fa3c3200001e000000fd0030551c
5c11000a202020202020000000fc0058
343633554e0a202020202020000000ff
0033353130383038374e420a2020012a

Nun mussten wir raus finden wie wir den Code formatieren damit ihn das Programm versteht, denn exportieren konnte es das im .raw Format, einlesen jedoch nur formatiert im .dat Format. Also haben wir eine Dummy Datei im .dat Format aus dem Programm erzeugt die wie folgt aussieht:

EDID BYTES:
0x   00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
    ------------------------------------------------
00 | 00 FF FF FF FF FF FF 00 04 21 00 00 00 00 00 00
10 | 01 00 01 03 00 00 00 00 00 00 00 00 00 00 00 00
20 | 00 00 00 00 00 00 01 01 01 01 01 01 01 01 01 01
30 | 01 01 01 01 01 01 64 00 00 00 00 00 00 00 00 00
40 | 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00
50 | 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00
60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10
70 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 38

Also unseren HEX Code da rein gehauen und ja der muss genau so formatiert werden damit das Programm das annimmt. Das heißt nach jedem zweiten Zeichen eine Leerstelle und alle kleinen Buchstaben durch große ersetzen. Am Ende muss die Datei 128k groß sein, dann sollte alles richtig sein. Nachdem das geschehen war konnten wir nun endlich die Datei mit dem Programm öffnen, wo wir nun beim nächsten Problem standen, welche Werte der Modeline bei den Timings eintragen.timing_sample

Das Schema war allerdings schnell gefunden. Ich erkläre es an Hand der Modeline die wir verwendet haben:

Modeline "1280x1440_60.00"  156.00  1280 1376 1512 1744  1440 1443 1453 1493 -hsync +vsync

Im Grunde sind für uns die drei Zahlengruppen zwischen „ und -hsync interessant, bestehend aus einer Zahl, gefolgt von zwei Zahlengruppen á 4 Zahlen.

1. Zahl:

Pixel Clk: 156.00

1. Zahlen Gruppe aus 4 Zahlen, welche die Horizontal Werte enthält:

H Active Pxl: 1280
H Blank: 1744 – 1280 = 464
H Sync Offset: 1376 – 1280 = 96
H Sync Width: 1512 – 1280 – 96 = 136
H Image Size: Die tatsächliche horizontale Abmessung des Panels in mm

2. Zahlen Gruppe aus 4 Zahlen, welche die Vertikal Werte enthält:

V Active Pxl: 1440
V Blank: 1493 – 1440 = 53
V Sync Offset: 1443 – 1440 = 3
V Sync Width: 1453 – 1440 – 3 = 10
V Image Size: Die tatsächliche vertikale Abmessung des Panels in mm

So nun noch die Datei als .raw exportieren und der komplizierte Teil war geschafft. Also haben wir der Datei noch einen eindeutigen Namen gegeben, diese dann in den /etc/ati Ordner kopiert und Symlinks angelegt mit den Namen der Grafikkarten Ausgänge mit .edid daran, da in unserem Fall auf allen die gleiche Auflösung ausgegeben werden soll. Einmal den X neugestartet und man sieht im Xorg.0.log das er nun die gewünschte Modeline anzeigt. Nun haben wir noch die Modelines aus der xorg.conf entfernt und wir trauten unseren Augen kaum – Es geht!!!

Alles in allen hat mich der ganze Spaß 5 Stunden und meinen Kollegen 3 Stunden gekostet. Man kann sich nun sicher drüber streiten wem man hier die Schuld zuschreiben kann. Den Entwicklern bei ATI welche, warum auch immer, es nicht zulassen andere Auslösungen anzunehmen, obwohl die Display’s es unterstützen oder NEC welche eigentlich davon ausgehen müssten, wenn sie Display’s mit DaisyChain verkaufen, da auch höhere Auslösungen gefahren werden müssen. Also sollte NEC für diesen Fall eigentlich noch, das Display, zusätzliche EDID Informationen übertragen lassen. Ich persönlich gebe aber ATI die Schuld, denn Warum kann es denn der Opensource Treiber und der eigene nicht, Warum baut man denn überhaupt so eine hirnrissige Hürde ein – ich mein das macht doch hinten und vorn keinen Sinn und vor allem Was macht denn ein normaler User der vielleicht ein Consumer Display nutzt welches fehlerhafte EDID Informationen eingetragen hat und übermittelt.

Jedenfalls haben wir es nun geschafft und ich hoffe das anderen hiermit geholfen ist, auch wenn es dennoch ein recht umständlicher Weg ist. Wenn man jedoch auf die Binärtreiber angewiesen ist führt wohl kein Weg vorbei. Sollte es dennoch einen geben würde ich diesen gern erfahren.

Ich danke auf jeden Fall Martin H. für seine Hilfe, der mir immer wieder beweist das ich keinen anderen kenne, der sich so sehr mit Linux auskennt wie er.

Quellen: DASTRUP Tech Logs – ATI fglrx Propriertary Driver Problems, Hot Ceshew – Fix corrupt EDID in Linux running ATI/Catalyst/fglrx Driver

 

Posted in: Arbeit, IT, Linux, Opensource Tagged: edid, fglrx, linux, nec, precise, ubuntu, xorg

Cinnamon flickering mit ATI Treibern

25. Juli 2012 by Sebastian Leave a Comment

Nachdem ich Linux Mint installiert hab und die zugehörigen ATI Treiber über „Additional Drivers“ ist mir aufgefallen das mein Bildschirm immer flackert wenn ich ein Programm öffne. Am Anfang hat es mich nicht gestört, doch viel mir dann auf das sich auch die Icons von geöffneten Programmen in der oberen Leiste nicht aktualisierten, wie z.B. der Skype Status. Nachdem es dann auch wiederholt zu abstürzten von Cinnamon kam nahm ich mich dem doch mal an.

Als erstes hab ich erstmal den über „Additional Drivers“ installierten Treiber deinstalliert und mir den aktuellsten von der ATI Seite runtergeladen, Version 12.6 die gestern Released wurde. Allerdings gab es da auch keine Besserung. Nach weiterem recherchieren fand ich dann folgenden Heise Eintrag und der trifft leider auch auf meine GraKa zu (HD4870).

Nach weiterem suchen habe ich dann einen Artikel im Mint Forum gefunden der mir weiterhalf, denn das Problem nervt wohl einige die Cinnamon mit ATI Karten verwenden. Also folgendes getan:

fglrx Treiber deinstalliert

sudo apt-get remove –purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev

xorg.conf umbenannt

sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.old

und die xserver radeon Treiber neuinstalliert

sudo apt-get –reinstall xserver-xorg-video-radeon

Nach einem Neustart sind nun alle beschriebenen Probleme beseitigt und es rennt alles wunderbar.

lspci -k |grep -A2 VGA
01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI RV770 [Radeon HD 4870]
Subsystem: Advanced Micro Devices [AMD] nee ATI Device 0502
Kernel driver in use: radeon

Wie man sieht wurde auch der Treiber richtig geladen, also alles wieder wunderbar. :)

 

Posted in: IT, Linux, Opensource Tagged: ati, fglrx, linux, mint, ubuntu, xorg

Social Shit

Fediverse PGP-Key XMPP Matrix Git Github

Kategorien

  • Allgemein
  • Android
  • Anime
  • Arbeit
  • Entertainment
  • Games
  • Handy
  • IT
  • Linux
  • Monitoring
  • Netzwerk
  • Opensource
  • Privates
  • QEK Junior
  • Rattis
  • Showtime Ost
  • Showtime West
  • Windows

Interessantes

  • 5222.de
  • chr.istoph's Blog
  • Lainblog
  • World of Edolas

Archive

  • Juni 2023
  • August 2019
  • Oktober 2018
  • März 2018
  • Dezember 2017
  • Juli 2017
  • Juni 2017
  • Mai 2017
  • März 2017
  • Februar 2017
  • Januar 2017
  • Dezember 2016
  • November 2016
  • September 2016
  • August 2016
  • Juli 2016
  • Juni 2016
  • Mai 2016
  • April 2016
  • März 2016
  • Februar 2016
  • Dezember 2015
  • November 2015
  • September 2015
  • August 2015
  • Juli 2015
  • Juni 2015
  • Mai 2015
  • April 2015
  • März 2015
  • Februar 2015
  • November 2014
  • Oktober 2014
  • August 2014
  • Juli 2014
  • Juni 2014
  • Mai 2014
  • April 2014
  • März 2014
  • Februar 2014
  • Dezember 2013
  • November 2013
  • Oktober 2013
  • September 2013
  • August 2013
  • Juli 2013
  • April 2013
  • März 2013
  • Februar 2013
  • Januar 2013
  • Dezember 2012
  • November 2012
  • September 2012
  • Juli 2012
  • Juni 2012
  • Mai 2012
  • Februar 2012
  • Januar 2012

Tags

android anime apt bash bugs debian freifunk freifunk-aachen gnome hardware htpc kernel linux lucid lxc mdadm mint monitoring mysql network nginx openwrt outdoor package pgp php postgres precise raid redmine squeeze telekom testing trusty ubuntu virtualization vserver wheezy windows xbmc xenial xorg xubuntu zabbix zarafa

Datenschutzerklärung | Impressum

Copyright © 2025 KOKOLOR.ES.

Omega WordPress Theme by ThemeHall