Newsgroup: it.comp.os.linux.sys
Titolo: Problemi con VIA Unichrome e pannello LCD

Ho per le  mani un display LCD da 46", 1366x768,  corredato sul retro da
un PC basato su un mini-ITX  con la solita Unichrome Pro (CN800 mi pare)
connessa direttamente al pannello LCD (e` di quelle fatte apposta per il
dual display LCD-SVGA).
Sotto  Windows XP  funziona perfettamente  (a parte  un crash  o  due al
giorno...), ma sotto Linux, una  Fedora 8 Unity respin del 31/03/08, non
c'e` verso di fargli funzionare X: dopo varie imprecazioni sono riuscito
al massimo ad ottenere questo:
 
http://www.gest.unipd.it/~jake/schermo.jpg
Non parrebbe  essere un problema di sincronismi,  quanto di allineamento
in memoria (ogni  riga si sposta di 8 pixel),  anche perche' cambiando i
ModeLine o  si spegne il pannello  o non cambia  l'output. Oltretutto il
cursore  hardware viene  visualizzato  correttamente, come  si vede  nel
dettaglio in basso a sinistra.
Qualche idea?  Mi scoccerebbe  non poco dover  tornare a  Windows, visti
anche  i potenti  tool di  gestione  remota che  ha a  disposizione e  i
problemi di crash vari (una volta IE7, altre vari BSOD sempre diversi: o
c'e` un difetto sulla motherboard, o i driver fanno schifo...).
====  xorg.conf  =======================================================
Section "ServerLayout"
	Identifier     "single head configuration"
	Screen      0  "Screen0" 0 0
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection
Section "Module"
	Load  "glx"
	Load  "dri"
	Load  "extmod"
	Load  "vbe"
EndSection
Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "kbd"
	Option	    "XkbModel" "pc105"
	Option	    "XkbLayout" "it"
EndSection
Section "Monitor"
        # ModeLine "1366x768a" 85.86 1366 1440 1584 1800 768 769 772 795 -HSync +Vsync
        # ModeLine "1366x768b" 88.03 1366 1424 1680 1816 768 770 782 808
	# ModeLine "1280x768" 80.1  1280 1344 1480 1680 768 769 772 795 
        ModeLine "1366x768" 85.86 1366 1440 1584 1800 768 769 772 795 -HSync +Vsync
	Identifier   "Monitor0"
	HorizSync    30.0 - 62.0
	VertRefresh  50.0 - 75.0
EndSection
Section "Device"
	Identifier  "Videocard0"
	Driver      "via"
	BoardName   "Via Unichrome Pro"
	Option	    "ActiveDevice" "LCD"
	Option	    "ForcePanel" "On"
EndSection
Section "Screen"
	Identifier "Screen0"
	Device     "Videocard0"
	Monitor    "Monitor0"
	DefaultDepth     24
	SubSection "Display"
		Modes "1366x768"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection
Section "DRI"
	Group        0
	Mode         0666
EndSection
====================================================================
Saluti,
Luca Polo.
-- 
Luca...@gest.unipd.it
 --- 
http://www.gest.unipd.it/~jake
----------------------------------------------------------
One Ping to rule them all. One Ping to find them.
One Ping to bring down them all.
And in the darkness crash them.         [The Lord of the Pings]

 
Non so se potro' esserti di aiuto, ma ho una EN15000G sempre basata su 
Unichrome Pro. Come driver uso quelli openchrome forniti da Gentoo 
invece che via, ed il display e' un crt Sony tradizionale a 1024x768.
La scheda funziona molto bene, fornendo filmati in full screen con cpu 
al di sotto del 30%.
Se ce la faccio oggi la provo su un display lcd da 1680x1050 tentando 
anche i 1366x768...
Al mio xorg.conf, pero' non c'è nulla che riguarda le impostazioni per 
la risoluzione e funziona tutto correttamente con i valori di default.
Se non imposti i parametri di risoluzione, refresh rate ecc. a che 
risoluzione parte il display?
output di lspci:
01:00.0 VGA compatible controller: VIA Technologies, Inc. UniChrome Pro 
IGP (rev 01)
Il mio Xorg.conf:
Section "ServerLayout"
         Identifier     "X.org Configured"
         Screen      0  "Screen0" 0 0
         InputDevice    "Mouse0" "CorePointer"
         InputDevice    "Keyboard0" "CoreKeyboard"
         Option          "BlankTime"     "0"
         Option          "StandbyTime"   "0"
         Option          "SuspendTime"   "0"
         Option          "OffTime"       "0"
EndSection
Section "Files"
         RgbPath      "/usr/share/X11/rgb"
         ModulePath   "/usr/lib/xorg/modules"
         FontPath     "/usr/share/fonts/misc/"
         FontPath     "/usr/share/fonts/TTF/"
         FontPath     "/usr/share/fonts/OTF"
         FontPath     "/usr/share/fonts/Type1/"
         FontPath     "/usr/share/fonts/100dpi/"
         FontPath     "/usr/share/fonts/75dpi/"
EndSection
Section "Module"
         Load  "glx"
         Load  "extmod"
         Load  "xtrap"
         Load  "record"
         Load  "GLcore"
         Load  "dbe"
         Load  "dri"
         Load  "freetype"
         Load  "type1"
EndSection
Section "InputDevice"
         Identifier  "Keyboard0"
         Driver      "kbd"
         Option      "XkbModel" "pc105"
         Option      "XkbLayout" "it"
EndSection
Section "InputDevice"
         Identifier  "Mouse0"
         Driver      "mouse"
         Option      "Protocol" "auto"
         Option      "Device" "/dev/input/mice"
         Option      "ZAxisMapping" "4 5 6 7"
EndSection
Section "Monitor"
         Identifier   "Monitor0"
         VendorName   "Monitor Vendor"
         ModelName    "Monitor Model"
         Option       "DPMS"
EndSection
Section "Device"
         ### Available Driver options are:-
         ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
         ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
         ### [arg]: arg optional
         #Option     "PrintVGARegs"              # [<bool>]
         #Option     "PrintTVRegs"               # [<bool>]
         #Option     "I2CScan"                   # [<bool>]
         #Option     "VBEModes"                  # [<bool>]
         #Option     "NoAccel"                   # [<bool>]
         #Option     "AccelMethod"               # <str>
         #Option     "ExaNoComposite"            # [<bool>]
         #Option     "ExaScratchSize"            # <i>
         #Option     "HWCursor"                  # [<bool>]
         #Option     "SWCursor"                  # [<bool>]
         #Option     "ShadowFB"                  # [<bool>]
         #Option     "Rotate"                    # [<str>]
         #Option     "VideoRAM"                  # <i>
         #Option     "ActiveDevice"              # [<str>]
         #Option     "BusWidth"                  # [<str>]
         #Option     "Center"                    # [<bool>]
         #Option     "PanelSize"                 # [<str>]
         #Option     "ForcePanel"                # [<bool>]
         #Option     "TVDotCrawl"                # [<bool>]
         #Option     "TVDeflicker"               # <i>
         #Option     "TVProgressive"             # [<bool>]
         #Option     "TVType"                    # [<str>]
         #Option     "TVOutput"                  # [<str>]
         #Option     "DisableVQ"                 # [<bool>]
         #Option     "DisableIRQ"                # [<bool>]
         #Option     "EnableAGPDMA"              # [<bool>]
         #Option     "NoAGPFor2D"                # [<bool>]
         #Option     "NoXVDMA"                   # [<bool>]
         #Option     "VbeSaveRestore"            # [<bool>]
         #Option     "DisableXvBWCheck"          # [<bool>]
         #Option     "MaxDRIMem"                 # <i>
         #Option     "AGPMem"                    # <i>
         Identifier  "Card0"
         Driver      "openchrome"
         VendorName  "Unknown Vendor"
         BoardName   "Unknown Board"
         BusID       "PCI:1:0:0"
EndSection
Section "Screen"
         Identifier "Screen0"
         Device     "Card0"
         Monitor    "Monitor0"
         SubSection "Display"
                 Viewport   0 0
                 Depth     1
         EndSubSection
         SubSection "Display"
                 Viewport   0 0
                 Depth     4
         EndSubSection
         SubSection "Display"
                 Viewport   0 0
                 Depth     8
         EndSubSection
         SubSection "Display"
                 Viewport   0 0
                 Depth     15
         EndSubSection
         SubSection "Display"
                 Viewport   0 0
                 Depth     16
         EndSubSection
         SubSection "Display"


 writes:
i> Non so se potro' esserti di aiuto, ma ho una EN15000G sempre basata su
i> Unichrome Pro. Come driver uso quelli openchrome forniti da Gentoo
i> invece che via, ed il display e' un crt Sony tradizionale a 1024x768.
Gli openchrome danno gli stessi  risultati e mi lasciano la scheda video
in condizioni inusabili (il reboot e` l'unica soluzione).
i> Se non imposti i parametri di risoluzione, refresh rate ecc. a che
i> risoluzione parte il display?
Non parte proprio... In VESA funzionicchia, ma siamo a livello tipo
640x480 o 800x600.
i> Section "Module"
i> Load  "glx"
i> Load  "extmod"
i> Load  "xtrap"
i> Load  "record"
i> Load  "GLcore"
i> Load  "dbe"
i> Load  "dri"
i> Load  "freetype"
i> Load  "type1"
i> EndSection
Dovro`  provare con  qualcuno tra  questi  moduli, oltre  a quelli  gia`
provati (caricati  e non), e giochero`  un po' anche con  le opzioni del
driver.  Continuo  ad  avere  il  sospetto  che  ci  siano  problemi  di
allineamento di strutture in memoria...


 Ho per le  mani un display LCD da 46", 1366x768,  corredato sul retro da
1366 non e` un multiplo di 8, alcuni driver, tra
cui quello nvidia, non supportano risoluzioni che
non sono multiple di 8 (o 16).
Non so Unichrome, ma sarebbe il caso di controllare.
L'immagine che hai sembrerebbe dimostrare che il
driver arrotonda, per difetto o per eccesso, e
quindi il risultato non e` proprio perfetto...
Tempo addietro, sul forum nvidia, venne spiegato
un trucco per far funzionare la cosa usando modeline
"faked", tipo 1360x768 con sync opportuni.
Non ho il link sottomano, ma forse cercando si trova.
bye,
-- 
piergiorgio

OK, non so bene come [*], ma ora funziona tutto: non, però, con i driver
VIA/X.Org  o Unichrome,  ma con  i VESA  (che pure  avevo provato  e non
avevano  funzionato... Si  vede che  non avevo  provato  le combinazioni
giuste). Si perdono le accelerazioni  hardware, ma almeno per ora non mi
servono, chissà che intanto non rimedino ai bug.
    [*] *Giuro* che non ho tirato  fuori la mazzetta da 3 kg che teniamo
        in sala macchine "pour encourager les autres".
In caso possa servire a qualcun altro ecco le parti rilevanti di xorg.conf:
================================================================
....
Section "Module"
	Load  "glx"
	Load  "dri"
	Load  "extmod"
	Load  "vbe"
EndSection
....
Section "Monitor"
	Identifier   "LCDPanel"
	DisplaySize  1010 580
	HorizSync    30.0 - 62.0
	VertRefresh  50.0 - 75.0
	ModeLine     "1366x768" 85.9 1366 1440 1584 1800 768 769 772 795 -hsync +vsync
EndSection
Section "Device"
	Identifier  "VIA"
	Driver      "vesa"
	BoardName   "Via Unichrome Pro"
	Option	    "ActiveDevice" "LCD"
	Option	    "ForcePanel" "True"
	Option	    "VBEModes" "True"
EndSection
Section "Screen"
	Identifier "Screen0"
	Device     "VIA"
	Monitor    "LCDPanel"
	DefaultDepth     24
	SubSection "Display"
		Virtual 1366 768
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection
Section "DRI"
	Group        0
	Mode         0666
EndSection
================================================================
xdpyinfo  riporta una  risoluzione di  1368x768, nonostante  il "Virtual
1366x768" la  risoluzione virtuale  resta 1368x768 mentre  quella fisica
1366x768:  evidentemente il  driver VESA  non digerisce  risoluzioni non
multiple di 8, come diceva Piergiorgio.
A questo punto è ovvio che i driver VIA hanno ancora qualche bachetto...


 A questo punto è ovvio che i driver VIA hanno ancora qualche bachetto...
Piuttosto, forse i driver VESA sono un pelo piu` scaltri
e si scelgono la risoluzione giusta, quelli VIA magari si
aspettano che sia l'utente a dargliela.
bye,
-- 
piergiorgio