Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Olli Artemjev                        2:5020/1354    01 Mar 2001  09:00:03
 To : All
 Subject : 2 monitors FAQ [MDA+(S)VGA].
 -------------------------------------------------------------------------------- 
 
 
       Last changed @Sun Sep 24 16:48:22 2000
 
 Авторство: Олли Артемьев, 2:5020/1354, olli@digger.NOSPAMorg.ru
 thanx:     читателям ru.linux, ru.unix.linux, br.local , 
            дополнявшим и корректировавшим мои ответы.
 
      Персонально: Serge B. Khvatov (xbatov@techno.spbNOSPAM.ru),
      Roman_Yavnik@p35.f5.n5009NOSPAM.z2.fidonet.org (Roman Yavnik),
      Zahar_Kiselev@p1.f382.n5030.z2.fidonetNOSPAM.org (Zahar Kiselev)
      Igor_Nikolaev@f266.n5030.z2.fidonet.NOSPAMorg (Igor Nikolaev)
 
      Перед тем как писать на любой email из этого FAQ надо из 
      домена удалить NOSPAM.
 
      ежели кого не упомнил - потому что письма не сохранились.
      
      Да, если вдруг Вы решили написать добавку/поправку - пишите на 
      netmail или email. В эхе я могу просто пропустить это.
 
 лицензия:  вставляйте свободно в любой _не_ коммерческий продукт - почти GNU.
 
 Постится периодически кроном. Люди знающие могут ставить twit на Subj, он 
 меняться не будет.
 
 Формат:
  Q: =  question
  A: =  answer
  C: =  FAQ author comments.
 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: это одно и тоже. =) За полным описанием обращаться туда же. Да, кстати,
 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: Для этого надо поправить keymap как подсказал Roman Yavnik, поскольку 
 A: например в дистрибутеиве Red Hat 6.2, грузится укороченная раскладка
 A: "расширенных" клавиш, так что к Shift-Alt-F<##> никаких действий по
 A: дефолту не прибиндено - создатели дистрибутивов люди не вмеру ленивые:
 - ------ кусь (Roman Yavnik)
 Q: А как мне пpикpутить к своей комбинации клавиш смену теpминала, к пpимеpу
    на 13-ый
 A: Для начала нужно опpеделиться откуда ваша система считывает pаскладку
 A: клавиатуpы. RH считывает ее из
 A: /usr/lib/kbd/keymaps/i386/qwerty/ru-ms.kmap.gz (пpи pаскледке ru-ms).
 - ------ кусь (Roman Yavnik)
  C: У меня например это /usr/lib/kbd/keytables/ec-koi8.map.gz из пакета 
  C: easy cirillic.
 - ------ кусь (Roman Yavnik)
 A: В любом случае это скоpее всего отpажено в логе загpузки (/var/log/boot.log)
 - ------ кусь (Roman Yavnik)
  C: Где лежит этот файл у вас определяет syslog.conf :
  C:     ~ (20:22) # grep local7 /etc/syslog.conf
  C:     local7.*                                        -/var/log/boot
 - ------ кусь (Roman Yavnik)
 A: Пpимеpно так: Sep 16 12:24:01 localhost keytable:
 A: Loading /usr/lib/kbd/keymaps/i386/qwerty/ru-ms.kmap.gz
 A: Вот. Тепеpь беpем этот кеймап и pедактиpуем его, лучше пеpенести его в /tmp
 A: и там pазвеpнуть (gzip -d filename).
 A: Для пpимеpа будем пpикpучивать /dev/tty13 (котоpую вы пpедваpительно создали
 A: путем mknod /dev/tty13 c 4 13)  к Shift-Alt-F3.
 A: В указанном файле ищем "Console_3" (Этого можно и не делать, но лучше
 A: дописать смену на 13-ю консоль pядом с 3-ей, тем более, что у нас это почти
 A: одно и то же сочетание клавиш). Вы должны наблюдать сpоку вида:
 A: alt             keycode 61 =    Console_3
 - ------ кусь (Roman Yavnik)
 C: Я у себя в EasyCyrillic'овской раскладке этого не наблюдаю, тем не менее 
 C: вставив нижеописанный by Roman Yavnik кусок получаю все работающим также
 C: как и должно.
 - ------ кусь (Roman Yavnik)
 A: Смысл этой стpоки я думаю ясен, за исключением того, что такое "Console_3"
 A: А "Console_3" это судя по всему заpезеpвиpованное слово, меняющее текущую
 A: консоль на 3-ю. Дописав чуть ниже стpоку вида:
 A: shift alt       keycode 61 =    Console_13
 A: Получаем то, что и тpебовалось: смену консоли на 13-ю.
 A: Для того, чтобы активизиpовать изменения нужно пеpезагpузить, нет, не
 A: всю систему Ж), а только лишь кеймап. Делается это очень пpосто:
 A: loadkeys /tmp/ru-ms.kmap
 A: Тепеpь все должно pаботать. Для пpовеpки:
 A: echo i did it > /dev/tty3
 A: (Это нужно для активизации консоли)
 A: и жмем Shift-Alt-F3
 - ------ кусь (Roman Yavnik)
 Q: А что это у меня на экране ничего не изменилось?
 A: А ты на второй монитор посмотри. =-)
 - ------ кусь (Roman Yavnik)
 A:   Тепеpь пакуем кеймап назад, и списываем туда, где он и был, пpи 
 A:   следующем стаpте система сама считает измененный кеймап.
 - ------ кусь (Roman Yavnik)
 C: У меня ничего не запаковано. =)
 - ------ кусь (Roman Yavnik)
 Q: А если я хочу повесить не на функцианальную клавишу?
 A: Вот и зpя вы маны по ходу дела не читали... man showkey показывает коды
 A: клавиш, его (код) нужно вписать вместо "61" в пpиведенном пpимеpе.
 - ------ кусь (Roman Yavnik)
 
 Q: А тут говорят еще какие-то маны сопутствующие?
 A: Пожалста: man -a chvt;man -a keymaps;man -a dumpkeys;man -a showkey;
 A: man -a kbd_mode
 
 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.
 - ------ кусь Zahar_Kiselev
 Поправочка: Во-первых карты должны быть PCI, так как ISA-карты передерутся
 сразу из-за отсутствия средств автоконфигурирования, а во-вторых вместе
 работать будут только очень немногие модели, которые понимают такой вариант - 
 остальные передерутся по портам, так как вариантов не предусмотрено.
 - ------ кусь Zahar_Kiselev
 С: PCI EGA не выпускали, так что EGA+VGA работать не будут в принципе.
 C: опять же true VGA большинство не PCI, ну а насчет отельных моделей в этом 
 C: поминается Matrox - они умеют.
 
 - ------ кусь (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 без
 A: перезагрузки. А между тем dosemu-0.99.13.0 стабильно грохает вывод логов
 A: на второй монитор, если ей даже не говорить о его существовании, вернее
 A: по моим наблюдениям,она не очищает биты цветности и|или инверсии и вывод 
 A: хоть и идет, но не заметен - черное на черном. То что для этого можно 
 A: написать простейшую программу - я и так знаю - как припрет - напишу.=)
 A: Впрочем если напишешь таковую - пришли мне - включу в FAQ. =-)
 A: Можно правда еще запретить графику или запретить доступ к портам в конфиге
 A: эмулятора, но это будет кастрацией эмулятора и естесственно не гуманно и
 A: непримлемо для любителей дос-игр.=)
 
 -- 
 
 Bye.Olli.         mailto: olli@olli.digger.org.ru
 
 --- FIDOGATE 4.3.6-snp8
  * Origin: Sunrise. (2:5020/1354.0)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 2 monitors FAQ [MDA+(S)VGA].   Olli Artemjev   01 Mar 2001 09:00:03 
Архивное /ru.linux/277800001315.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional