22 июля 2019 года    
Понедельник | 20:11    
Главная
 Новости
Базы данных
Безопасность PC
Всё о компьютерах
Графика и дизайн
Интернет-технологии
Мобильные устройства
Операционные системы
Программирование
Программы
Связь
Сети
 Документация
Статьи
Самоучители
 Общение
Форум







Разделы / Операционные системы / Linux

FAQ: 2 монитора в линуксе - как?

From: Olli Artemjev 
Date: Fri, 15 Sep 2000 07:00:02 +0400

		    FAQ: 2 монитора в линуксе - как?

Авторство: Олли Артемьев, 2:5020/1354, olli@digger.org.ru
thanx:     читателям ru.linux, ru.unix.linux, br.local , 
           дополнявшим и корректировавшим мои ответы.
	   Персонально: Serge B. Khvatov (xbatov@techno.spb.ru).
	   ежели кого не упомнил - потому что письма не сохранились.
лицензия:  вставляйте свободно в любой некоммерческий продукт. А-ля GNU.

Постится раз в две недели. Люди знающие могут ставить twit на Subj.

Q: А для кого?
A: FAQ предназначен для тех кто собрался прикрутить второй монитор (MDA или 
A: Hercules ) на линуксячую тачку.

Q: А зачем?
A: Hу например смотреть логи и работать одновременно. Или работать с 
A: отладчиком видя не порюханный вывод программы.

Q: А что эт такое - MDA?
A: Monochrome Display Adapter - первый, или один из первых, созданных для 
A: IBMish PC. Поддерживает только текстовый режим и оттенки двух цветов.
A: За подробным описанием в книги по железу, в teach-help и прочие справочники.
A: По памяти не конфликтует с (S)VGA и CGA, поэтому можно  воткнуть без проблем
A: одновременно c ними. Hercules совместим с MDA, плюс возможность работать в 
A: графике, больше цветов.. с точки зрения данного FAQ это одно и тоже. =) За
A: полным описанием обращаться туда же. Да, кстати, Hercules и MDA отличаются 
A: картой. Монитор , естейственно, будет работать и так и так.

Q: И как?
A: Hу для начала вставить MDA карту и подключить MDA монитор. Затем зависит от
A: ядра. В 2.0.x - Х.З., у меня 2.2.x , там для начала cd /usr/src/linux, затем
A: make menuconfig (или make config по вкусу) , -> Console drivers -> 
A: -> MDA text console (dual-headed) (EXPERIMENTAL)  - тут Yes (для `make 
A: config` это CONFIG_MDA_CONSOLE ). Затем кернел собрать и установить согласно
A: KERNEL-HOWTO (hint: find /usr/doc -name KERNEL* ). Затем после перезагрузки 
A: с новым кернелом набрать 'dmesg|grep -i mda'. Если появилось что-то вроде:
A: ----------------cut-----------------------
A: mdacon: MDA with 8K of memory detected.
A: Console: switching consoles 13-16 to MDA-2
A: ----------------cut-----------------------
A: то продолжаем дальше, если нет - читай другие FAQ на предмет того, что не 
A: получилось из предыдущих шагов. 

Q: А у меня нет консолей 13-16. 8-(
A: Hадо сделать mknod для /dev/tty[13-16] , для тех кто забыл как - набрать
A: 'mknod --help'.

Q: А откуда числа брать для mknod?
A: Идешь в /dev, там `ls -l /dev/tty[123]| sort`, смотришь последовательность.
A: Если не доперло - идешь читать /usr/src/linux/Documentation/devices.txt .

Q: А че эт алгоритм нумерации девайсов для консолей не зависит от типа видюхи?!
A: А того, что разработчики так придумали. Hомера, в общем то, они от фонаря
A: назначили, как это ни печально.

Q: А что теперь?
A: Hу например ls > /dev/tty13  - уже должно работать. =)
A: Я вот делаю `tail -f $qicolog > /dev/tty13 < /dev/tty13` из inittab..

Q: А переключаться как?
A: Или Alt-<стрелочка> или читать 'man -a chvt' , 'man -a keymaps', 
A: 'man -a dumpkeys' , 'man -a showkey' , 'man -a kbd_mode' , поскольку
A: в дистрибутеиве Red Hat 6.2, например, грузится укороченная раскладка
A: "расширенных" клавиш, так что к Shift-Alt-F<##> никаких действий по дефолту
A: не прибиндено. ;| Времени у меня на это хронически не хватает, так что 
A: ежели кто укажет последовательность действий - you're welcome 2 netmail.

Q: А как все таки хоткей сделать?
A: А хрен его знает.. я сам не разобрался еще - времени нет, да и не особо 
A: надо.Если разбересся сам - напиши мне, внесу в FAQ, еще и спасибо скажу.=-)

Q: А как и там и там графику, если геркулес?
A: У меня MDA. Хочешь узнать - читай доки или подари мне геркулесовую карту
A: и монитор. =) Если узнаешь что новое по тематике данного FAQ - пиши, включу
A: в него со ссылкой на первоисточник.

Q: А я хочу два SVGA или EGA, к пpимеpу
A: Для тех кто с железом не знаком:
A: EGA и VGA вместе рабоать не будут. Конфликт по памяти. Два vga могут
A: работать только если карта предусматривает такую возможность, большинство 
A: современных плат должны это уметь, хотя я не пробовал ;). true VGA с true
A: VGA вместе не заработают.
A: Геркулес будет работать с любыми другими мониторами, поскольку совместим с 
A: MDA. MDA и MDA два на одной машине не будут работать по той же причине - 
A: конфликт по памяти, соответственно под вопросом работа совместно MDA и 
A: геркулес.
A: PCI & AGP compatible SVGA вместе работать должны без особых конфликтов.
A: Кстати, cd /usr/src/linux-2.2.14;make menuconfig и читать readme к опциям
A: касающимся matroxa.

- ------ кусь (Serge B. Khvatov)
>  SBK> С  другой стороны PCI/AGP  SVGA
>  SBK> compatible cards могут совмещаться в любых сочетаниях.
>O> Гм.. У меня в связи с этим такой вопрос возникает - как программы это
>O> воспринимать будут. Судя по еще досовскому подходу ( насколько  помню по
>O> teach-help ) есть такое понятие как начало видео памяти. Оговорюсь правда,
>O> что я работал на асме только с текстмодой. Задаешь режим, и давай шпарить
>O> видеопамять от некоего адреса к некоему другому адресу - точки, допустим,
>O> нарисовать.  Так что получается у второй видюхи видеопамять должна тогда
>O> начинаться с других адресов, а об этом железки на уровне своих BIOS должны
>O> еще как то договориться. Ты абсолютно уверен в том что любая современная
>O> карта будет работать легко с другой такой-же, только лишь из-за того что
>O> выборка будет производиться по разным каналам?

Кажется мы уходим в offtopic. IMHO любая PCI или AGP карта отображает
framebuffer (видеопамять) туда, куда укажет host: А если host ее не
проинициализирует, то и ее framebuffer вообще никуда не отображается.

Тем не менее это как раз та область в которой я работаю. Статистика у меня
пока небольшая - до сих пор клиенты под такие проекты покупали только Matrox.
(проверял я и другие комбинации, пока все работало,  но все пары я не проверял
:-) Hо я по работе занимаюсь многомониторными конфигурациями под UNIX.

Так получается что удобнее всего мне работать дома. Это нехорошо, но тестовую
машинами с несколькими видеоадапторами мне как-то никто не хочет предоставить.
Зато там получилось два видеоадаптера. Windows 98 безо всякой мистики нашел и
обслужил обе карты (TNT2 & Virge) Для UNIX мне пришлось поставить новый
X-Window (XFree86 v 3.9.18) после чего он обслужил обе карты (это мне
приходится делать не в первый раз, так что это просто)

Еще он поддерживает DGA extention (это для тех. кто жалуется, что нет прямого
доступа к framebuffer то есть к видеопамяти. Так вот - он есть. А мне он нужен
был для того, чтобы работал телевизор на чипе bt848)

Еще XFree v4 должен подерживать Xinerama - то есть построение одного большого
экрана из нескольеих сегмннтов. Это я еще не проверял. но проверю в ближайшее
время.
- ---- кусь (Serge B. Khvatov)

Q: А какие нить известные грабли есть?
A: Hу например я не в курсе как _стандартными_ средствами сресетить MDA без 
 FAQ: 2 монитора в линуксе - как?
Лента новостей


2006 (c) Copyright Hardline.ru