Новые драйвера для ATI Radeon.

Drivers for various video cards
  • IgorA

    Не уверен что получится. Там всё самописное на Watcom C и по принципу работы похоже на WinGUI. Но если кто-то хочет написать свой frontend, то никаких проблем нет. API очень простой.
  • Serge wrote:Раз кадратики появились, можно портировать Mesa. Желающие есть ?
    Желающие Mesa есть, а вот насчёт желающих портировать Mesa не знаю.
  • Тихо и незаметно подкрался RC10, а вместе с ним давно обещанная поддержка новеньких HD5xxx. Зелёных квадратиков для них пока нет, но смена режимов и курсоры должны работать. И как всегда исправлены неработающие старые баги и добавлены новые.
  • Видеокарта Radeon x1300/x1500 Series (RV516).
    Квадрата и мигания не заметил - все закинул на рамдиск вместо старых версий.
    ATI.7z (2.46 KiB)
    Downloaded 147 times
  • А есть в исходниках файлы, которые могут быть использованы при разработке драйверов для других видеокарт?
  • Asper

    Дерево каталогов близко к дереву linux git. Если портировать драйвер оттуда то подойдут все файлы drm_xxx, заголовочные файлы drivers/include и библиотека libdrv из drivers/ddk , там врапперы необходимых функций линукс, radeon/pci.c (должен быть в libdrv). rdisplay.c, rdisplay_kms.c и cursor.S содержат общий код для всех драйверов портированых с drm - смена видеорежима и работа с курсорами. Точка входа в драйвер u32_t drvEntry(int action, char *cmdline) в radeon_device.c.

    Единственнной серьёзной проблемой будет ttm (чудище обло, озорно, огромно, стозевно и лаяй). Я не стал его портировать, а сделал свою версию readeon_object_kos.с
  • Спасибо за информацию.
  • У меня частота и разрешение не устанавливаются. Лог прилагаю.
    Attachments
    ATI.LOG.zip (1017 Bytes)
    Downloaded 166 times
  • Будет очень здорово, когда добавят полную поддержку Radeon 3100
  • Serge, тут такой вопрос назрел.

    Сейчас ядро Колибри-А керпакуется в 67кб, а после дальнейшей утряски сожмется до 60.
    Но монстр ATIKMS весит ровно вдвое больше чем kernel.mnt, и этот печальный факт делает бездисковую загрузку совершенно нереальной (резерв в ROM-BIOS - меньше 128кб).

    В то же время здоровенный кусок кода в драйвере занят бинарниками бесполезных для интегрированной графики "чужих" моделей радеонов.
    Подскажи как их лучше убрать, и много ли кода придется кромсать ?

    И еще - насколько легче станет код без автоопределения режимов?
    По условию задачи, модель GPU и режимы монитора точно известны и никогда не изменятся,- может, в таких случаях имеет смысл намертво заколотить в код параметры из линуксовой Modeline ?
    Евангелие от Иоанна: стих 1

    Code: Select all

    ; В начале было Слово:
    B32:        mov     ax, os_stack       ; Selector for os
    [/size]
  • Убрать можно. Код хорошо структурирован. CRT часть независима от командного процессора. Но резать надо много, долго и нудно. Если есть желание этим заниматься, то надо начинать с drm/drm_pciids.h. Там найти свой чип, видимо CHIP_RS780 и выкинуть всё остальное. Понадобится radeon_device.c, почищенный radeon_asic.h, все drm_* и atom*. Ключевые функции radeon_device_init() и radeon_modeset_init(). От первой требуется настройка биос, контроллера памяти и gart. Вторая целиком. За пару дней можно сделать, если разобраться в структуре драйвера.

    Update.
    Неплохо ещё сделать сброс gpu в дефолтное состояние, без загрузки микрокода.
  • DLL (svn://.../drivers/video/drm/radeon/atikms.dll) собралась на удивление легко.
    Размер 612кб (!!) на рамдиск само собой не влезла, пришлось ставить на HD1, в AUTORUN.DAT

    Code: Select all

    /HD1/1/ATIKMS -m1680x1050x60-l/hd1/1/ati.log 1
    - не загрузилось, лога нет.
    Запустил ATIKMS вручную,- не грузится, лога нет, на доске отладки - только одна строчка

    Code: Select all

    unresolved GetTimerTicks
  • art_zh wrote:Размер 612кб (!!) на рамдиск само собой не влезла, пришлось ставить на HD1, в AUTORUN.DAT
    Извиняюсь за вмешательство, но это родной размер или после kpack?
  • Who is online

    Users browsing this forum: No registered users and 7 guests