Portál AbcLinuxu, 5. května 2024 06:49

Problémy s BigDesktopem po výměně zobrazovacích zařízení

9.1.2012 14:30 | Přečteno: 1343× | (open)SUSE | Výběrový blog | poslední úprava: 9.1.2012 16:12

Použití více zobrazovacích zařízení pomocí jediné grafické karty již delší dobu není problémem, ale přesto se občas stane, že se cosi ošklivě pokazí a výsledkem je několik hodin hledání možné chyby. Výjimkou nejsou ani nová KDE 4.7.4 v kombinaci s Calatysty 11.12.

Problém, který se bude níže řešit, úzce souvisí s mým necelý rok starým HTPC (viz blog), u něhož jako primární grafický výstup používám (používal jsem) analogový monitor a sekundární výstup je veden na TV za pomoci HDMI. Výsledkem byl tento screenshot - tedy big desktop s primární plochou velikosti 1280x1024 (monitor) a k ní je vpravo připojena plocha o velikosti 1360x768 (TV). Primární konfigurace byla snadná, prakticky Plug&Play, problém ale nastal, když jsem stařičký monitor vyměnil za nový digitální, připojený přes DVI.

To, že vše nejelo na první pokus jsem nijak neřešil - tak jako tak jsem měl v plánu provést aktualizaci jádra a ovladačů grafiky, což bylo první, co jsem provedl. Výsledkem byl desktop, ve kterém se obě dvě plochy s určitým ofsetem překrývaly. Vezměme nyní tento stav jako výchozí (tedy nainstalovaná zobrazovací zařízení a ovladače s určitým prvotním nastavením) a pokusme se vše dostat do podmínek podobných jako na prvním screenshotu.

První problém, který se objeví je harmonizace nastavení AMD Calatyst Control Centra s nastavením KDE - v obou případech je třeba nastavit shodný způsob zobrazení a restartovat Xka. Nyní naběhnou Xka s podivným ofsetem obou ploch, které již ale mají správnou pozici - TV je napravo od monitoru. V této fázi vše komplikuje chyba v nastavení vytvořeném AMD Calatyst Control Centrem (amdcccle) v Xorg.conf. Z pohledu do tohoto souboru (cat /etc/X11/Xorg.conf)

Section "ServerLayout"
	Identifier     "aticonfig Layout"
	Screen      0  "aticonfig-Screen[0]-0" 0 0
EndSection

Section "Module"
EndSection

Section "Monitor"
	Identifier   "aticonfig-Monitor[0]-0"
	Option	    "VendorName" "ATI Proprietary Driver"
	Option	    "ModelName" "Generic Autodetecting Monitor"
	Option	    "DPMS" "true"
EndSection

Section "Monitor"
	Identifier   "0-DFP1"
	Option	    "VendorName" "ATI Proprietary Driver"
	Option	    "ModelName" "Generic Autodetecting Monitor"
	Option	    "DPMS" "true"
	Option	    "PreferredMode" "1920x1080"
	Option	    "TargetRefresh" "60"
	Option	    "Position" "0 32"
	Option	    "Rotate" "normal"
	Option	    "Disable" "false"
EndSection

Section "Monitor"
	Identifier   "0-DFP2"
	Option	    "VendorName" "ATI Proprietary Driver"
	Option	    "ModelName" "Generic Autodetecting Monitor"
	Option	    "DPMS" "true"
	Option	    "PreferredMode" "1360x768"
	Option	    "TargetRefresh" "60"
	Option	    "Position" "1920 0"
	Option	    "Rotate" "normal"
	Option	    "Disable" "false"
EndSection

Section "Device"
	Identifier  "aticonfig-Device[0]-0"
	Driver      "fglrx"
	Option	    "Monitor-DFP2" "0-DFP2"
	Option	    "Monitor-DFP1" "0-DFP1"
	BusID       "PCI:0:1:0"
EndSection

Section "Screen"
	Identifier "aticonfig-Screen[0]-0"
	Device     "aticonfig-Device[0]-0"
	DefaultDepth     24
	SubSection "Display"
		Viewport   0 0
		Virtual   3280 1920
		Depth     24
	EndSubSection
EndSection
vyplývá, že chyba je v řádku zvýrazněném tučně. Z nějakého důvodu amdcccle posadilo primární monitor o 32pixelů níže. Opravou je přepsání uvedeného řádku na
	Option	    "Position" "0 0"
Následuje restart Xek.

Po restartu jsou nyní plochy obou zobrazovacích zařízení zarovnány, ale navzájem se překrývají. Po delším přenastavování a zkoumání lze za viníka označit ovládací centrum KDE, které nenbí schopné řádně zeditovat následující soubory:

~/.kde4/share/config/krandrrc
~/.kde4/share/config/startupconfig
Obsah těchto souborů totiž vypadá následovně:
[Display]
ApplyOnStartup=true
StartupCommands=xrandr --output DFP2 --pos 1920x0 --mode 1360x768 --refresh 60.0152\nxrandr --output CRT1 --pos 0x0 --mode 1280x1024 --refresh 60.0197\nxrandr --output CRT11 --primary

[Screen_0]
OutputsUnified=false
UnifiedRect=0,0,0,0
UnifiedRotation=1

[Screen_0_Output_CRT1]
Active=true
Rect=0,0,1280,1024
RefreshRate=60
Rotation=1

[Screen_0_Output_DFP2]
Active=true
Rect=1280,0,1360,768
RefreshRate=60.0151634216309
Rotation=1
a
#! /bin/sh
# kcminputrc Mouse cursorTheme 'Oxygen_White'
kcminputrc_mouse_cursortheme=Oxygen_Zion
# kcminputrc Mouse cursorSize ''
kcminputrc_mouse_cursorsize=''
# ksplashrc KSplash Theme Default
ksplashrc_ksplash_theme=ksplashx-suse
# ksplashrc KSplash Engine KSplashX
ksplashrc_ksplash_engine=KSplashX
# krandrrc Display ApplyOnStartup false
krandrrc_display_applyonstartup=true
# krandrrc Display StartupCommands ''
krandrrc_display_startupcommands='xrandr --output DFP2 --pos 1024x0 --mode 1360x768 --refresh 60.0152
xrandr --output CRT1 --pos 0x0 --mode 1280x1024 --refresh 60.0197
xrandr --output CRT1 --primary'
# krandrrc [Screen0]
# krandrrc [Screen1]
# krandrrc [Screen2]
# krandrrc [Screen3]
# kcmfonts General forceFontDPI 0
kcmfonts_general_forcefontdpi=0
# kdeglobals Locale Language '' # trigger requesting languages from KLocale
kdeglobals_locale_language=''
klocale_languages=cs:en_US
Z těchto souborů je zřejmé, že nastavení rozlišení provádějí KDE4 za pomoci xrandr a evidentně nepostřehly výměnu monitoru a používají stará nastavení pro analogový monitor. Opravou je úprava všech výskytů CRT1 za DPF1 a úprava rozlišení z 1280x1024 na 1920x1080. Výsledkem jsou pak následující konfigurační soubory:
~/.kde4/share/config/krandrrc:
[Display]
ApplyOnStartup=true
StartupCommands=xrandr --output DFP2 --pos 1920x0 --mode 1360x768 --refresh 60.0152\nxrandr --output DPF1 --pos 0x0 --mode 1920x1080 --refresh 60.0197\nxrandr --output DPF1 --primary

[Screen_0]
OutputsUnified=false
UnifiedRect=0,0,0,0
UnifiedRotation=1

[Screen_0_Output_DFP1]
Active=true
Rect=0,0,1920,1080
RefreshRate=60
Rotation=1

[Screen_0_Output_DFP2]
Active=true
Rect=1920,0,1360,768
RefreshRate=60.0151634216309
Rotation=1
(s upravenou sekcí pro DPF1 namísto CRT1) a
~/.kde4/share/config/startupconfig:
#! /bin/sh
# kcminputrc Mouse cursorTheme 'Oxygen_White'
kcminputrc_mouse_cursortheme=Oxygen_Zion
# kcminputrc Mouse cursorSize ''
kcminputrc_mouse_cursorsize=''
# ksplashrc KSplash Theme Default
ksplashrc_ksplash_theme=ksplashx-suse
# ksplashrc KSplash Engine KSplashX
ksplashrc_ksplash_engine=KSplashX
# krandrrc Display ApplyOnStartup false
krandrrc_display_applyonstartup=true
# krandrrc Display StartupCommands ''
krandrrc_display_startupcommands='xrandr --output DFP2 --pos 1920x0 --mode 1360x768 --refresh 60.0152
xrandr --output DPF1 --pos 0x0 --mode 1920x1080 --refresh 60.0197
xrandr --output DPF1 --primary'
# krandrrc [Screen0]
# krandrrc [Screen1]
# krandrrc [Screen2]
# krandrrc [Screen3]
# kcmfonts General forceFontDPI 0
kcmfonts_general_forcefontdpi=0
# kdeglobals Locale Language '' # trigger requesting languages from KLocale
kdeglobals_locale_language=''
klocale_languages=cs:en_US
Po restartu jsou již oba desktopy správně naorientovány i napozicovány vůči sobě dle očekávání (za JPG se omlouvám, PNG bylo příliš velké) a lze je používat, jak by uživatel předpokládal.

P.S. Také jste se sháněli po QStarDictu pro openSUSE 12.1 a nenašli? Nezoufejte, bez problémů lze používat QStarDict 1.0 z Fedory 15 (lze stáhnout například zde).

       

Hodnocení: 100 %

        špatnédobré        

Obrázky

Problémy s BigDesktopem po výměně zobrazovacích zařízení, obrázek 1

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

9.1.2012 20:15 Georgius | skóre: 24 | blog: jirka
Rozbalit Rozbalit vše Re: Problémy s BigDesktopem po výměně zobrazovacích zařízení
Odpovědět | Sbalit | Link | Blokovat | Admin
Nojo, my ze staré školy, co používáme kombinaci icewm + xrandr takovéto problémy nemusíme řešit (mmch zoom je něco co mne naprosto nadchlo - primární monitor třeba full-HD a obrazovka netbooku 800x480 a s trochou matematiky (ve skriptu pochopitelně) se fullHD zmenší na pidivobrazovku (i když nepříliš čitelně).
pushkin avatar 10.1.2012 08:27 pushkin | skóre: 43 | blog: FluxBlog
Rozbalit Rozbalit vše Re: Problémy s BigDesktopem po výměně zobrazovacích zařízení
No je pravda, že "jednodušší" DE či window managery se IMHO s BigDesktopem smiřují lépe než KDE. Třeba Fluxbox se od začátku choval jak jsem chtěl, nebyl problém ani s ROXem či Xfce. Zajímavé, že ani jeden ze jmenovaných netrpěl podivnou závadou, kterou trpí KDE, která jsou schopná nová okna otvírat naprosto náhodně na levé či pravé ploše.
gtz avatar 9.1.2012 20:38 gtz | skóre: 27 | blog: gtz | Brno
Rozbalit Rozbalit vše Re: Problémy s BigDesktopem po výměně zobrazovacích zařízení
Odpovědět | Sbalit | Link | Blokovat | Admin
Já jsem se nesháněl po Stardictu, ale např. balíky pro NIP2. V 11.3/11.4 to bylo v pohodě, ale jak jsem se díval tak na packmanu pusto a prázdno. S Nvidií jsem problémy s nastavení neměl, ale když připojuji v práci LCD k NTB tak si to někdy dělá co chce a rádo to někdy pozapomene konfiguraci (no Intel). Ale je fakt, že nastavení dual monitorů je nyní celkem easy.
- nejhorší jsou trpaslíci ... Ti Vám vlezou úplně všude
pushkin avatar 10.1.2012 08:35 pushkin | skóre: 43 | blog: FluxBlog
Rozbalit Rozbalit vše Re: Problémy s BigDesktopem po výměně zobrazovacích zařízení
Jo, ty balíčky pro openSUSE jsou poslední dobou nějak divně (ne)dohledatelné ... zajímavé je, že když se v openSUSE BuildService dá vyhledávat KDE styl Skulpture (výsledek hledání), vyhledávač nic nenajde. Když se ale použije jiný vyhledávač (výsledek z rpm.pbone.net), pak balíček s tímto stylem najde a to dokonce přímo v BuildService. A podobných balíčků je více...
10.1.2012 08:52 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Problémy s BigDesktopem po výměně zobrazovacích zařízení
Pokud chcete najít i balíčky z home:* projektů, musíte si zaškrtnout checkbox "Zahrnout uživatelské domácí projekty".
pushkin avatar 10.1.2012 08:59 pushkin | skóre: 43 | blog: FluxBlog
Rozbalit Rozbalit vše Re: Problémy s BigDesktopem po výměně zobrazovacích zařízení
Aha, předpokládal jsem, že je vyhledávač prohledává ve výchozím nastavení. Stydím se :-) Díky!
10.1.2012 09:12 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Problémy s BigDesktopem po výměně zobrazovacích zařízení
IMHO je to proto, že v home projektech může mít v podstatě kdokoli cokoli včetně různých experimentů a pre-alpha verzí. Takže je asi lepší, že se zobrazují jen tomu, kdo si vědomě zaškrtne, že je chce.
gtz avatar 10.1.2012 17:16 gtz | skóre: 27 | blog: gtz | Brno
Rozbalit Rozbalit vše Re: Problémy s BigDesktopem po výměně zobrazovacích zařízení
A lze to nějak celé aplikovat, aby to našel i zypper? Musel bych každý home přidat jako repository a to je poněkud zdlouhavé.
- nejhorší jsou trpaslíci ... Ti Vám vlezou úplně všude
10.1.2012 18:00 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Problémy s BigDesktopem po výměně zobrazovacích zařízení
Repozitář konkrétního projektu přidat jde. Přidat jednoduše obsah všech projektů v OBS asi nepůjde, jednak by toho bylo moc i na libzypp, jednak by tím vzniklo příliš mnoho konfliktů, takže by to bylo nepoužitelné.
gtz avatar 10.1.2012 19:29 gtz | skóre: 27 | blog: gtz | Brno
Rozbalit Rozbalit vše Re: Problémy s BigDesktopem po výměně zobrazovacích zařízení
Myslel jsem, že to nepůjde, Kdyby něco umělo hledat i v konsoli pak by to bylo to co jsem myslel
- nejhorší jsou trpaslíci ... Ti Vám vlezou úplně všude
10.1.2012 20:56 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Problémy s BigDesktopem po výměně zobrazovacích zařízení
Možná špatně chápu, co potřebujete, ale jestli jde o vyhledání projektů nebo balíčků, měl by stačit "osc search".
gtz avatar 10.1.2012 17:18 gtz | skóre: 27 | blog: gtz | Brno
Rozbalit Rozbalit vše Re: Problémy s BigDesktopem po výměně zobrazovacích zařízení
no já jsem zkoušel hledat ten nip2 a zkoušel jsem pár alpha verzí a každý padal. Musím se dokopat časově k tomu, abych to udělal ze zdrojáků.
- nejhorší jsou trpaslíci ... Ti Vám vlezou úplně všude

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.