Проблема с разрешением экрана(Поставил себе KDE4...) (РЕШЕНИЕ)

Поставил себе KDE4, возникла небольшая проблемка: после всех настроек, при новом включении компьютера, сбиваются все настройки (я ставил 1024*768 85Hz), и при входе опять стоит 1280*1024. Как заставить комп запомнить параметры и чтобы при логине тоже стояло выбранное разрешение?

Комментарии (3)

+2
vbifyz - 29 Май, 2008 - 18:14

Нужно корректно установить видеодрайвер через Hardware Drivers Manager
в KDE4 у меня лично когда я апгрейдился с 7.10 все встало автоматом

Если не получится тогда есть хомто на cайте http://forum.ubuntu.ru :

Уcтановка драйверов nVidia
« : 22 Июня 2006, 00:04:53 »
Процитировать
Для установки драйверов в дистрибутивах gutsy или выше воспользуйтесь менеджером закрытых драйверов нажмите Alt+F2 и там введите
Код:
sh -c "LANG=C gksudo restricted-manager"
или в терминале
Код:
$ LANG=C sudo restricted-manager

Дальше введите свой пароль. И следуйте инструкциям.

Впринципе в feisty тоже можно использовать менеджер закрытых драйверов, только если что то не получится вам придётся исправлять ситуацию только через консоль.

Выполнять перечисленные ниже инструкции следует только в том случае если не получается использовать драйвера существующие в репозитории!

Для выполнения команд вам потребуются элементарные навыки работы в консоле.
Советую прочитать разделы курсов "Основы администрирования ОС Linux" http://forum.ubuntu.ru/index.php?topic=15606.0
2 Файловая система Linux.
4 Права доступа.
5 Работа с файлами.
7 Командные оболочки. Занятие первое.
8 Командные оболочки. Занятие второе.
13 Система X Window.

Уcтановка драйверов nVidia
Поиcкал по форуму информацию на данную тему: очень много вопроcов, очень много ответов - но везде по куcочками, нет полного алгоритма установки официальных драйверов. Надеюсь Эта тема будет полезна.

Примечание от Denis Konstantinov
0. Что из себя представляет драйвер NVIDIA:
Вроде уже описание дали яснее некуда а всё равно чуть ли не каждый день задают вопросы по установке.
Очень похоже, что проблема в непонимании как устроен драйвер.
А всё очень просто, как вы знаете (стыд вам если не знаете) драйвер от NVIDIA закрытый. Но поскольку они не могут писать под каждое ядро отдельный драйвер они разделили функционал на два модуля, модуль ядра с открытым исходным кодом и изменённая библиотека libGL.so содержащая основной функционал драйвера (в libGLcore.so) . В открытом варианте эта библиотека содержит только саму реализацию OpenGL и называется MESA http://www.mesa3d.org/ по умолчанию устанавливается именно эта версия библиотеки и библиотеки libGLcore.so в ней нет .
Но версия от NVIDIA той же библиотеки помимо реализации OpenGL ещё содержит код драйвера, именно по этой причине очень сложно для начинающего пользователя установить драйвер. Нужно соблюсти все тонкости, а если ещё учеть что драйвер ставится в систему которая сама контролирует что должно быть (это я про dpkg) то начинаются проблемы.
Теперь детали.
командой
Код:
$ find /lib/modules/`uname -r`/ -iname \*nvidia.ko\*
можно узнать сколько модулей у нас в директории ядра. должен быть один
неважно в какой именно директории, но обычно
если в /lib/modules/`uname -r`/volatile/nvidia.ko то это драйвер из пакета linux-restricted-modules
для нормальной работы драйвера от NVIDIA его там быть не должно
поскольку инсталлятор от NVIDIA обычно ставит модуль в
/lib/modules/`uname -r`/kernel/drivers/video/nvidia.ko
т.е. если у вас два модуля то будет грузиться тот кто выше прописан в файле
/lib/modules/`uname -r`/modules.dep rfr правило если возникает такая ситуация то первым грузится модуль из volatile
об этом говорит ошибка в логе /var/log/Xorg.0.log
Код:
API mismatch: the NVIDIA kernel module has the version 1.0-9755, but this X module has the version 1.0-9631.
скорее всего номера версий будут конечно другие.
Итак модуль должен быть только один! поэтому нужно отклучить модуль из пакета linux-restricted-modules
делается это изменением файла
/etc/default/linux-restricted-modules-common
там нужно исправить строчку на вот такую
DISABLED_MODULES="nv nvidia_new"
если у вас там уже что то есть то нужно добавить nv и nvidia_new через пробел например
DISABLED_MODULES="ath_hal fc fglrx ltm nv nvidia_new"
действие вступит в силу после перезагрузки. Именно поэтому если не прописать эти строчки после перезагрузки даже если вы удалили руками модуль из /lib/modules/`uname -r` то после перезагрузки он снова будет в /lib/modules/`uname -r`/volatile

деталь номер два
как уже было сказано драйвер состоит из двух частей вторая это библиотека /usr/lib/libGL.so.1 (а также libGLcore ) как правило это ссылка. а вот на что она указывает нас и интересует. что то на подобии libGL.so.100.14.11 цифры это версия драйвера NVIDIA.
Версия из Mesa имеет номер поскромнее что то вроде libGL.so.1.2 проверить что есть что можно командой
$ dpkg -S libGL.so.1.2
libgl1-mesa-glx: /usr/lib/libGL.so.1.2
$ dpkg -S libGL.so.100.14.11
dpkg: файл *libGL.so.100.14.11* не найден.
Но как же устанавливается драйвер из репозитория!?
А очень просто модуль уже есть (мы с ним боролись он находится в /lib/modules/`uname -r`/volatile/nvidia.ko)
а вот при установке nvidia-glx (nvidia-glx-new или nvidia-glx-legacy) происходит подмена (делает это установочный скрипт deb пакета) версия от меса копируется в другую директорию а на её место встаёт версия от NVIDIA нужной версии.
Тут кроется ещё одна особенность dpkg умеет запоминать, что куда перенесли, поэтому когда переустанавливается пакет libgl1-mesa-glx, при установленном nvidia-glx (nvidia-glx-new или nvidia-glx-legacy), dpkg устанавливает библиотеку libGL.so от Mesa в новое место и в результате библиотека от NVIDIA остаётя не тронутой, именно по этому если драйвер был установлен вручную и работал, то после переустановки (обновлениии) пакета libgl1-mesa-glx библиотека от NVIDIA перетирается и драйвер не работает. В таких случаях нужно заново устанавливать драйвер NVIDIA вручную.

Ну теперь когда вы знаете где что и как должно быть, если у вас что то не работает,
проверяйте всё по двум пунктам (при условии что корректно настроен xorg.conf)
1 сколько модулей nvidia.ko и каких версий
2 какая версия libGL.so
3 если вы хотите поставить драйвер сами то предаврительно удалите пакеты sudo apt-get remove nvidia-glx nvidia-glx-new nvidia-glx-legacy

Ну и на последок в любой ситуации для загрузки xorg достаточно сменить драйвер с nvidia на nv для запуска x сервера.
nv поддержтивает только 2d ускорение.

Установка по шагам.

1. Скачайте последнюю версию драйверов для архитектуры вашего дистрибутива с nvidia.com (Что-то похожее на: NVIDIA-Linux-XXX-X.X-XXX-pkg1.run).

2. Перед установкой драйверов потребуется доустановить дополнительные пакеты (если они отсутствую в системе): исходники ядра, утилиты make, bunutils, компилятор gcc, libc6-dev.
Код:
sudo apt-get install linux-headers-`uname -r`
sudo apt-get install build-essential
sudo apt-get install pkg-config
sudo apt-get install binutils
sudo apt-get install xserver-xorg-dev

или тоже самое только одной строчкой

sudo apt-get install linux-headers-`uname -r` binutils pkg-config build-essential xserver-xorg-dev

Иначе при установке может быть такая ошибка
Код:
"ERROR: The NVIDIA kernel module was not created".

3. Завершите свой сеанс. Переключитесь в текстовую консоль Ctrl+Alt+F1 и залогиньтесь.
Остановите X-Server:
Код:
sudo /etc/init.d/gdm stop

4. Запустите инсталлятор драйверов (из каталога куда вы их сохранили) от имени root:
Код:
sudo -s -H
sh NVIDIA-Linux-XXX-X.X-XXX-pkg1.run
Вместо NVIDIA-Linux-XXX-X.X-XXX-pkg1.run вы указываете точное имя пакета с драйверами, которые вы скачали с официального сайта.

5. Инсталлятор ругнётся на отсутствие precompiled headers для вашего ядра и предложит скачать их с сервера nVidia. Откажитесь. Он предложит скомпилировать их сам - соглашайтесь.

6. Если все прошло успешно, то по окончанию установки вам предложать запустить утилиту nvidia-xonfig. Откажитесь!

7. Сделайте копию конфигурационного файла X-сервера.
Код:
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup

8. Отредактируйте файл xorg.conf.
Код:
sudo nano /etc/X11/xorg.conf
Найдите строку Section "Device", а чуть ниже нее строку Driver "nv". Последнюю измените на Driver "nvidia". Можете так же добавить в эту же секцию строку Option "NoLogo" "TRUE", чтобы при загрузке X-сервера не появлялся логотип nVidia (некоторых это раздражает).
В результате эта часть файла должна быть похожа на сто:
Код:
Section "Device"
Identifier "NVIDIA Corporation NV43 [GeForce 6600 GT]"
Driver "nvidia"
Option "NoLogo" "TRUE"
BusID "PCI:1:0:0"
EndSection

В разделе Section "Module" закомментируйте (или удалите) строки Load "dri" и Load "GLCore". И добавьте в этот же раздел строку Load "glx", если она отсутствует.
Эта часть файла должна быть похожа на сто:
Код:
Section "Module"
Load "i2c"
Load "bitmap"
Load "ddc"
#Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "type1"
Load "vbe"
EndSection

9. Перезапустите X-сервер:
Код:
sudo /etc/init.d/gdm start

10. А теперь в Синаптике/Адепте запускаем поиск по ключевому слову "nvidia".... находим все пакеты связанные с nvidia, в частности nvidia-kernel-common и удаляем их.

Если вы все сделали правильно, то X-сервер запустится уже используя официальные драйвера nVidia. Если же X-сервер не запустился, то просто восстановите конфигурационный файл:
Код:
sudo cp /etc/X11/xorg.conf.backup /etc/X11/xorg.conf
и ищите ошибку в своих действиях или спрашивайте в этой теме.

0
ArchAlex - 29 Май, 2008 - 22:48

Исчерпывающее руководство. Спасибо!

0
balamutick - 16 Апрель, 2009 - 11:02
Изображение пользователя balamutick.

Вверх

Актуально ещё ?
Хорошая статья ?

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры