Размер шрифта
Цвет фона и шрифта
Изображения
Озвучивание текста
Обычная версия сайта
СВД ВС
Готовое решение для создания
корпоративного сайта
+7 812 346-89-56
+7 812 346-89-56
Заказать звонок
E-mail
sales@kpda.ru
Адрес
ул. Кузнецовская, д. 19, г. Санкт-Петербург
Режим работы
Пн. – Пт.: с 10:00 до 18:00
Подать заявку
Компания
  • О компании
  • Лицензии
  • Вакансии
Пресс-центр
  • Новости
  • Статьи
  • Презентации
Продукты
  • ЗОСРВ «Нейтрино»
  • ЗОСРВ «Нейтрино-Э»
  • ЗОСРВ КПДА.00002-01
  • Комплект разработчика для ЗОСРВ «Нейтрино»
  • Комплект разработчика для ЗОСРВ «Нейтрино-Э»
  • Антивирус
  • Картографический пакет
  • СДКУ «Фокус»
Услуги
  • Разработка программного обеспечения
  • Тестирование программно-аппаратной совместимости
  • Техническая поддержка
  • Тренинги и учебные семинары
Помощь
Контакты
ул. Кузнецовская, д. 19, г. Санкт-Петербург
Задать вопрос
Поиск
+7 812 346-89-56
+7 812 346-89-56
Заказать звонок
E-mail
sales@kpda.ru
Адрес
ул. Кузнецовская, д. 19, г. Санкт-Петербург
Режим работы
Пн. – Пт.: с 10:00 до 18:00
СВД ВС
Компания
  • О компании
  • Лицензии
  • Вакансии
Пресс-центр
  • Новости
  • Статьи
  • Презентации
Продукты
  • ЗОСРВ «Нейтрино»
  • ЗОСРВ «Нейтрино-Э»
  • ЗОСРВ КПДА.00002-01
  • Комплект разработчика для ЗОСРВ «Нейтрино»
  • Комплект разработчика для ЗОСРВ «Нейтрино-Э»
  • Антивирус
  • Картографический пакет
  • СДКУ «Фокус»
Услуги
  • Разработка программного обеспечения
  • Тестирование программно-аппаратной совместимости
  • Техническая поддержка
  • Тренинги и учебные семинары
Помощь
Контакты
    СВД ВС
    Компания
    • О компании
    • Лицензии
    • Вакансии
    Пресс-центр
    • Новости
    • Статьи
    • Презентации
    Продукты
    • ЗОСРВ «Нейтрино»
    • ЗОСРВ «Нейтрино-Э»
    • ЗОСРВ КПДА.00002-01
    • Комплект разработчика для ЗОСРВ «Нейтрино»
    • Комплект разработчика для ЗОСРВ «Нейтрино-Э»
    • Антивирус
    • Картографический пакет
    • СДКУ «Фокус»
    Услуги
    • Разработка программного обеспечения
    • Тестирование программно-аппаратной совместимости
    • Техническая поддержка
    • Тренинги и учебные семинары
    Помощь
    Контакты
      +7 812 346-89-56
      Заказать звонок
      E-mail
      sales@kpda.ru
      Адрес
      ул. Кузнецовская, д. 19, г. Санкт-Петербург
      Режим работы
      Пн. – Пт.: с 10:00 до 18:00
      СВД ВС
      Телефоны
      +7 812 346-89-56
      Заказать звонок
      СВД ВС
      • Компания
        • Компания
        • О компании
        • Лицензии
        • Вакансии
      • Пресс-центр
        • Пресс-центр
        • Новости
        • Статьи
        • Презентации
      • Продукты
        • Продукты
        • ЗОСРВ «Нейтрино»
        • ЗОСРВ «Нейтрино-Э»
        • ЗОСРВ КПДА.00002-01
        • Комплект разработчика для ЗОСРВ «Нейтрино»
        • Комплект разработчика для ЗОСРВ «Нейтрино-Э»
        • Антивирус
        • Картографический пакет
        • СДКУ «Фокус»
      • Услуги
        • Услуги
        • Разработка программного обеспечения
        • Тестирование программно-аппаратной совместимости
        • Техническая поддержка
        • Тренинги и учебные семинары
      • Помощь
      • Контакты
      Подать заявку
      • +7 812 346-89-56
        • Телефоны
        • +7 812 346-89-56
        • Заказать звонок
      • ул. Кузнецовская, д. 19, г. Санкт-Петербург
      • sales@kpda.ru
      • Пн. – Пт.: с 10:00 до 18:00

      Главная
      Пресс-центр
      Запуск Photon 1.14 на неподдерживаемом оборудовании

      Запуск Photon 1.14 на неподдерживаемом оборудовании

      Статьи
      17.06.2013

      В статье рассматривается способ запуска Photon 1.14 в среде QNX 4.25 с использованием драйверов Hydra.ms и Pg.flat.

      О. Большаков

      Сейчас всё более и более актуальным становится приобретение маленького помощника — ноутбука. Его всегда и везде можно взять с собой, на нём всегда найдётся нужная программа, он сконфигурирован так как этого хочется его владельцу. И всё бы хорошо, если бы не необходимость установки QNX4 на такой компьютер. Ведь это не секрет, что с поддержкой нового оборудования в QNX4 дело обстоит не лучшим образом, ситуация осложняется ещё и тем, что производители этого самого оборудования обновляют его приблизительно каждые пол года, как будто стремясь усложнить нам и без того нелёгкую жизнь. К выбору ноутбука "на борту" которого планируется установить QNX4 надо подходить особенно внимательно. Контроллер дисков, сеть, USB и видеоадаптер должны быть протестированы очень внимательно. В этой статье я постараюсь помочь запустить видео подсистему Photon на ноутбуке. (Прим.: Всё что будет написано ниже применимо не только к видеоплатам ноутбука, но и к любым другим.)

      Определяем название видеоадаптера

      Первое, что нужно сделать, узнать с кем мы имеем дело, то есть название и модель видеоадаптера. Для этого можно воспользоваться Диспетчером устройств одной небезызвестной операционной системы. Другой способ — загрузиться в QNX4 при помощи live CD. (Прим.: Создание live CD не входит в рамки данной статьи, предполагается, что он у Вас уже есть.) В любом случае live CD нам понадобится при тестировании, так что будем рассматривать этот вариант. Итак, QNX загружен. Набираем в консоли команду:
       # show_pci -vvv 

      Конечно, почти вся информация "убежит" вверх, чтобы этого не произошло воспользуемся очень полезной утилитой less:
       # show_pci -vvv | less 

      Ищем в выводе строку Display (поиск активируется при нажатии на клавишу '/'). Записываем Vendor ID и Device ID, проверяем на сайте QNX не поддерживается ли этот видеоадаптер.

      Если Вы продолжаете читать, то скорее всего графический адаптер в Вашем ноутбуке не поддерживается драйверами Photon. Это и не удивительно, видеокарты обновляются так часто, что не успеваешь запоминать их названия. Но не стоит отчаиваться, надежда на запуск Photon ещё есть.

      VESA приходит на помощь

      Такая чехарда видеоадаптеров началась далеко не вчера, лет 10-15 назад всё было даже хуже. Такое положение дел не могло всех устраивать, и вот нам на помощь пришла Ассоциация по стандартам в области видеоэлектроники (Video Electronics Standards Association, VESA). Она разработала стандарт VBE (Video BIOS Extension), который оговаривает единый механизм для основных функций видеоадаптера. К счастью, разработчики QNX знали об этом стандарте и даже реализовали его поддержку в своих разработках. Давайте попробуем этим воспользоваться.

      Проверим, будут ли работать утилиты QNX с графическим адаптером ноутбука. Для этого нам понадобятся две утилиты, которые обычно располагаются в каталоге /qnx4/graphics/bin, а именно show_vesa и test_vesa2. Запускаем:
      # /qnx4/graphics/bin/show_vesa 

      Эта программа выводит на экран информацию о видеокарте и поддерживаемых VESA режимах. Если программа завершилась по SIGSEGV (ошибка сегментирования), то попробуйте запустить её с ключиком -r:
      # /qnx4/graphics/bin/show_vesa -r 

      Если и в этом случае программа терминировалась, то данный графический контроллер не будет работать в Photon (я не знаю такого способа, с помощью которого можно было бы запустить графику). Если Вы ещё не приобрели ноутбук с данным графическим адаптером, то стоит от него отказаться и начинать тестировать другую модель.

      Итак, утилита show_vesa отработала нормально. Можно попробовать запустить тест графики (не забывайте про ключик -r):
      # /qnx4/graphics/bin/test_vesa2 

      На экране будут отображаться разноцветные прямоугольники и надпись QNX.

      Запускаем Photon

      При запуске Photon'а командой ph информация о графическом драйвере, который нужно запустить, и режиме видеоадаптера располагается в файле /etc/config/trap/crt.<node_num>, где node_num это номер узла QNX4. Обычно пользователю нет необходимости заглядывать в этот файл и для работы с ним существует утилита crttrap, но в нашем случае придётся заполнить этот файл самостоятельно.

      Графический драйвер Photon разбит на две программы — переключатель режимов (mode switcher) и сам драйвер. Для работы по спецификации VBE надо использовать переключатель режимов Hydra.ms и драйвера семейства Pg.flat (Pg.flat — для 8-битовых режимов, Pg.flatdc — для 15/16-битовых режимов, Pg.flatdc24 — для 24-битовых режимов и Pg.flatdc32 — для 32-битовых режимов).

      Собираем информацию

      Чтобы правильно заполнить файл /etc/config/trap/crt.<node_num>, необходимо знать характеристики видеоадаптера и параметры интересующего видеорежима.

      Номер графического режима VESA. Запускаем утилиту show_vesa и в выводе ищем необходимый графический режим. Например, требуется установить режим 1024x768x16 (1024 пикселей по горизонтали, 768 пикселей по вертикали и 16 бит на пиксель). Находим режим со следующими параметрами:
      X Resolution : 0400 (1024) Y Resolution : 0300 (768) ... Bits Per Pixel : 10 (16) 

      Если такой режим нашёлся, то записываем его номер (у меня это 0x0117):
      Mode : 0x0117 information 

      Требуемого режима может не оказаться в списке поддерживаемых, в этом случае можно поискать другой режим, например, с другой глубиной цвета. Если поиски не увенчались результатами, то стоит задуматься о выборе другой модели ноутбука.

      Число байт на линию сканирования. Этот параметр смотрим в описании выбранного VESA режима:
      Bytes Per Scanline : 0800 (2048) 

      Адрес видеопамяти. Опять смотрим на вывод show_vesa:
      Flat Frame Buffer Addr : E0000000 

      Апертура (размер видеопамяти). Этот параметр можно рассчитать как (число байт на линию сканирования) * (разрешение по вертикали). Полученный результат нужно перевести в шестнадцатеричную систему.

      Апертура: 180000

      Параметры шины PCI -- bus, device и function. Снова воспользуемся утилитой show_pci и запишем эти параметры.

      Продолжаем запускать Photon

      Вооружившись собранной информацией приступаем к составлению файла /etc/config/trap/crt.<node_num>. Сначала укажем параметры переключателю режимов:
       Hydra.ms -S -i0x4117 -s0x0004,0x0000 -nqnx/crt -r 

      Ключ -i указывает номер режима VESA. Ранее мы подобрали режим 0x0117, а переключателю режимов передаём 0x4117. Почему? По спецификации VBE старшие биты в номере режима выступают в роли флагов. В данном случае 4 (бит 14) указывает, что надо переключаться в графический режим с линейной адресацией памяти. Ключ -s задаёт адрес видеоадаптера на шине PCI. Первый параметр это PCI bus, второй параметр это PCI device сдвинутый на три битовых разряда влево и PCI function (биты 7-3 — это PCI device, биты 2-0 — PCI function). Ключ -r указывает на работу с BIOS видеоадаптера в реальном режиме.

      Составляем строку запуска видеодрайвера (одной строчкой):
      Pg.flatdc -HC0x00040000 -PX -HNqnx/crt -g1024x768x16 -A0xE0000000,0x180000 -WB2048 

      Ключ -HC указывает адрес на шине PCI аналогично ключу -s переключателя режимов. Ключ -g задаёт параметры графического режима (разрешение и глубину цвета). Ключ -A указывает адрес линейного буфера и апертуру. Параметр -WB задаёт число байт на линию сканирования.

      Записываем всё это в одну строку в файл /etc/config/trap/crt.<node_num>:
      Hydra.ms -S -i0x4117 -s0x0004,0x0000 -nqnx/crt -r;Pg.flatdc -HC0x00040000 -PX -HNqnx/crt -g1024x768x16 -A0xE0000000,0x180000 -WB2048 

      Запускаем Photon как обычно:
       # ph 

      Если всё сделано правильно и графический адаптер соответствует спецификации VBE, то запустится Photon. Поздравляю.

      Заключение

      Был рассмотрен способ запуска Photon 1.14 на видеоадаптерах не поддерживаемых специализированными драйверами. Подобным образом мне удавалось переключаться в графический режим на большинстве современных видеокарт. Но у этого способа есть и недостатки. Подавляющее большинство новых моделей ноутбуков оснащаются широкоформатным экраном с соотношением сторон 16:9, в то время как графические режимы VESA зачастую рассчитаны на работу со стандартными экранами с соотношением сторон 4:3. К сожалению, тут исправить ничего нельзя и можно только надеяться на подбор наиболее удачного графического режима.

      Дополнительно
      Назад к списку
      • Новости
      • Статьи
      • Презентации
      Рассылка новостей
      Компания
      О компании
      Лицензии
      Вакансии
      Продукты
      ЗОСРВ «Нейтрино»
      ЗОСРВ «Нейтрино-Э»
      ЗОСРВ КПДА.00002-01
      Комплект разработчика для ЗОСРВ «Нейтрино»
      Комплект разработчика для ЗОСРВ «Нейтрино-Э»
      Антивирус
      Картографический пакет
      СДКУ «Фокус»
      Услуги
      Разработка программного обеспечения
      Тестирование программно-аппаратной совместимости
      Техническая поддержка
      Тренинги и учебные семинары
      Пресс-центр
      Новости
      Статьи
      Презентации
      Помощь
      +7 812 346-89-56
      +7 812 346-89-56
      Заказать звонок
      E-mail
      sales@kpda.ru
      Адрес
      ул. Кузнецовская, д. 19, г. Санкт-Петербург
      Режим работы
      Пн. – Пт.: с 10:00 до 18:00
      sales@kpda.ru
      ул. Кузнецовская, д. 19, г. Санкт-Петербург
      © 2023 СВД ВС
      Политика конфиденциальности
      Главная Компания Пресс-центр Продукты Услуги Помощь Контакты