The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Заметки по настройке FrameBuffer и XFree86 для Nvidia видеокарт (video driver xfree86 framebuffer)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: video, driver, xfree86, framebuffer,  (найти похожие документы)
From: Andy Gorev <[email protected]> Newsgroups: http://www.atmsk.ru Date: Mon, 20 Jun 2003 13:01:37 +0000 (UTC) Subject: Заметки по настройке FrameBuffer и XFree86 для Nvidia видеокарт Оригинал: http://www.atmsk.ru/index.php?option=articles&task=viewarticle&artid=59 Nvidia-HOWTO Пролог: в статье идет речь о драйверах для видеоплат Nvidia и настройке фрейм-буфера. Материал собран по многочисленным вопросам в рассылках altlinux-community. Начнем пожалуй с консоли. Существует два режима работы (SVGATextMode опустим) - это обычная консоль и фреймбуфер. В обычной консоли можно использовать шрифты с глифами 8х8 и 8х16 (по умолчанию). Для смены шрифта надо править в файле /etc/sysconfig/i18n параметр SYSFONT, с последующим запуском #setsysfont. Посмотреть, какие вообще есть консольные шрифты можно в пакете console-tools. Установка глифа 8х8 реально увеличивает объем влезающей на экран информации без смены разрешения. И это самый простой способ, если отказаться от фреймбуфера. При этом пропадает лого при загрузке и много проблем icon_smile.gif Но остается медленная развертка. И очень многих это не смущает. При использовании фреймбуфера есть два варианта. Первый вариант - vesafb. Этот фреймбуфер автоматически вызывается, если вы ставили Мастер. Отключить сплэш при загрузке, оставив при этом vesafb можно, если убрать параметр ядра fbprogress=/dev/ttyS10. Этот параметр задается в загрузчике. В Мастере, файл /boot/grub/menu.lst Этот файл надо просто исправить и все. LILO нужно переустанавливать при любых изменениях. Инициализация непосредственно vesafb производится опцией ядру vga=788 (в этом случае 800х600х16b). Разрешение изначально задается при инсталляции и прописывается в этот параметр в десятичном значении. Чтобы изменить разрешение, нужно прописать номер нужного режима в этом параметре (можно использовать значения hex). Значения режимов можно посмотреть в файле /usr/share/doc/kernel-doc/fb/vesafb.txt пакета kernel-doc. Недостатком такого решения является то, что частота вертикальной развертки у вас ВСЕГДА в консоли будет 60 гц. Дело в том, что vesafb писался еще в конце 90-х годов, когда стандарт VESA VBE 3.0 только зарождался. Описаны были только стандартные режимы VESA 2.0. Теоретически vesafb поддерживает VESA 3.0 и высокие частоты, но у автора небыло тогда железки, поддерживающей свежий стандарт чтобы это проверить. Практически-же этот самый "свежий" и до сих пор актуальный стандарт снял с себя всякую ответственность за резервирование новых режимов, и возложил это на производителей железа. В нашем случае мы имеем Nvidia с поддержкой VESA 3.0, а значит высокочастотными режимами, которые описаны у платы в BIOS. Загвоздка в том, что этой информации нигде нет. Я боюсь даже что номера режимов могут менятся от чипсета к чипсету. Поэтому, при использовании vesafb мы получим 60 гц. Это может довольно тяжело смотреться на 15" мониторе в 1024х768. Второй вариант фреймбуфера - rivafb. Чтобы его использовать, надо убрать опцию ядра "vga=", и редактировать файл /etc/sysconfig/framebuffer. Его приблизительное содержание может быть таким: ENABLE=yes MODULE=rivafb ARGS="noblink=1" MODE=1024x768-70 TTYS="1 2 3 4 5 6 12" При этом должен быть установлен пакет fbset. Этот фреймбуфер поддерживает базу режимов, которые можно посмотреть в /etc/fb.modes и даже создавать самому. Опции модуля передаваемые в переменной ARGS можно узнать набрав modinfo rivafb. Преимущество этого фреймбуфера в том, что он позволит вам выставить в консоли практически максимально-возможное разрешение и частоту разветки, которые вы захотите. Недостаток в том, что он написан каким-то кулхацкером (со слов Nvidia) с использованием кода XFree => крошит акселирированные драйвера от Nvidia и вносит потенциальную нестабильность в XFree вообще. Многие люди тем не менее продолжают использовать это решение без всяких проблем. Поэтому если вам нужен высокочастотный фреймбуфер, и вы не играете c glx - это то, что вам нужно. Теперь переходим к иксам. Тут тоже все двузначно. Существует два сервера для Nvidia-плат. Первый - nv. Поставляется вместе с XFree86 и, по многочисленным отзывам, наиболее стабилен. Так как этот сервер пишет команда XFree, оно и понятно. Если возникают проблемы с glx то надо пробовать этот сервер. Преимущества - стабилен, работает с любым фреймбуфером. Недостатки - не поддерживаются Nvidia фишки, поэтому например не работают OpenGL игры, и отсутствие поддержки GeForce 3 & 4. Конфигурируется просто и изящно: Driver "nv" в секцию Device файла XF86Config ручками или мнгочисленными конфигураторами от xf86config до XFdrake. Об опциях этого драйвера можно посмотреть тут. (http://www.xfree86.org/current/nv.4.html) Этот вариант подходит тем, кто пользуется Nvidia только для работы. icon_wink.gif Второй сервер - акселерированный сервер от Nvidia с которым работает всё или почти всё. Его обычно стараются заточить на десктоп. Преимущества очевидны. Недостатки - только недавно Nvidia заявила об "официальной" поддержке Линукса => драйвера вечно сырые и их стабильность меняется от версии к версии; в последних версиях оптимизируется код для самого свежего железа - история в точности как с Детонаторами под виндос; наконец эти драйвера не дружат с rivafb. Достаточно переключиться в консоль, и обратно в Х-ы, чтобы начать судорожно давить SysRq. Но если не переключаться ... (я знаю таких), тоже вроде работает (но они особо и не играют, тогда зачем такой драйвер). Теперь об установке. Если вы используете Mandrake или RH - вперед на http://www.nvidia.com/ там есть все для вас. Останется только разобраться. Если вы пользуетесть Альтом, то надо установить два пакета Nvidia-kernel и NVIDIA_GLX. Первый должен совпадать по версии с вашим ядром. Содержит он ядерный модуль (что-то типа DRI), который воткнется туда после depmod -a и запуска иксов (с соответствующим сервером). Второй - непосредственно сервер для XFree86 и OpenGL библиотеку от Nvidia. После установки надо убедиться что используемый Driver в XF86Config теперь "nvidia", в секции Module убрано Load "dri", а Load "glx" заменено на Load "/usr/X11R6/lib/modules/extensions/libglx.so". Это минимальная конфигурация, при которой у вас уже будут работать простые вещи типа tuxracer. Для полной работоспособности не хватает симлинка в /usr/X11R6/lib (libGL.so -> libGL.so.1). Сервер nvidia содержит множество параметров (среди них есть и полезные) которые можно узнать из /usr/share/doc/NVIDIA_GLX/README. Например как отключить сплэш Nvidia, сконфигурять twinview и TV-out, или переключиться на NVAGP. Если будете эксперементировать с NVAGP, то надо выкинуть agpgart из /etc/modules. В зависимости от настроек сервера, он будет использовать NVAGP или загрузит модуль agpgart. Существует официальный форум, (http://www.nvnews.net/vbulletin/forumdisplay.php?&forumid=14) где можно найти ответы по самым последним железкам. Hint: там работает вполне грамотный поиск. Напоследок подскажу, что на этом сайте в разделе ссылок про железо можно найти еще много интересного, особенно для владельцев Geforce, тем более двухголовых. :-)

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру