Portál AbcLinuxu, 28. dubna 2024 02:49


Dotaz: Dual head

18.6.2008 09:59 zajdee | skóre: 11
Dual head
Přečteno: 1354×
Odpovědět | Admin
Ahojte,

včera jsem se s tím trápil tři hodiny a nepřišel jsem na to, proto se ptám tady:

Jak jednoduše v Linuxu zprovoznit dual head, tj. dva displeje, přičemž jeden je primární a druhý sekundární?

Tj.: mám laptop s LCD a příležitostně chci připojovat (bez rekonfigurací a restartů!) externí LCD přes VGA konektor. Nemám docking station.

Notebook má grafiku Intel X3100. Distribuce je Kubuntu 8.04 Verze Xorg: X.Org X Server 1.4.0.90 Release Date: 5 September 2007 X Protocol Version 11, Revision 0 Build Operating System: Linux Ubuntu (xorg-server 2:1.4.1~git20080131-1ubuntu9.2)

Kubuntu vytrvale vnucuje ovladač "vesa" (takže výkon GUI je prachmizerný), když ručně zvolím v konfiguraci systému ovladač i810 a restartuji GUI, Xorg už ani nenaběhne. Když ručně upravím /etc/X11/xorg.conf a zaměním ovladač "i810" -> "intel", GUI naběhne. Ovšem změna rozložení displejů, zapnutí sekundárního displeje apod. nefunguje, vždycky to totálně domrší konfiguraci (v ideálním případě Xorg naběhne v 640x480 a rozlišení nejde změnit, v horším nenaběhne vůbec)

Z toho, co jsem zatím vygooglil, mi vyšlo, že Xorg asi rozumnou podporu sekundárních displejů nemá a uživateli nezbyde nic jiného, než editovat xorg.conf (přičemž z dokumentace vás po pěti minutách čtení začne bolet hlava).

Má někdo tip, co zkusit a jak ten systém nakonfigurovat (ovšem rady typu "zkus upravit xorg.conf" raději nepište, to totiž není žádná slast a po včerejšku už mě přešlo i nadšení, že by to snad šlo rozběhat), aby to opravdu fungovalo a já mohl za běhu připojit externí LCD a mít ho jako sekundární monitor?
-= Nic není tím, čím se zdá být =-
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

18.6.2008 10:55 vencas | skóre: 32
Rozbalit Rozbalit vše Re: Dual head
Odpovědět | | Sbalit | Link | Blokovat | Admin
Většina ovladačů videokaret v ubuntu 8.04 podporuje xrandr 1.2, 'intel' mezi ně patří. Zkuste nahodit Xka s ovladačem intel a v terminálu pustit xrandr. Mělo by vám to vypsat nějaké informace: jaké máte výstupy na kartě atd. Pomocí dalších parametrů se dají nastavit jejich rozlišení, jak jsou vůči sobě umístěná atd.

Gnome na to má udělátko gnome-display-properties (balík gnome-control-center, mělo by to běžet i pod KDE), někde jsem četl, že v KDE je to horší, ale taky něco vygooglujete ("xrandr gui kubuntu" atp.)

Jestli xrandr nefunguje, tak asi fakt budete muset editovat xorg.conf :-|
18.6.2008 14:46 michal | skóre: 24 | blog: Blog
Rozbalit Rozbalit vše Re: Dual head
Odpovědět | | Sbalit | Link | Blokovat | Admin
oficiální návod http://www.intellinuxgraphics.org/dualhead.html
24.7.2008 15:31 zajdee | skóre: 11
Rozbalit Rozbalit vše Re: Dual head
Oficiální návod je fajn, nicméně nefunguje :)

Vyměnil jsem distro z Kubuntu x86 na Ubuntu x86_64.

Nakonec se mi nějak (?) povedlo donutit Xka běžet a zřejmě i používat ovladač intel (předtím používala vesu).

Do xorg.conf jsem do sekce Screen přidal:
        SubSection      "Display"
            Virtual     2560    1024
        EndSubSection
(monitory jsou 1280x800 na notebooku a 1280x1024 externí)

Takže teď mi konečně funguje xrandr. Autodetekce po připojení kabelu bohužel nefunguje, takže jsem si udělal skriptík, co něco málo udělá za mě:
#!/bin/bash

case "$1" in
    vgaonly)
    #Zapnout jen externí screen:
    xrandr --output VGA --mode 1280x1024
    xrandr --output LVDS --off
    ;;
    laptoponly)
    #Zapnout jen interní screen:
    xrandr --output LVDS --mode 1280x800
    xrandr --output VGA --off
    ;;
    both)
    #Zapnout obě dvě (dualhead), VGA napravo od notebooku
    xrandr --output LVDS --mode 1280x800 --output VGA --mode 1280x1024 --right-of LVDS
    ;;
    *)
    echo "{vgaonly|laptoponly|both}"
    ;;
esac
Spouštím ho podle toho, co a jak je připojeno:
./fixdisplays vgaonly
./fixdisplays laptoponly
./fixdisplays both
Poslední má nevýhodu: jako primární obrazovku to určí vždycky externí VGAčko, ať dělám co dělám. To samozřejmě není to, co bych chtěl, ale řešení jsem nenašel.

Narazil jsem ovšem na další problém - něco (beryl, mesa, intelí driver pro X, Xorg?) má interní limit na 2048x2048 pixelů široký virtuální desktop. Což dnes začíná být problém, protože rozlišení virtuálních ploch bývá díky lepším monitorům větší.

Našel jsem i řešení (pro intel driver) - ve zkratce pro poslední Ubuntu:
apt-get source xserver-xorg-video-intel
apt-get source mesa    
Upravit xserver-xorg-.../src/i965_render.c:
- if ((w > 0x7ff) || (h > 0x7ff))
+ if ((w > 8192) || (h > 8192))

mesa/src/mesa/drivers/dri/i965/brw_context.c:
- ctx->Const.MaxTextureLevels = 12;
+ ctx->Const.MaxTextureLevels = 13;
- ctx->Const.MaxTextureRectSize = (1<<11);
+ ctx->Const.MaxTextureRectSize = (1<<12);

a pak
sudo dpkg-buildpackage
v kazdem ze dvou vytvorenych adresaru. Nakonec vznikle baliky nainstalovat a rebootovat system (mozna by stacil i reload xorg pomoci ctrl+alt+del, ale behem testu jsem zjistil, ze reload funguje jen tak napul)

Porad ale zbyvaji dva problemy: - externi screen jako primarni (nechci, asi vyresit nejde) - system tray nezobrazuje ikonky, ktere vytvoril proces spusteny pres wine (zobrazuje jen prazdne misto) - reseni hledam
-= Nic není tím, čím se zdá být =-
24.7.2008 15:57 zajdee | skóre: 11
Rozbalit Rozbalit vše Re: Dual head
Reload xek samozřejmě pomocí ctrl+alt+shift+backspace :) sorry
-= Nic není tím, čím se zdá být =-
24.7.2008 21:36 michal | skóre: 24 | blog: Blog
Rozbalit Rozbalit vše Re: Dual head
Jak myslíš to že je externí obrazovka primární? Jestli ti vadí, že se lišty s programy objevují na externím monitoru, tak to se nastaví v control center (nebo aspoň tak je to v KDE).

Docela by mě zajímalo to řešení pro ten limit 2048*2048, doopravdy ti pak funguje DRI se 2 monitory? A neměl by jsi nějaký odkazy na další informace? Tohle je poslední věc co mi na linuxu chybí :)
30.7.2008 13:48 zajdee | skóre: 11
Rozbalit Rozbalit vše Re: Dual head
DRI? glxgears funguje, virtuální plocha má rozlišení těch 2560x1024, compiz/beryl taky funguje bez problémů (po update z https://launchpad.net/~compiz/+archive - před updatem byl problém s tou lištou)

jinak já těm ubunťáckým utilitám pro nastavování nevěřím, vždycky, když jsem nějakou z nich zkusil, tak mi to něco rozdrbalo...

primárním monitorem myslím, že ať externí monitor aktivuju v jakémkoli pořadí, vždycky se mi na něj přesunou lišty tj např. nabootuju jen s lcd (lišty jsou na lcd), pak připojím vga, aktivuju skriptem a ve výsledku se mi lišty přesunou na externí vga...
-= Nic není tím, čím se zdá být =-
30.7.2008 13:55 zajdee | skóre: 11
Rozbalit Rozbalit vše Re: Dual head
Jinak další informace jsou např. tady a tady.

Jen dodám, že desktop širší/vyšší než 2048x2048 umí intelácká grafika právě až od 965G, starší to bohužel nezvládají...
-= Nic není tím, čím se zdá být =-
31.7.2008 11:04 Luigi | skóre: 10
Rozbalit Rozbalit vše Re: Dual head
mam i915GM a s naprostou spokojenosti pouzivam LVDS 1400x1050 + DVI 1920x1200 na ktere mapuju jeden desktop (takze si to sectete a napise sem co Vas k predesle informaci do vedlo).
31.7.2008 11:07 Luigi | skóre: 10
Rozbalit Rozbalit vše Re: Dual head
aha, prehledl jsem zminku o akceleraci :-) tak to je jasne, pardon :-) Je to dobre popsano v datasheetu primo k chipsetu od intelu.

Založit nové vláknoNahoru

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

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