Размер шрифта
Цвет фона и шрифта
Изображения
Озвучивание текста
Обычная версия сайта
СВД ВС
Готовое решение для создания
корпоративного сайта
+7 812 317-55-56
+7 812 317-55-56
Заказать звонок
Адрес
ул. Кузнецовская, д. 19, г. Санкт-Петербург, 196128
Режим работы
Пн. – Пт.: с 10:00 до 18:00
Подать заявку
Компания
  • О компании
  • Лицензии
  • Академическая программа
  • Партнерская программа
  • Вакансии
Пресс-центр
  • Новости
  • Статьи
  • Конференции ВСРВ
  • Вебинары
Продукты
  • Нейтрино
  • КПДА.00002-01
  • Комплект разработчика для Нейтрино
  • Синаптика
  • Картографический пакет
  • Защита от вредоносного ПО
  • Концентратор данных
Услуги
  • Обеспечение совместимости
  • Техническая поддержка
    • Обеспечение совместимости
    • Техническая поддержка
    • Участие в НИОКР
  • Участие в НИОКР
Учебный центр
  • Программы обучения
  • Академическая программа
Конференция 2025
Контакты
Наши ресурсы

Наши ресурсы

  • Открытый репозиторий с исходными кодами на разработанные нами драйвера и утилиты в открытом доступе для вас

    git.kpda.ru
  • Техническая документация на наши продукты, содержит ответы на большинство вопросов

    docs.kpda.ru
  • Программный комплекс поддержки работы с цифровой картографической информацией

    docs.kpda.ru/gis
  • Форум компании для обсуждения вопросов с нашими специалистами и другими пользователями наших продуктов

    forum.kpda.ru
  • Информационные каналы

    ВКонтакте Telegram Habr
Задать вопрос
Поиск
+7 812 317-55-56
+7 812 317-55-56
Заказать звонок
Адрес
ул. Кузнецовская, д. 19, г. Санкт-Петербург, 196128
Режим работы
Пн. – Пт.: с 10:00 до 18:00
СВД
Встраиваемые Системы
Компания
  • О компании
  • Лицензии
  • Академическая программа
  • Партнерская программа
  • Вакансии
Пресс-центр
  • Новости
  • Статьи
  • Конференции ВСРВ
  • Вебинары
Продукты
  • Нейтрино
  • КПДА.00002-01
  • Комплект разработчика для Нейтрино
  • Синаптика
  • Картографический пакет
  • Защита от вредоносного ПО
  • Концентратор данных
Услуги
  • Обеспечение совместимости
  • Техническая поддержка
    • Обеспечение совместимости
    • Техническая поддержка
    • Участие в НИОКР
  • Участие в НИОКР
Учебный центр
  • Программы обучения
  • Академическая программа
Конференция 2025
Контакты
    Компания
    • О компании
    • Лицензии
    • Академическая программа
    • Партнерская программа
    • Вакансии
    Пресс-центр
    • Новости
    • Статьи
    • Конференции ВСРВ
    • Вебинары
    Продукты
    • Нейтрино
    • КПДА.00002-01
    • Комплект разработчика для Нейтрино
    • Синаптика
    • Картографический пакет
    • Защита от вредоносного ПО
    • Концентратор данных
    Услуги
    • Обеспечение совместимости
    • Техническая поддержка
      • Обеспечение совместимости
      • Техническая поддержка
      • Участие в НИОКР
    • Участие в НИОКР
    Учебный центр
    • Программы обучения
    • Академическая программа
    Конференция 2025
    Контакты
      +7 812 317-55-56
      Заказать звонок
      Адрес
      ул. Кузнецовская, д. 19, г. Санкт-Петербург, 196128
      Режим работы
      Пн. – Пт.: с 10:00 до 18:00
      Наши ресурсы

      Наши ресурсы

      • Открытый репозиторий с исходными кодами на разработанные нами драйвера и утилиты в отркытом доступе для вас

        git.kpda.ru
      • Техническая документация на наши продукты, содержит ответы на большинство вопросов

        docs.kpda.ru
      • Программный комплекс поддержки работы с цифровой картографической информацией

        docs.kpda.ru/gis
      • Форум компании для обсуждения вопросов с нашими специалистами и другими пользователями наших продуктов

        forum.kpda.ru
      • Информационные каналы

        ВКонтакте Telegram Habr
      СВД
      Встраиваемые Системы
      Телефоны
      +7 812 317-55-56
      Заказать звонок
      СВД ВС
      • Компания
        • Компания
        • О компании
        • Лицензии
        • Академическая программа
        • Партнерская программа
        • Вакансии
      • Пресс-центр
        • Пресс-центр
        • Новости
        • Статьи
        • Конференции ВСРВ
        • Вебинары
      • Продукты
        • Продукты
        • Нейтрино
        • КПДА.00002-01
        • Комплект разработчика для Нейтрино
        • Синаптика
        • Картографический пакет
        • Защита от вредоносного ПО
        • Концентратор данных
      • Услуги
        • Услуги
        • Обеспечение совместимости
        • Техническая поддержка
          • Техническая поддержка
          • Обеспечение совместимости
          • Техническая поддержка
          • Участие в НИОКР
        • Участие в НИОКР
      • Учебный центр
        • Учебный центр
        • Программы обучения
        • Академическая программа
      • Конференция 2025
      • Контакты
      Подать заявку
      • +7 812 317-55-56
        • Телефоны
        • +7 812 317-55-56
        • Заказать звонок
      • ул. Кузнецовская, д. 19, г. Санкт-Петербург, 196128
      • Пн. – Пт.: с 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 317-55-56
      +7 812 317-55-56
      Заказать звонок
      Адрес
      ул. Кузнецовская, д. 19, г. Санкт-Петербург, 196128
      Режим работы
      Пн. – Пт.: с 10:00 до 18:00
      ул. Кузнецовская, д. 19, г. Санкт-Петербург, 196128
      © 2025 СВД ВС
      Политика конфиденциальности
      Главная Компания Пресс-центр Продукты Услуги Помощь Контакты