LINUX.ORG.RU

XF86Config для внешнего монитора ноутбука suse 9.1


0

0

Очередная попытка, подкреплённая слабой надеждой, что как обычно, не будет удалено :).
Итак:
Непосредственно с конфигурацией х/ов вожусь редко.

Проблема такая:
Есть ноутбук roverbook navigator w200 c lcd матрицей с родным разрешением 1280х800.
lcd монитор hitachi cmlxxxsxw с родным разрешением 1280x1024.

Монитор подсоединяется svga кабелем к svga разъёму ноутбука для внешнего монитора. ОС suse 9.1.

В navigator w200 переключение внешний [монитор]-[родной монитор]-[оба]
осуществляется по [Fn]+[F4].
В линукс/е это не срабатывает, видимо, после перехода контроля над клавиатурой. Собственно и не нужно, если изначально оставить режим - оба монитора.

В этом случае, на внешний монитор выводится с ноутбука изображение в таком же разрешении, как на матрицу ноутбука 1280х800.

Желательно, что бы на внешний монитор изображение выводилось в родном разрешении внешнего монитора 1280х1024.

Ничего особо путного на тему, как это устроить, найти не удалось.
Вот нечто более менее похожее:
http://www.astro.umd.edu/~teuben/linux/laptop-display.html
Слабые :) попытки использования разных конфигураций так же мало что дали.

Вопрос потянул дальнейшее разбирательство :).

Собственно, схематично части XF86Config, отвечающие за всё это безобразие можно представить так:

...
Section "Monitor"
Option "CalcAlgorithm" "CheckDesktopGeometry"
DisplaySize 320 240
HorizSync 31-82
Identifier "Monitor[0]"
ModelName "1280X800@60HZ"
VendorName "--> LCD"
VertRefresh 58-75
UseModes "Modes[0]"
EndSection

Section "Modes"
Identifier "Modes[0]"
Modeline "1280x800" 88.68 1280 1352 1488 1696 800 801 804 830
Modeline "1280x800" 104.35 1280 1360 1496 1712 800 801 804 835
EndSection

Section "Screen"
DefaultDepth 16
...
SubSection "Display"
Depth 16
Modes "1280x800"
EndSubSection
...
Device "Device[0]"
Identifier "Screen[0]"
Monitor "Monitor[0]"
EndSection

Section "Device"
BoardName "855 GM"
BusID "0:2:0"
Driver "i810"
Identifier "Device[0]"
VideoRam 16384
Screen 0
Option "Rotate" "off"
VendorName "Intel"
EndSection

Section "ServerLayout"
Identifier "Layout[all]"
...
Option "Clone" "off"
Option "Xinerama" "off"
Screen "Screen[0]"
EndSection

То есть с видеоадаптера на i810, который устройство/device[0] на шине с id 0:2:0 выводится экран/screen[0] на монитор/monitor[0].
Поправьте, если что не так.

Sax2 в suse при усложнении этой схемы начинает неадекватно реагировать, толку от него мало :)
Усложнение такое:

...
Section "Monitor"
...
Identifier "Monitor[0]"
ModelName "1280X800@60HZ"
UseModes "Modes[0]"
EndSection

Section "Monitor"
...
Identifier "Monitor[1]"
ModelName "1280X1024@60HZ"
UseModes "Modes[1]"
EndSection

Section "Modes"
Identifier "Modes[0]"
...
EndSection

Section "Modes"
Identifier "Modes[1]"
...
EndSection

Section "Screen"
DefaultDepth 16
...
SubSection "Display"
Depth 16
Modes "1280x800"
EndSubSection
...
Device "Device[0]"
Identifier "Screen[0]"
Monitor "Monitor[0]"
EndSection

Section "Screen"
DefaultDepth 16
...
SubSection "Display"
Depth 16
Modes "1280x1024"
EndSubSection
...
Device "Device[0]"
Identifier "Screen[1]"
Monitor "Monitor[1]"
EndSection

Section "Device"
BoardName "855 GM"
BusID "0:2:0"
Driver "i810"
Identifier "Device[0]"
VideoRam 16384
Screen 0
Option "Rotate" "off"
VendorName "Intel"
EndSection

Section "Device"
BoardName "855 GM"
BusID "0:2:1"
Driver "i810"
Identifier "Device[0]"
VideoRam 16384
Screen 1
Option "Rotate" "off"
VendorName "Intel"
EndSection

Section "ServerLayout"
Identifier "Layout[all]"
...
Option "Clone" "off"
Option "Xinerama" "off"
Screen "Screen[0]"
EndSection

В самой нижней секции "Device" я намеренно установил BusID 0:2:1,
так как х/ы запускались только в таком случае.
Не знаю на сколько правильно указывать в одном и том же Device[0]
разные Screen/ы, скоррее всего это совсем не правильно :).

Но зараза эта на разные BusID 0:2:0 и 0:2:1 реагировала :).
Ну не сталкивался я с этим :).
От "Сlone" толку не было, да и не то это, скорее всего.

Есть ещё любопытные строчки из XFree86.0.log:
...
XFree86 Version 4.3.99.902 (4.4.0 RC 2)
...
(==) Using config file: "/etc/X11/XF86Config"
(==) ServerLayout "Layout[all]"
(**) |-->Screen "Screen[0]" (0)
(**) | |-->Monitor "Monitor[0]"
(**) | |-->Device "Device[0]"
...
(**) Option "Xinerama" "off"
...
(II) Host-to-PCI bridge:
(II) Bus 0: bridge is at (0:0:0), (0,0,2), BCTRL: 0x0008 (VGA_EN is set)
...
(II) PCI-to-PCI bridge:
(II) Bus 1: bridge is at (0:30:0), (0,1,1), BCTRL: 0x0006 (VGA_EN is cleared)
...
(II) PCI-to-ISA bridge:
(II) Bus -1: bridge is at (0:31:0), (0,-1,-1), BCTRL: 0x0008 (VGA_EN is set)
(II) PCI-to-CardBus bridge:
(II) Bus 2: bridge is at (1:3:0), (1,2,5), BCTRL: 0x05c0 (VGA_EN is cleared)
(--) PCI:*(0:2:0) Intel Corp. 82852/855GM Integrated Graphics Device rev 2, Mem @ 0xf0000000/27, 0xffe80000/19, I/O @ 0xec00/3
(--) PCI: (0:2:1) Intel Corp. 82852/855GM Integrated Graphics Device rev 2, Mem @ 0xe8000000/27, 0xffe00000/19
(II) Addressable bus resource ranges are
...
...
...
(II) I810: Driver for Intel Integrated Graphics Chipsets: i810, i810-dc100,
i810e, i815, i830M, 845G, 852GM/855GM, 865G
(II) Primary Device is: PCI 00:02:0
(--) Chipset 852GM/855GM found
...
(II) Setting vga for screen 0.
...
(II) I810(0): 2 display pipes available.
(==) I810(0): Display Info: enabled.
(II) I810(0): Broken BIOSes cause the system to hang here.
If you encounter this problem please add
Option "DisplayInfo" "FALSE"
to the Device section of your XF86Config file.
(II) I810(0): Display Info: CRT: attached: FALSE, present: TRUE, size: (1280,800)
(II) I810(0): Display Info: TV: attached: FALSE, present: TRUE, size: (800,600)
(II) I810(0): Display Info: DFP (digital flat panel): attached: FALSE, present: FALSE, size: (0,2059)
(II) I810(0): Display Info: LFP (local flat panel): attached: TRUE, present: TRUE, size: (1280,800)
(II) I810(0): Display Info: TV2 (second TV): attached: FALSE, present: FALSE, size: (0,2059)
(II) I810(0): Display Info: DFP2 (second digital flat panel): attached: FALSE, present: FALSE, size: (0,2059)
(II) I810(0): Size of device LFP (local flat panel) is 1280 x 800
(II) I810(0): No active displays on Pipe A.
(II) I810(0): Currently active displays on Pipe B:
(II) I810(0): LFP (local flat panel)
(II) I810(0): Lowest common panel size for pipe B is 1280 x 800

Пожалуй, для меня, наиболее обнадёживающе :), выглядит эротичное заявление XFree о том, что доступны какие-то две дисплейные трубы :),
(II) I810(0): 2 display pipes available.
с которыми потом происходят некие не хирургические действия.
По простому:
(II) I810(0): No active displays on Pipe A.
и
(II) I810(0): Currently active displays on Pipe B:
(II) I810(0): LFP (local flat panel)
(II) I810(0): Lowest common panel size for pipe B is 1280 x 800

Значит им известно о трубе А :).
Возможно, слишком наивно надеятся, что здесь подразумевается внешний vga выход :), а вдрух :)?
Есть же ещё на этом ноуте и s-video выход.

После всего этого и такого, возникают совсем жуткие вопросы.
Не только теоретически, можно ли, в данном случае, через один встроенный видеоадаптер с дополнительным выходом на внешний монитор, запущать в линуксе на экран ноута, например, kde, а на экран внешнего монитора, например, кино или тв с ноута, соответственно?

Выше - "надеяться". С мягким знаком (на всякий случай).
"вдрух" и "запущать" - так точнее (то же на всякий случай).

domenick ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.