В Linux. 2 Приобретение и инсталляция Linux. 3 Учебник по Linux 4 Администрирование системы. 5 The X window System. 6 Работа в сети
Вид материала | Учебник |
Содержание5.6 Заполнение информации о видеокарте. Заметьте, что порядок частот важен! |
- RH253 Сетевые службы Red Hat Linux и администрирование безопасности, 45.9kb.
- Документация Calculate Linux, 12378.73kb.
- Программы повышения квалификации ункит 1- «Linux для начинающих» Цель, 11.83kb.
- Концепция развития спо в РФ 2 История Linux, 105.81kb.
- Gnu/Linux, 51.18kb.
- Лекция 17. Операционная система Linux, 126.24kb.
- Исследование возможностей ос linux для приложений реального времени с обработкой разнородной, 98.25kb.
- Windows против Linux, 88.72kb.
- Учебный план курса "Базовая поддержка и администрирование Linux" Цель дать знания, 34.75kb.
- Исследование возможностей операционной системы Linux На примере операционной системы, 748.67kb.
5.6 Заполнение информации о видеокарте.
Теперь ваш файл XF86Config почти готов к использованию. Единственное, что мы не сделали, не заполнили информацию о видеокарте. Сейчас нам следует запустить X сервер в режиме определения видеокарты и дооформить файл XF86Config.
Эту информацию вы можете найти и в файлах modeDB.txt, AccelCards и Devices (все эти файлы находятся в каталоге /usr/X11R6/lib/X11/doc). Кроме этого существуют различные файлы README для конкретных микросхем. Вам следует просмотреть эти файлы и используя эту информацию (частоты, тип микросхем и другие режимы) доопределить файл XF86Config. Если какой то информации не хватает, вы можете определить ее путем описанным ниже.
В этом примере мы опишем настройку видеокарты #9 GXE 64, использующую микросхему S3 и сервер XF86_S3. Эта карта одна из тех, с которыми работает автор, но все описанное ниже справедливо и для другой видеокарты. Перво-наперво вам надо определить тип микросхемы, используемой видеокартой. Команда SuperProbe (располагающаяся в каталоге /usr/X11R6/bin) сообщит вам эту информацию, но вам необходимо знать под каким именем известна данная микросхема X серверу.
Чтобы определить это запустите команду:
X -showconfig
Сервер сообщит вам имена микросхем, с которыми он работает (руководство на X сервер также содержит эту информацию). Например, сервер XF86_S3 сообщит:
XFree86 Version 3.1 X Window System
(protocol Version 11, revision 0, vendor release 6000)
Operating System: Linux
Configured drivers
S3 accelerated server for S3 graphics adaptors (Patchlevel 0)
mmio_928, s3_generic
То есть сервер работает с микросхемами mmio_928 и s3_generic. Руководство на сервер XF86_S3 описывает эти микросхемы и видеокарты, использующие их. В нашем случае видеокарта #9 GXE 64 использует микросхему mmio_928.
Если вы не знаете какая микросхема стоит на видеокарте, X сервер может это определить. Запустите:
X -probeonly>/tmp/x.out 2>&1
если вы работаете в оболочке shell. Если вы используете csh запустите:
X-probeonly &>/tmp/x.out
Эту команду следует запускать при низкой загрузке компьютера: она определяет также частоту видеоадаптера и большая загрузка системы может исказить эти данные.
Выходная информация в файле /tmp/x.out будет содержать следующие строки:
XFree86 version 3.1 X Window System
(protocol, version 11, revision 0, vendor release 6000)
Operating system: Linux
Configured drivers
S3 accelerated server for S3 graphics adaptors (Patchlevel 0)
mmio_928, s3_generic
Several lines deleted
(--) S3 card type 386 486 localbus
(--) S3 chipset 864 rev 0
(--) S3 chipset driver mmio_928
Мы видим, что сервер (XF86_S3) может работать с микросхемами mmio_928 и s3_generic. Сервер протестировал видеокарту и опознал микросхему mmio_928. Следовательно, в секцию Device вам следует добавить строку, содержащую имя микросхемы, найденное серверомL
Section "Device"
# We already hold Identifier here
Identifier "#9 GXE 54"
# Add this line
Chipset "mmio_928"
EndSection
Теперь нам требуется определить частоты, поддерживаемые видеокартой. Как мы уже видели, каждый режим разрешения на мониторе требует определенной передачи точек от видеокарты. Нам необходимо определить какие частоты может обеспечить видеокарта.
Сначала следует просмотреть справочные файлы (modeDB.txt, и т.п.) описанные выше и определить, нет ли там описания частот вашей карты. Частоты, как правило представлены списком из 8 или 16-ти значений частот в мегагерцах. Например в файле modeDB.txt можно найти строку описания видеокарты Cardinal ET4000:
# chip ram virtual clocks default-mode flags
ET4000 1024 1024 768 25 28 38 35 40 45 32 0 "1024x768"
Как вы видите, данная карта поддерживает частоты 25, 28, 38, 36, 40, 45, 32 и 0 MHz.
В секции Device файла XF86Config, вам следует добавить строку Clocks со списком частот. В нашем случае мы добавляем строку:
Clocks 25 28 38 36 40 45 32 0
к секции Devices, после Chipset.
Заметьте, что порядок частот важен! Вам не следует дублировать или изменять порядок частот.
Если вы не можете найти список частот для вашей карты, X сервер может также определить и эти значения. После вызова команды X -probeonly, описанного выше, вы увидите строку:
(--) S3 clocks 25 18 28 32 38 02 36 15 40 33 45 32 32 00 00 00
Теперь вам осталось лишь добавить строку Clocks, перечислив указанные значения. Так как часто список содержит 8 и более значений и не помещается в одной строке, вы можете продолжить список в следующих строках, только не забывайте сохранять порядок указанных значений.
Перед запуском X -probeonly, убедитесь что в секции Devices нет строк описания Clocks или они закомментированы. Если эти значения уже есть, X сервер не будет проверять поддерживаемые платой частоты, а возьмет указанные в строке Clocks.
Заметьте, что некоторые видеокарты с акселератором используют микросхему с программируемой частотой (Смотрите руководство XF86_Accel; или XFree86 файл README для видеокарты.) Эти микросхемы позволяют X-серверу сообщать карте какую использовать частоту. В этом случае мы вполне вероятно не сможем найти в вышеперечисленных файлах список частот для карты. Или список частот, выдаваемых командой X -probeonly будет содержать одно два значения с остальными дублированными или нулевыми значениями:
(--) SVGA cldq5434 Specifying a Clocks line makes no sense for this driver
Данный пример получен от сервера XF86_SVGA на видеокарте Cirrus Logic PCI.
Для видеоплат, использующих микросхему программирования частоты, вам вместо строки Clocks следует использовать строку ClockChip. Эта строка задает имя микросхемы программирования частоты, установленной на карте. Руководства для каждого сервера описывает их имена. Например, в файле README.S3 мы определили, что несколько S3-864 видеокарт используют микросхему ``ICD2061A''. Следовательно, нам следует использовать строку:
ClockChip "icd2061a"
вместо строки Clocks. Так же как и строка Clocks, строка ClockChip должна быть в секции Devices после строки Chipset.
Некоторые карты с акселератором требуют определения в файле XF86Config строки Ramdac, описывающей тип используемой микросхемы RAMDAC. Руководство на сервер XF86_Accel описывает подробно опции этой строки. Как правило, X сервер верно определяет тип используемой микросхемы RAMDAC.
Некоторые видеокарты требуют определения нескольких дополнительных опций в секции Devices. Эти опции описаны как в руководствах на ваш X сервер, так и в справочных файлах (например README.cirrus или README.S3). Эти опции устанавливаются строкой Options. Например, видеокарта #9 GXE 64 требует установку двух опций:
Option "number_nine"
Option "dac_8_bit"
Обычно X сервер работает и без этих опций, но с ними X сервер обеспечивает большую производительность. Существует слишком много всевозможных опций, чтобы из все здесь перечислить. Эти опции зависят от типа установленной видеокарты. Если вы вынуждены использовать эти опции не волнуйтесь, руководства на X сервера и справочные файлы в каталоге /usr/X11R6/lib/X11/doc/ объяснят вам что они значат.
Итак, когда вы закончите, не забудьте завершить строкой EndSection секцию Device, которая будет выглядеть следующим образом:
Section "Device"
# Device selection for the #9 GXE 64 only!
Identifier "#9 GXE 64"
Chipset "rnmio_928"
ClockChip "icd2061a"
Option "number_nine"
Option "dac_8_bit"
EndSection
Как уже сказано выше, большинство видеокарт требуют строку Clocks вместо строки ClockChip. Вышеприведенный пример применим только к конкретной видеокарте #9 GXE 64.