The OpenNET Project / Index page

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

Установка драйвера от NVIDIA и настройки TV-OUT (xfree86 x driver video)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: xfree86, x, driver, video,  (найти похожие документы)
From: LinuxTECH <root@linuxtech.pp.ru> Newsgroups: http://linuxtech.pp.ru Date: Mon, 14 Apr 2003 13:01:37 +0000 (UTC) Subject: Установка драйвера от NVIDIA и настройки TV-OUT Оригинал: http://linuxtech.pp.ru/modules/sections/index.php?op=viewarticle&artid=1 Установка драйвера от NVIDIA 1. Введение. Для чего нужно устанавливать драйвер от NVIDIA? В первую очередь - это дает возможность поддержки вашей системой OpenGL, которая так необходима в играх. Во вторых - это использование дополнительных возможностей вашей видеокарты, таких как TwinView, TV-Out и т.д. Ну и в третьих - это все-таки большая производительность драйвера, использующего оптимизированное ускорение для каждого чипсета от NVIDIA. Здесь не рассматриваются достоинства или недостатки драйверов от NVIDIA, как и вопрос, почему эти драйверы не распространяются по лицензии GPL или Open Source. Все это выходит за рамки данной статьи. Большая часть информации для этой статьи взята из файла README поставляемого с драйверами. 2. Поддерживаемое железо. Как обычно, драйвер от NVIDIA является унифицированным и поддерживает все собственные чипсеты, произведенные когда-либо, полный список которых приведен ниже. Исключение составляет чипсет - RIVA 128/128ZX, поддерживаемый драйвером `nv` в XFree86. Этот же драйвер с выходом новой версии XFree86 4.3.0 от 23 февраля 2003 поддерживает видеоадаптеры на следующих чипсетах Riva 128, 128ZX, TNT, TNT2 (Ultra, Vanta, M64), GeForce (DDR, 256), Quadro, GeForce2 (GTS, Ultra, MX), GeForce3, и Quadro2. Полный список чипсетов поддерживаемых драйвером 4191 от NVIDIA: RIVA TNT RIVA TNT2 RIVA TNT2 Ultra Vanta RIVA TNT2 Model 64 Aladdin TNT2 GeForce 256 GeForce DDR Quadro GeForce2 MX/MX 400 GeForce2 MX 100/200 GeForce2 Go Quadro2 MXR/EX/Go GeForce2 GTS GeForce2 Ti GeForce2 Ultra Quadro2 Pro GeForce4 MX 460 GeForce4 MX 440 GeForce4 MX 420 GeForce4 MX 440-SE GeForce4 440 Go GeForce4 420 Go GeForce4 420 Go 32M GeForce4 460 Go Quadro4 550 XGL GeForce4 440 Go 64M Quadro4 NVS Quadro4 500 GoGL GeForce4 410 Go 16M GeForce4 MX 440 AGP8X GeForce4 MX 440SE AGP8X GeForce4 MX 420 AGP8X Quadro4 580 XGL Quadro4 280 NVS Quadro4 380 XGL NV18M NV18M Pro GeForce2 Integrated GPU GeForce4 MX Integrated GPU GeForce3 GeForce3 Ti 200 GeForce3 Ti 500 Quadro DCC GeForce4 Ti 4600 GeForce4 Ti 4400 NV25 GeForce4 Ti 4200 Quadro4 900 XGL Quadro4 750 XGL Quadro4 700 XGL GeForce4 Ti 4800 GeForce4 Ti 4200 AGP8X GeForce4 Ti 4800 SE GeForce4 4200 Go Quadro4 980 XGL Quadro4 780 XGL Quadro4 700 GoGL NV30 NV30 NV30 NV30GL NV30GL 3. Выбор необходимого драйвера. Драйвер состоит из двух пакетов, которые нужно скачать и установить. Пакет NVIDIA_GLX содержит библиотеки OpenGL и драйвер XFree86. Пакет NVIDIA_kernel содержит модуль ядра, который необходим библиотекам из пакета NVIDIA_GLX. Устанавливать нужно оба пакета с совпадающими номерами версий. Например, пакет NVIDIA_GLX-1.0-4191 должен использоваться только с пакетом NVIDIA_kernel-1.0-4191. Пакеты представлены в нескольких форматах: rpm, srpm и tar файлами. Установка каждого типа пакета описано ниже. Выбор типа пакета в основном зависит от персональных пристрастий. (Мне всегда по душе приходились сжатые tar-файлы. Во первых они меньше по размеру, чем rpm-пакеты. Во вторых - нет нужды пролистывать rpm-пакеты на предмет определения, где и что располагается. А в третьих - MidnightCommander позволяет разжимать tar-файлы нажатием одной кнопки.) Двоичные rpm-пакеты используются только с ядром поставляемым конкретным дистрибутивом (т.е. пакет NVIDIA_kernel-1.0-4191.rh73up.i386.rpm должен использоваться с однопроцессорным ядром поставляемым с RedHat 7.3). Где возможно, NVIDIA поставляет отдельные rpm-пакеты для SMP (мультипроцессорного) и однопроцессорного ядер каждого дистрибутива (т.е. NVIDIA_kernel-1.0-4191.rh73smp.i686.rpm и NVIDIA_kernel-1.0-4191.rh73up.i686.rpm соответственно). Плюс к этому поставляются пакеты зависящие от архитектуры процессора или типа ядра - i386, i586, i686, Athlon, Enterprise, Secure, Bigmem и т.д. Если вы обновляли свое ядро (вручную или через обновление дистрибутива) или специфичный rpm-пакет NVIDIA_kernel не представлен для вашего дистрибутива, то необходимо использовать srpm-пакет с исходниками NVIDIA_kernel или tar-файл. Напротив, rpm-пакет NVIDIA_GLX не зависит от версии ядра и поэтому использование srpm-пакета с исходниками необязательно. Устанавливайте пакет NVIDIA_GLX rpm или tar файлом. Если вы затрудняетесь в выборе файла для установки, то вы можете использовать скрипт 'NVchooser.sh' находящийся на страничке для скачивания драйверов. Запустив который в оболочке командой 'sh NVchooser.sh' вы получите рекомендуемый тип пакетов для вашей системы. Примечание: Почаще заглядывайте в репозиторий rpm-пакетов вашего дистрибутива. Наверняка необходимый для вашей системы пакет уже собран. 4. Минимальные требования к установке. При установке бинарных пакетов: linux kernel 2.2.12, смотриться так: $ cat /proc/version XFree86 4.0.1 $ XFree86 -version Kernel modutils 2.1.12 $ insmod -V Если модуль ядра собирается из исходников (srpm или tar файлы), то необходимы следующие программы: binutils 2.9.5 $ size --version GNU make 3.77 $ make --version gcc 2.91.66 $ gcc --version Дополнительно для rpms-пакета требуется: spec-helper rpm $ rpm -qi spec-helper Все официальные релизы kernel от 2.2.12 и выше поддерживаются. Предрелизы версий, как '2.4.3-pre2' не поддерживаются, как и разрабатываемые версии 2.3.x или 2.5.x. Если вы используете XFree86, но не имеете файл /var/log/XFree86.0.log, тогда вы вероятно имеете версию 3.x XFree86 и должны повысить до версии 4.x. При настройке XFree86 4.x первый раз, лучше всего использовать open source драйвер поставляемый с XFree86 (например 'nv', 'vga' или 'vesa'). Если XFree86 нормально функционирует с этим драйвером, то очень просто будет переключиться на драйвер от NVIDIA. Следует заметить, что новые графические процесоры NVIDIA могут не работать со старыми версиями драйвера 'nv' поставляемого с XFree86. Для примера, драйвер 'nv' XFree86 версии 4.0.1 не распознает семейство процессоров GeForce2 и Quadro2 MXR. Однако, это было исправлено в XFree86 версии 4.0.2. 5. Установка пакетов. Перед началом установки драйвера вы должны выйти из X сервера. В дополнении вы должны установить загрузку в консоль по умолчанию и отключить автозагрузку X. Примечание: Я этого не делал. Просто устанавливал драйвер из консольного терминала под KDE, конфигурировал и нажимал "волшебную" комбинацию клавиш - Ctrl-Alt-Backspace. И тут же видел результат - при перезагрузке появился логотип NVIDIA. Теперь настало время перейти непосредственно к установке. Для простоты, в названиях пакетов не указана версия драйвера. Естественно, что при установке необходимо вводить полное название файла. Т.е. когда говориться 'NVIDIA_kernel.tar.gz' вы должны указывать полное имя: 'NVIDIA_kernel.1.0-4191.tar.gz'. И еще. Сначала всегда устанавливается модуль драйвера ядра(NVIDIA_kernel),а потом библиотеки OpenGL (NVIDIA_GLX). Установка из RPM-пакетов Ставим модуль ядра: $ rpm -ivh NVIDIA_kernel.i386.rpm Дальше OpenGL: $ rpm -ivh NVIDIA_GLX.i386.rpm Переустановка из RPM-пакетов Переустанавливаем модуль ядра: $ rpm -Uvh NVIDIA_kernel.i386.rpm Переустановка OpenGL поверх предыдущей версии не рекомендуется, из-за ошибки в деинсталляторе старых версий rpm-пакетов NVIDIA. Поэтому сначала удаляем пакет OpenGL из системы: $ rpm -e NVIDIA_GLX И ставим новый: $ rpm -ivh NVIDIA_GLX.i386.rpm Установка / переустановка из SRPM-пакетов Перед сборкой собственного модуля ядра NVIDIA_kernel для вашей системы вам необходиться в том, что у вас установлены заголовочные файлы для вашего ядра (RedHat, для примера, включает заголовочные файлы в rpm-пакет под названием 'kernel-source'). Пересобирем ядра с флагом '--rebuild': $ rpm --rebuild NVIDIA_kernel.src.rpm Примечание: в последниих версиях rpm не поддерживается опция '--rebuild', для этого используем команду: $ rpmbuild --rebuild NVIDIA_kernel.src.rpm Смотрим где располагается файл. Например в RedHat это /usr/src/redhat/RPMS/i386/NVIDIA_kernel.i386.rpm, хотя пути могут отличаться. Используем указанный путь для установки: $ rpm -ivh /usr/src/redhat/RPMS/i386/NVIDIA_kernel.i386.rpm или переустановки: $ rpm -Uvh /usr/src/redhat/RPMS/i386/NVIDIA_kernel.i386.rpm Для установки пакета NVIDIA_GLX, следуйте вышеуказанным действиям из раздела для установки или переустановки NVIDIA_GLX из rpm-пакетов. Установка / переустановка из TAR-файла Распакуем файлы: $ tar xvzf NVIDIA_kernel.tar.gz $ tar xvzf NVIDIA_GLX.tar.gz Заходим в директорию с NVIDIA_kernel. Жмем 'make install'. Если все прошло нормально, то модуль компилируется, копируется в нужное место и пробует загрузиться в запущенное ядро. $ cd NVIDIA_kernel $ make install Дальше, идем в директорию с NVIDIA_GLX. Проделываем тоже самое, что и с модулем ядра. $ cd ../NVIDIA_GLX $ make install Все. Нужные библиотеки и файлы для OpenGL и XFree86 скопированы в нужное место. Заметьте, что команда 'make install' для каждого пакета удаляет все установленные предыдущие драйвера от NVIDIA. 6. Редактирование файла XF86Config. Когда был выпущен XFree86 4.0, то он использовал немного отличный синтаксис конфигурационного файла от версий 3.x., для того, чтобы обе версии XFree86 могли сосуществовать на одной системе. Было решено, что XFree86 4.x будет использовать конфигурационный файл '/etc/X11/XF86Config-4' только, если такой существует, иначе используется файл '/etc/X11/XF86Config' (на самом деле поиск ведется не так просто, пожалуйста, смотрите man-страницу XF86Config для полного описания путей поиска). Будьте, уверены, что вы знаете, как XFree86 использует конфигурационный файл. Если вы не имеете рабочего файла XF86Config, то есть несколько различных путей для начала. Можно использовать образец конфигурационного файла идущего с XFree86. Можно использовать образец файла включенного в пакет NVIDIA_GLX (он устанавливается в /usr/share/doc/NVIDIA_GLX-1.0/). Вы также можете использовать программу типа 'xf86config'. Некоторые дистрибутивы поставляют собственную утилиту для генерирования файла XF86Config. Если вы имеете рабочий файл XF86Config работающий с различными драйверами (такими, как 'nv' или 'vesa' драйверами), тогда просто нужно найти нужный раздел Device и заменить строку: Driver "nv" (или Driver "vesa") на Driver "nvidia" В разделе Module добавить строку если ее нет: Load "glx" Удалим следующие строки, если такие присутствуют: Load "dri" Load "GLcore" Также можно добавить несколько опций для настройки драйвера NVIDIA под XFree86 (дополнительные опции будут описаны в другой статье, например, как включить TV-Out на видеокартах имеющих выход на телевизор). Теперь после всех настроек можно давать старт (рестарт) X-серверу и использовать новые библиотеки OpenGL от NVIDIA. 7. Заключение. Я не знаю, какая получилась статья. Хотелось написать простым языком, а получился почти дословный перевод readme от NVIDIA. Я надеюсь, что это правильнее, т.к. не все являются гуру Linux и подробности не помешают (меня вообще можно назвать "чайником"). Я буду очень рад, если это статья поможет кому-то самостоятельно установить и настроить драйвер от NVIDIA. Поэтому все отзывы и замечания приветствуются.
Подключаем телевизор Оригинал: http://linuxtech.pp.ru/modules/sections/index.php?op=viewarticle&artid=3 В продолжение статьи по установке драйверов от NVIDIA. Здесь описываются дополнительные опции модуля ядра, которые позволяют задействовать расширенные возможности видеокарты. Не секрет, что большинство производимых сейчас видеокарт на чипсете NVIDIA имеют дополнительные выходы для подключения телевизора или жидкокристаллического монитора (при использовании специального переходника обычный монитор). Это дает возможность использовать вторую подсистему вывода изображения для просмотра видеофильмов на экране телевизора, использовать второй монитор для расширения рабочего стола системы на его экран или же играть в игру на двух мониторах. Делать это позволяет режим графического процессора названный NVIDIA 'TwinView'. Ниже рассматриваются опции драйвера позволяющие использовать телевизор в качестве второго монитора. Все опции добавляются в файл '/etc/X11/XF86Config-4', в раздел 'Device', где указано Driver "nvidia". Рассмотрим все по порядку. Option "TwinView" Включение режима 'TwinView'в драйвере. Option "TwinViewOrientation" "Clone" Расположение второго изображения. В данном случае оно клонировано, т.е. идентично изображению монитора. Возможны также такие варианты: "RightOf" - по умолчанию, т.е. изображение будет продолжением рабочего стола графической системы с правой стороны; "LeftOf" - то же самое, но с левой стороны; "Above" - выше; "Below" - ниже. Option "NoDDC" Синоним "IgnoreEDID". Запрещаем запрос параметров EDID (Extended Display Identification Data), т.к. мы используем телевизор, и свои поддерживаемые режимы он сообщить не сможет. Без этой опции почему-то моя видеокарта никак не хотела выводить изображение на телевизор. Хотя как я понимаю, эта опция предназначена для видеокарт с выходом на второй монитор. Option quot;SecondMonitorHorizSync" "30-50" Option "SecondMonitorVertRefresh" "60" Частоты горизонтальной и вертикальной разверток второго монитора в кГц и Гц соответственно. Не знаю, нужны ли они при выводе на телевизор, но отключать их я не пробовал. Option "ConnectedMonitor" "CRT, TV" Указываем драйверу, какой тип монитора подключен к видеокарте. В нашем случае подключен обычный монитор и телевизор. Может быть "DFP" - жидкокристаллический монитор. При использовании двух мониторов возможны варианты: "CRT, CRT","CRT, DFP" и т.д. Option "MetaModes" "800x600,800x600" Разрешение экрана на первом и втором мониторе (телевизоре). Имеет множество вариантов по значениям. Здесь оба режима совпадают, т.к. используется режим клонирование изображения на телевизоре. В противном случае, когда разрешения монитора больше, необходимо включать дополнительные опции модуля для изображения панорамирования, смещения, дополнительных разрешений и т.д. В данной статье эти опции не рассматривается, поэтому лучше почитать README от NVIDIA поставляемого с драйверами. Option "TVOutFormat" "COMPOSITE" Указываем тип разъема TV-Out, если драйвер определяет его некорректно. Возможен другой вариант - "SVIDEO" в зависимости, какой разъем установлен на видеокарте. Option "TVStandard" "PAL-B" Ну и, наконец, в каком формате кодировать видеоизображение на телевизоре. Возможны следующие варианты: "PAL-B"; "PAL-D"; "PAL-G"; "PAL-H"; "PAL-I"; "PAL-K1"; "PAL-M"; "PAL-N"; "PAL-NC"; "NTSC-J"; "NTSC-M". Вроде все. Для наглядности приведу фрагмент моего файла XF86Config-4: Section "Device" Identifier "NVIDIA GeForce2 DDR (generic)" VendorName "Unknown" BoardName "Unknown" Driver "nvidia" Option "TwinView" Option "NoDDC" Option "TwinViewOrientation" "Clone" Option "SecondMonitorHorizSync" "30-50" Option "SecondMonitorVertRefresh" "60" Option "MetaModes" "1024x768,800x600" Option "TVOutFormat" "COMPOSITE" Option "ConnectedMonitor" "CRT, TV" Option "TVStandard" "PAL-B" В заключении добавлю, приведенный здесь список опций модуля ядра от NVIDIA далеко не полный, он включает очень много флагов и содержит большое количество настроек для конфигурирования параметров ядра при использовании в OpenGL приложениях и т.д. Поэтому, замечу еще раз, что читайте README поставляемого с драйверами. Если вы знаете, как применять другие настройки драйвера, не поленитесь, сообщите об этом мне и другим. Ну и, наконец, если что-то не получилось или не заработало, то используйте замечательную утилиту NV-TV-Out ссылка, на которую имеется на этом сайте в разделе утилиты. С ее помощью точно можно забыть все проблемы по подключению и настройке видеокарт с выходом на телевизор на основе чипсета NVIDIA. С уважением, root at LinuxTECH <root@linuxtech.pp.ru>.

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

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Aleks (?), 13:01, 01/07/2003 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Поможет ли мне этот драйвер настроить Tv-out
     
  • 1.3, Bop4yH.jr (?), 13:52, 03/01/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Все это написано в ридми.. Жаль потраченой минуты.. Полный сакс!
     
  • 1.4, e719 (?), 17:31, 16/02/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что-то Вы как-то опустили перекомпиляцию ядра с опцией USER_LDT для FreeBSD. Это тоже есть в README. А так, правильно сделали что написали. Некоторые тут недовольны, но не все же могут читать по-английски.
     
  • 1.5, Антон (?), 13:13, 25/03/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Дак драйвер как скачать то????
     
     
  • 2.6, e719 (?), 13:37, 25/03/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, как, заходите на nvidia.ru или nvidia.com и там download драйвера к FreeBSD или Linux. Они не особо отличаются, но отличаются. Короче, если я скачал, значит, и у Вас получится 8). А если совсем хреново будет, пишите, кину на мыло, но наверняка там на нвидиа уже новее версия есть.


     

  • 1.8, n1ck (?), 16:52, 19/04/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У меня нифига NVIDIA_kernel не ставится!!! Ни rpm ни tar не фурычат!!!!!! nv.o не находит, а в остальных ошибки!!! А сдувал-то с родного сайта, все по readme делал!!!Подскажите, кто знает!че за кал
     
  • 1.10, Alexandr (??), 15:52, 20/04/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как сделать, что бы на монитор выводился текст (консоль), а на TV графика (иксы)?
     
  • 1.11, Varg (?), 02:08, 05/05/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Под FreeBSD 5.2.1 опция USER_LDT в ядре отсутствует. Может кто знает почему, или она вовсе не нужна. А самое главное дрова 1.0-4365 не стартуют. В логах пишет вроде как модуль NVIDA не подгружается, хотя при загрузке я его вижу. Никто не сталкивался с этим?
     
  • 1.19, Дмитрий (??), 16:55, 03/09/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Игра Rise of Nations требует новый драйвер для моей видеокарты, мои драйвера стоят от XP Prof.

    NVIDIA GeForce4 MX 440
    тип конвертера DAC: Integrated RAMDAC
    64 Мб


    мой драйвер_:

    главный: nv4_disp.dll
    версия: 6.13.0010.2958 Английский
    Дата:   24.09.2002
    Мини-VDD: nv4_disp.dll
    VDD:  Н\Д

     
  • 1.21, elbrus (?), 11:25, 27/11/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    к сожалению, данную статью (с небольшими отличиями) можно найти на любом форуме. Такое ощущение, что люди берут друг у друга тексты.
    На самом деле установка этих дровов оказалась не такой простой (3-й день мучаюсь).
     
  • 1.26, Лиля (??), 01:41, 28/11/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Подходит ли этот драйвер для установки USB камеры в виде плюшевого медведя. Я ни где не могу найтина него драйвера, а фирма не известна. что посоветуете???
     
  • 1.27, nick (??), 21:26, 25/12/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    немогу войти в l2пишет установите новые драйвера де скачать?
     
  • 1.28, лариса (?), 04:23, 12/02/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я загружаю драйвер видеокарты мне пишет что вставте диск в устройство А
     
  • 1.29, лариса (?), 04:53, 12/02/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У меня не устанавливается драйвер видеокарты пишет вставте диск у стройство А - это как
     
  • 1.30, дмитрий (?), 17:31, 17/04/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    нужны драйвера для radeon x2300 для xp
     
  • 1.32, владимир (?), 10:47, 28/05/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У меня Убунту, как мне воспользоваться Вашими рекомендациями по установке rpm-драйверов?
     
  • 1.33, альберт (?), 16:10, 27/11/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    устоновка драйвера от NVIDIA для просмотра телевизора
     
  • 1.34, тимур (?), 20:08, 06/01/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    у меня все время выходит ошибка видеодрайвер nvidmkm                 не отвечает и был востановлен не подскажете как решить эту проблему?
     
  • 1.35, Александр (??), 00:06, 09/02/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    я схожу с ума 2й месяц не могу найти этих дров nVIDIA GeForce4 440 Go 64M.добрые люди подскажите пожалуйста умоляю!!!
     
  • 1.36, лариса (?), 17:45, 22/02/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    здравствуйте!помогите разобраться с проблемой.после присоединения к ноутбуку(Toshiba A200)телевизора с диагональю 107см. по рабочему столу от передвижения окон ползет за ними синий шлейф.видимо что то не так с драйверами видеокарты. может настроить их нужно или заменить.. у меня nvidia GeForce 7300. OC XP. как и что сделать?помогите глупой женщине!!
     

    игнорирование участников | лог модерирования

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




    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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