Next
Previous
Contents
Идеология иксов и многие базовые вещи без привязки к Window Manager-ам и
интегрированным средам хорошо описаны на
http://ep2-ts2.inp.nsk.su/lecture/
Поискать название вашей карточки в
http://www.xfree86.org/FAQ/
или /usr/X11R6/lib/X11/doc/
Взять последнюю версию иксов, собранную производителем вашего
дистрибутива, или, если производитель ее еще не собрал, то на
ftp://ftp.xfree86.org. Стоит сперва
ограничиться _только_сервером_ под эту самую карточку, и, как правило,
лучше на этом и остановиться (вот если он работает, но ищет конфиги
где-нибудь не там, где они у вас лежат - можно подумать о замене всего
остального.) Hамек: если вы не видите сервера с именем вашей карты -
проверьте, не поддерживает ли ее сервер SVGA. Он не так прост, как можно
подумать по названию. В XFree 4 остался единственный сервер, а поддержка
конкретных карточек вынесена в подгружаемые модули. Поэтому (теоретически),
если у вас четвертые иксы, то нужно найти только модуль для вашей карточки.
По идее, если вы правильно указали максимальные возможности вашего монитора в
утилите настройки иксов (xf86config, XF86Setup, Xconfigurator), то эта утилита
должна сама прописать в файле конфигурации ModeLine, выжимающий максимум из
вашего монитора. Если вы не хотите полагаться на ее интеллект, то можно
посмотреть готовые стандартные Modeline через strings `which xf86setup` и найти
подходящую. Если по каким-то причинам с этой ModeLine возникают проблемы, то
воспользуйтесь советом от
Alexei Dets:
Для начала находите Modeline с требуемым вам разрешением, но не
устраивающей вас частотой, т.е. слишком низкой, например. Hайти такую
строчку можно, например, в XF86Config, сгенеренным инсталлятором
дистрибутива.
Проверяете работоспособность данного видеорежима на вашем мониторе. Если
видеорежим устанавливается, пусть даже с некоторым смещением картинки от
центра экрана, чуть-чуть другим размером и т.п. можно идти дальше. Иначе
рекомендуется выбрать другую Modeline или подогнать эту при помощи
xvidtune. Скажем, у нас имеется строчка:
Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
Какая здесь сейчас установлена частота развертки?
Ответ: 25175000/800/525=59,9 Гц.
Т.е. необходимо первую цифру, умноженную на миллион, разделить на пятую
и на последнюю.
Соответственно, как получить требуемые нам, например, 120 Гц?
Ответ: 800x525x120/1000000=50,4
Соответственно, результирующая строчка:
Modeline "640x480" 50.4 640 664 760 800 480 491 493 525
Можете пробовать :-) Скорее всего, картинка будет неправильно
центрирована и будет иметь неверный размер, но это легко лечится при
помощи xvidtune. Полученная при помощи него строчка будет уже
окончательной. Владельцы современных мониторов могут просто подстроить
размеры и центровку из меню :-)
Примечание: все данное "шаманство" подробно объяснено в
/usr/X11R6/lib/X11/doc/VideoModes.doc или на русском в
http://knot.pu.ru/faq/xfaq.html.
Примечание 2 от Alex Kanavin: в XFree86 4.x произошли некоторые изменения.
Во-первых, в X cервере теперь определен набор стандартных VESA режимов, из
которых подбирается оптимальный, исходя из параметров конфигурационного файла
HorizSync и VertRefresh. То есть очень возможно, что вы получите наилучший
результат, вовсе не прописывая ModeLine в конфиге, но только если интересующая вас частота развертки - одна из 60, 70, 75, 85 Hz. Имена у этих режимов традиционные - "640x480" и т.д., вплоть до "1920x1444" :-)
Во-вторых, в будущем X
сервер сможет получать информацию о возможностях монитора непосредственно от
него самого через VESA DDC. Для некоторых чипсетов она печатается при загрузке
сервера, но пока не используется. Неясно также, как можно будет выбирать из
режимов с одинаковым разрешением, не полагаясь на интеллект сервера.
При работающем X сервере уже не переключиться, но можно запустить
рядышком еще один - если это XFree, а не какой-нибудь коммерческий сервер
(через startx -- :1 -bpp 8 или добавив аналогичную строку в
/etc/X11/xdm/Xserver, если используется xdm). В XFree 4 глубину цвета
можно переключать на лету через DGA2, но подробности пока неизвестны.
(
Alec Voropay, Alex Kanavin,
Alexander Pevzner)
В системе X Window понятия "клиент" и "сервер" кажутся
перепутанными. В действительности, никакого противоречия
тут нет.
Весь вопрос лишь в том, что такое "cервер" ? Возмем например
print-server или file-server. Это какое-то устройство для
коллективного использования "ресурса". Например, единственный
print-server на организацию.
Так вот когда-то давно (лет 30 назад ;) комплект из цветного
дисплея и памяти на 256К был страшно дорогой игрушкой :-)
и обслуживал кучу программ. Это и был display-server или,
в комплекте с мышью и клавиатурой, X-server.
Таким образом, X-server - это программа для управления
Video-подсистемой, мышью и клавиатурой и выполняющая
команды типа "нарисовать красную точку" или "вывести букву
А фонтом Arial". Существует куча X-Server-ов : cвободные
XFree86, коммерческие AcceleratedX, под MS Windows : eXceed,
X-Win, под VAX VMS и даже в виде отдельных железок c дисплеем :
NCD, Tatung (их еще называют X-Terminal).
Таким образом, пользовательские программы, например Netscape
- это "X-клиенты", которые обращаются к "X-серверу" для отображения и ввода.
Связь между X-сервером и X-клиентом может быть по TCP/IP, по Unix-Socket, по
IPX или даже по COM-порту. Поддержка конкретных способов связи зависит от
реализации серверов и клиентских библиотек, например XFree знает только про
первые два способа и еще DECNet.
Всякая X-программа ("X-клиент") сначала должна уcтановить соединение с
X-сервером. Его местонахождение X-клиент узнает через переменную окружения
DISPLAY= или ключ в командной строке. Один X-сервер может обслуживать множество
программ, работающих на разных хостах. Как наиболее простой случай, все они, и
X-сервер и Х-программы работают на одном и том же компьютере.
Обычные, "консольные" (алфавитно-цифровые) программы тоже можно запустить под
X, через эмулятор терминала (например xterm, rxvt, eterm e.t.c.). Это
специальная X-программа, которая с одной стороны работает как эмулятор
терминала:), отрисовывает символы и отрабатывает ESC-последовательности, а с
другой стороны представляется как обычный терминальный порт (через
псевдотерминалы ptyXX).
Cледует заметить, что с точки зрения системы нет разницы между иксовыми и
обычными программами. И те и другие используют один и тот же набор
системных вызовов. Разница же упрятана в библиотеку XLib, с которой слинкованы
иксовые программы, - именно она устанавливает связь с X сервером,
посылает ему команды, принимает ответы итд. Кроме того, некоторые программы
(emacs, например) могут работать как через X сервер, так и без него
(через обычный терминал).
Да, Ctrl-Alt-F# (из иксов в текстовый режим) или Alt-F# (обратно, только
нужно найти первую свободную от getty консоль, обычно седьмую).
man XF86Config на предмет DefaultColorDepth
Нужно запустить (запретить запуск) Display Manager, например xdm (поставляется
с cамими иксами), gdm (из GNOME), kdm (из KDE). Он может запускаться
из rc скриптов или как сервис SysV, но чаще всего его прописывают в
/etc/inittab:
x:5:respawn:/etc/X11/xdm -nodaemon
Поэтому там же нужно поменять runlevel по умолчанию:
id:3:initdefault:
В Red Hat display manager грузится на пятом runlevel, а обычный "текстовый"
runlevel - 3, в других дистрибутивах это может быть не так. Изучите
содержимое /etc/inittab, прочтите man inittab и действуйте по обстоятельствам.
Display manager можно использовать не только для запуска и управления
локальными X серверами, но и для входа в систему и работы с удаленных
икс-серверов через сеть. Для общения с xdm X сервер должен поддерживать
протокол xdmcp. Серверы XFree в этом случае нужно запускать с такими ключами:
- X -query host - простой запрос на host по xdmcp
(иначе говоря, X сервер выясняет, готов ли xdm на host-е вывести окошко
с полями для ввода логина и пароля и если готов, то просит его сделать
именно это).
- X -indirect host - "непрямой" запрос на host (то есть,
X сервер просит xdm на host-е сделать запрос на все известные ему хосты,
где установлен xdm. xdm в этом случае может либо просто опросить их
(в частности, себя) и больше ничего не делать, поскольку
X сервер сам сформирует список ответивших ему хостов и выдаст его
пользователю, либо запустить т.н. chooser, который сформирует этот список и
выдаст его на экран X сервера, подсоединившись к нему, как обычный
X клиент. В случае использования серверов XFree годится только второй
вариант и конфигурировать xdm надо именно так. Затем, так или иначе,
пользователь выбирает интересующий его хост и туда делается простой запрос).
- X -broadcast - широковещательный xdmcp запрос в сеть, с первым
ответившим xdm устанавливается такая же сессия, как и в случае простого
запроса. В других реализациях (не XFree) X сервер может, как и в предыдущем
случае, выдать пользователю список ответивших хостов.
Подробности в XDM-Xterm mini-HOWTO, man xdm, а также по следующим URL:
http://ep2-ts2.inp.nsk.su/lecture/ и
http://www.iae.lt/visaginas/home/kazanov/koi8/Articles/X-Terminals.htm.
http://xwinman.org
http://www.themes.org
Hаиболее оптимальным решением является установка патченого XFree86 со
встроенной поддержкой TrueType шрифтов либо установка XFree 4, где такая
поддержка имеется "из коробки".
В последнее время большинство дистрибутивов поставляется именно с таким
вариантом XFree. Вы можете и сами собрать для себе патченные X-сервер и
фонт-сервер, для этого вам необходим набор патчей xfsft (
http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/).
Единственным отличием TrueType шрифтов от остальных в данном случае
является то, что файл fonts.dir генерится при помощи программы ttmkfdir,
а не mkfontdir. Более подробная информация - на
http://www.xfree86.org/4.0.1/fonts.html
В случае, если у вас нет возможности или желания доставать новый
X-сервер или исходники XFree, то неплохим вариантом является
использование сервера шрифтов xfstt. Подробная документация по его
использованию есть в его исходниках или, на русском, по адресу
http://visaginas.is.lt/~evgeny/koi8/Articles/xfstt_1.html.
Hедостатком данного подхода
является отсутствие поддержки fonts.alias.
Оба варианта отлично работают как с обычными, так и с юникодными
TrueType шрифтами.
Есть. Cмотрите сюда:
http://www.xfree86.org/~keithp/render/.
Попробуйте запустить top во время проигрывания - увидите, что очень много
ресурсов отъедают сами иксы, то есть программно выполняется гораздо больше операций чем в Windows.
Дело в том, что до недавнего времени в иксах отсутствовала поддержка
совершенно необходимых для качественного воспроизведения видео вещей - прямого
доступа к видеопамяти, аппаратного масштабирования, сглаживания и
преобразования цветового простарнства. В XFree 4
появились расширения, обеспечивающие эти функции - DGA2 и Xv. Поэтому для
качественного воспроизведения мпегов необходимы следующие условия:
- XFree86 4.0 или более новая версия
- Видеокарточка, драйвер которой поддерживает Xv и DGA2.
- Проигрыватель и используемая им видеобиблиотека с поддержкой Xv/DGA2.
Последние версии SDL, smpeg, mplayer, xine, avifile эти расширения поддерживают.
Попробуйте эти продукты, выберите то, что вас устраивает в набольшей степени.
(данный ответ не претендует на истину в последней инстанции, пожалуйста
уточните его, если Вы в большей степени в курсе дела)
Next
Previous
Contents