nVidia и Redhat 6.2
АрхивЛинуксоид (архив)Настройка видеокарт nVidia в Redhat 6.2
Мы будем устанавливать и настраивать Linux Redhat 6.2, чтобы полноценно использовать видеокарту от nVidia. Да, да именно в Redhat 6.2, потому, что именно в этой операционной системе наша карта не поддерживается…
…Пока мы не вмешаемся в её работу и кое-что не исправим!
Внимание! Перед тем, как Вы приступите к описанным ниже действиям, рекомендую прочитать всю статью до конца!
Хочется сказать, что самый простой путь – это купить новую версию дистрибутива, и там уже не будет особых проблем. Но тем людям, которые достаточно хорошо разбираются в Linux, Я думаю, будет интересно попробовать свои силы и всё же «заставить» Linux поддерживать Вашу видеокарту (от nVidia, разумеется). Нам потребуется более новая версия Xfree86 (4.0.1 и выше вместо поставляемой в RedHat 6.2 версии 3.3.6), её придётся скачать. Конечно, на момент написания статьи уже была выпущена версия 4.2.1, но мой выбор пал на 4.0.1 потому, что, во-первых, это – минимальная версия, рекомендуемая для видеокарт nVidia (Примечание: судя по документам от nVidia, это версия 4.0.3, так что в случае чего можно скачать небольшие патчи; я же обошёлся без этого), во-вторых, версия 4.0.1 обладает меньшим размером. Я скачал всю папку с дистрибутивом, размер которой - 28 167 205 байт (ссылки есть на www.xfree86.org ). Вот её содержимое:
Имя файла Размер (байт) Имя файла Размер (байт) BugReport 1046 Xfnon.tgz 2212101 ERRATA 736 Xfnts.tgz 3661580 extract 317738 Xfscl.tgz 1517408 extract.exe 317738 Xfsrv.tgz 48870 FILES 424585 Xhtml.tgz 907490 Install 16971 Xinstall.bin 25412 README 748 Xinstall.sh 25412 RELNOTES 52383 Xinstall.sh.old 25271 SUMS.md5 1571 Xjdoc.tgz 106709 SUMS.md5sum 1354 Xlib.tgz 387750 UPDATES 1116 Xman.tgz 615547 Xbin.tgz 3416181 Xmod.tgz 5148284 Xdoc.tgz 277131 Xnest.tgz 390753 Xetc.tgz 117036 Xprog.tgz 898589 Xf100.tgz 1245538 Xprt.tgz 974828 Xfcyr.tgz 368706 Xps.tgz 654728 Xfenc.tgz 237540 Xvar.tgz 551 Xflat2.tgz 1645222 Xvfb.tgz 1426627 Xxserv.tgz 694646
Ещё нам потребуются специальные драйверы от nVidia, которые можно найти на www.nvidia.com или www.nvidia.ru. Обязательно выберите драйверы для вашей версии Linux! Не ошибитесь! Для нашей версии это файлы: NVIDIA_GLX-1.0-2802.i386.rpm и NVIDIA_kernel-1.0-2802.rh62.i386.rpm. Также рекомендую Вам сразу скачать исходные коды библиотеки GLX и nVidia Kernel, так как могут возникнуть проблемы при установке rpm-пакета (придётся производить компиляцию). Если версия Linux отличная от рассматриваемой, или есть сомнения, используйте скрипт nvchooser.sh, который найдёте на вышеуказанных сайтах. Он сам определит версию Linux и укажет имена файлов, которые Вам необходимы.
Итак, у нас есть Linux Redhat с установленной Xfree86 3.3.6 и все необходимые файлы. Все эти файлы рекомендую скопировать какую-либо папку для удобства (например, c:\linux\Xfree86 (Xfree86), c:\linux\nvdrivers (драйверы)), желательно, чтобы пути были короче и имена папок были в нижнем регистре (не забывайте, что Linux чувствителен к регистру букв; в консоли с этим можно сильно намучиться). Загружайтесь в Linux, заходите как root и монтируйте диск, на котором лежат установочные файлы, например:
#mount -t vfat /dev/hda1 /mnt/c
(не забудьте создать директорию /mnt/c (mkdir /mnt/c)).
Далее переходите в директорию, где лежит Xfree86 (cd /mnt/c/linux/Xfree86), запускайте ./Xinstall.sh, и следуйте указаниям на экране. Думаю, вы справитесь. На этом этапе может возникнуть одна большая проблема: по каким-то причинам файлы не будут копироваться: будут выводиться ошибки. Кроме установки с помощью скрипта предусмотрен ещё один тип установки: ручной. Кучу команд, которыё придётся выполнять; Вам поможет функция автоматического дополнения строки (клавиша Tab), можете записать эти команды в файл (например my_X_install) и сделать этот файл исполняемым (у меня этот скрипт работал некорректно):
#chmod +x my_x_install
Итак, нужные команды:
#chmod +x extract #./extract -C /usr/X11R6 Xbin.tgz #./extract -C /usr/X11R6 Xdoc.tgz #./extract -C /etc/X11 Xetc.tgz #./extract -C /usr/X11R6 Xf100.tgz #./extract -C /usr/X11R6 Xfcyr.tgz #./extract -C /usr/X11R6 Xfenc.tgz #./extract -C /usr/X11R6 Xflat2.tgz #./extract -C /usr/X11R6 Xfnon.tgz #./extract -C /usr/X11R6 Xfnts.tgz #./extract -C /usr/X11R6 Xfscl.tgz #./extract -C /usr/X11R6 Xfsrv.tgz #./extract -C /usr/X11R6 Xhtml.tgz #./extract -C /usr/X11R6 Xjdoc.tgz #./extract -C /usr/X11R6 Xlib.tgz #./extract -C /usr/X11R6 Xman.tgz #./extract -C /usr/X11R6 Xmod.tgz #./extract -C /usr/X11R6 Xnest.tgz #./extract -C /usr/X11R6 Xprog.tgz #./extract -C /usr/X11R6 Xprt.tgz #./extract -C /usr/X11R6 Xps.tgz #./extract -C /usr/X11R6 Xxserv.tgz #./extract -C /usr/X11R6 Xvfb.tgz #./extract -C /var Xvar.tgz #ln -s /etc/X11/app-defaults /usr/X11R6/lib/X11 #ln -s /etc/X11/fs /usr/X11R6/lib/X11 #ln -s /etc/X11/lbxproxy /usr/X11R6/lib/X11 #ln -s /etc/X11/proxymngr /usr/X11R6/lib/X11 #ln -s /etc/X11/rstart /usr/X11R6/lib/X11 #ln -s /etc/X11/twm /usr/X11R6/lib/X11 #ln -s /etc/X11/xdm /usr/X11R6/lib/X11 #ln -s /etc/X11/xinit /usr/X11R6/lib/X11 #ln -s /etc/X11/xsm /usr/X11R6/lib/X11 #ln -s /etc/X11/xserver /usr/X11R6/lib/X11 #/sbin/ldconfig /usr/X11R6/lib #/usr/X11R6/bin/mkfontdir /usr/X11R6/lib/X11/fonts/misc
Можно выполнить все эти команды, а можно сохранить их в файл myinstall и поместить файл в директорию с дистрибутивом Xfree86, выполнить:
#chmod +x myinstall
и запустить его:
#./myinstall
Теперь всё файлы скопируются. Рекомендую ещё раз запустить Xinstall.sh, «для надёжности».
После установки Xfree86 займёмся установкой драйверов. Перейдите в директорию с драйверами и запустите:
#rpm –ivh NVIDIA_GLX-1.0-2802.i386.rpm
#rpm –ivh NVIDIA_kernel-1.0-2802.rh62.i386.rpm
Если в процессе установки появлялось слово «error», то придётся иметь дело с исходными кодами: запомните при установке которого пакеты была (были) ошибки. У меня была ошибка с библиотекой GLX, ну что ж делать, будем компилировать. Для начала распакуем:
#tar zvxf NVIDIA_GLX-1.0-2802.tar.gz
перейдём в директорию, куда распаковались исходники (она будет создана автоматически):
#cd /NVIDIA_GLX-1.0-2802
… и компилируем:
#make install
Снова следите, были ли ошибки. У меня проблем не было, но если у Вас всё-таки возникли, то придётся разбираться самим или спрашивать у знающих людей, здесь я ничем не могу помочь, я не программирую под Linux.
Осталось сконфигурировать Xfree86, запустив:
#xf86config
Здесь нужно выбрать тип мыши, клавиатуры, монитора, видеокарты (наша с Вами – под номером 311). Проблем быть не должно, единственное, важно указать точный объём памяти Вашей видеокарты и правильные характеристики монитора. Могу дать вам совет: если Ваш монитор достаточно новый, то предварительно загрузитесь в Windows, выберите своё любимое разрешение и частоту вертикальной развёртки. Вызовите OSD (On Screen Display): там наверняка должен быть раздел Status, или что-то подобное, посмотрите его: там должна быть информация, например:
+H: 53.7 KHz
+V: 85.1 Hz
Запомните или запишите её: пригодится! Если же нет OSD, то посмотрите инструкцию к монитору: Вам нужны частотные характеристики. Ну и соответственно выберите своё любимое разрешение, глубину цвета (не более 24 бит): Вы будете работать с ними!
Важно! Не забудьте сохранить изменения при запросе!
Почти всё! Осталось только немного вручную подредактировать файл XF86Config:
Запустите Midnight Commander(аналог Norton Commander):
#mc
Перейдите в директорию /etc/X11/ , наведите курсор на файл XF86Config и нажмите F4(редактор). Что-то знакомое, не так ли?
В секции Device найдите строку:
Driver “nv”
и замените её на:
Driver “nvidia”
Ниже припишите:
Load “glx”
Нажмите F2 для сохранения изменений и F10 для выхода из редактора и ещё раз F10 для выхода из Midnight Commander’а.
Рекомендую перезагрузить систему:
#reboot
После перезагрузки можете облегчённо вздохнуть и запустить:
#startx
Загрузится предварительно установленный Вами менеджер окон (лучше Gnome или KDE), но может не запуститься, выдавая ошибки вроде:
Xinit: Connection failed
В этом случае провеьте свои настройки. В случае чего, поищите советы на форумах, там такие темы толковые люди обсуждают постоянно. В случае чего, обращайтесь ко мне, постараюсь помочь.
Удачи!