LINUX.ORG.RU

Fedora 16 + nvidia 9800gtx

 ,


0

1

Уже привык что у меня nvidia карточки не сразу заводятся. Но на этот раз что-то совсем не получается. Причем пробовал как с проприетарными дровами, так и с nouveau и vesa. Через несколько секунд после загрузки иксов в xorg.0.log валится что-то типа

[    16.353] (EE) Screen(s) found, but none have a usable configuration.
[    16.353] 
Fatal server error:
[    16.353] no screens found
(Это для vesa, для остальных примерно также). Что странно, так это то что во время установки vesa работал нормально (nouveau так же зависал). По lspci -vv сначала выводится инфа по VGA, через несколько секунд похоже видеокарта отключается
05:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 9800 GTX] (rev ff) (prog-if ff)
        !!! Unknown header type 7f
        Kernel driver in use: nouveau
Странно что здесь говорится что используется драйвер nouveau, хотя в логах Xorg.0.log написано что был загружен vesa. Вобщем если кто подскажет как заставить работать хотябы один из драйверов буду благодарен.

И да, после недавнего апдейта дров в fc16 на ноуте (G102M) стало 6 маленьких экранов. Вылечил через «Option „ModeValidation“ „NoTotalSizeCheck“» хотя до конца и не понял почему так.



Последнее исправление: cetjs2 (всего исправлений: 1)

Xorg.0.log надо смотреть, на предмет почему vesas юзается, а не nouveau. Можно форсировать исопльзование драйвера nouveau, создать файлик с Section «Device» в /etc/X11/xorg.conf.d/...

Adjkru ★★★★★
()
Ответ на: комментарий от Adjkru

Это понятно. Я сам переключал драйвера чтобы хотябы один заработал. Vesa я включил через xorg.conf

Section "Device"
        Identifier  "Videocard0"
        Driver      "vesa"
EndSection
Для nvidia тоже самое только Driver «nvidia». Для nouveau вообще без всяких конфигов. Кроме этих строк еще много чего пытался в конфиге прописать. Сейчас логи показать не могу, только вечерком. Мануалы по запуску драйвера nvidia в fedora как всегда читал. К слову была подобная проблема в Fedora 13, тогда решилось использованием драйвера не из RPM Fusion а из репозитория rfremix. Сейчас в их репозитории не хватает kmod-nvidia для моей версии ядра, nvidia-xconfig и nvidia-settings. Я надеялся что это типичная проблемма для данного релиза и с ней уже кто-то столкнулся.

ALeo
() автор топика
Ответ на: комментарий от ALeo

К слову была подобная проблема в Fedora 13, тогда решилось использованием драйвера не из RPM Fusion а из репозитория rfremix. Сейчас в их репозитории не хватает kmod-nvidia для моей версии ядра, nvidia-xconfig и nvidia-settings

это не приглашение к флейму, просто напрашивается вопрос: зачем тебе такой дистрибутив?

fragment
()
Ответ на: комментарий от fragment

До сих пор успешно справлялся с подобными граблями, и по ходу решения узнавал что-то новое. Чтобы было с чем поковыряться время от времени. К тому же интересно что ожидать в редхате через несколько лет. Вот и сейчас, даже если не разберусь, узнаю чего нибудь.

ALeo
() автор топика
Ответ на: комментарий от dada

На офф сайте nvidia? Не думаю что их унивесальный установщик чем-то лучше собраного пакета под конкретный дистрибутив. Мне кажется тут в чем-то другом проблема. По крайней мере графика отваливается не только с их драйвером.

ALeo
() автор топика
Ответ на: комментарий от ALeo

Ну у меня опыта с драйверами нвидии не очень много (мало с чем смогу помочь), но устанавливал на 14-ую федору.
Нужно было отключить иксы и установить.

dada ★★★★★
()
Ответ на: комментарий от dada

На 14 тоже все отлично работало, как на ноуте так и на компе. Вот решил проапдейтиться наконец до 16. Надо будет еще погуглить, может пропустил.

ALeo
() автор топика
Ответ на: комментарий от ALeo

Вот решил проапдейтиться наконец до 16

Вот что-то меня останавливало всё время.

dada ★★★★★
()

Уже привык что у меня nvidia карточки не сразу заводятся.

ХЗ, и на федоре (16 последний раз) блобы пользовал на разном железе и никаких танцев не было никогда. Может есть повод задуматься о руках или на крайний случай — дистре?

amorpher ★★★★★
()
Ответ на: комментарий от dada

1. никогда не ставь в обход ПМ
2. иксы отключать не надо

megabaks ★★★★
()
Ответ на: комментарий от dada

По этому гайду я тоже делал. Ладно фиг с ним, раз с ходу тут не решилось буду дальше ковырять. А менять дистр не хочется, много чего перепробовал, на федоре сижу с 10 версии.

ALeo
() автор топика

Я делаю так:

$ sudo yum install kernel-devel kernel-headers akmod-nvidia nvidia-settings nvidia-xconfig
Все зависимости подтянутся автоматом (если используется ядро PAE, то устанавливать нужно kernel-PAE-devel). Установка пакетов приведёт к автоматическому занесению nouveau в blacklist.

Дополнительно блеклистим nouveau в initramfs. Для этого редактируем /etc/default/grub ― нас интересует строка, начинающаяся с GRUB_CMDLINE_LINUX:

$ cat /etc/default/grub | grep GRUB_CMDLINE_LINUX
GRUB_CMDLINE_LINUX="LANG=ru_RU.UTF-8 rd.md=0 rd.lvm=0 rd.dm=0 quiet rhgb rd.luks=0 KEYTABLE=ru rdblacklist=nouveau acpi_backlight=vendor"
Из приведённого выхлопа видно, что добавлен параметр rdblacklist=nouveau.
Теперь пересоздаём конфиг второго GRUB'а:
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg

И, наконец, пересобираем initramfs (для текущего ядра):

$ sudo dracut -f /boot/initramfs-`uname -r`.img `uname -r`
Если необходимо пересоздать initramfs не текущего ядра, тогда так:
$ sudo dracut -f /boot/initramfs-<kernel_version>.img <kernel_version>
Аргумент kernel_version должен быть в формате выхлопа uname -r (например, так: 3.3.1-3.fc16.i686.PAE).

Генерируем модули ядра (для текущего ядра):

$ sudo akmods
Если нужно создать модуль не для текущего ядра, тогда так:
$ sudo akmods --kernels <kernel_version>
Аргумент kernel_version также должен быть в формате выхлопа uname -r.

Дальше создаём xorg.conf. Его можно сгенерировать как тулзой nvidia-settings (если запустить от root'а, то конфиг можно сразу сохранить в /etc/X11/xorg.conf [естественно, предварительно поправив то, что по умолчанию предлагает тулза]), так и использовать имеющийся в наличии [сгенерированный ранее]. У меня конфиг имеет такой вид:

Section "ServerLayout"
    Identifier     "Default Layout"
    Screen      0  "Screen0" 0 0
    Option         "Xinerama" "0"
EndSection

Section "ServerFlags"
    Option         "AIGLX" "on"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Samsung"
    ModelName      "Chi Mei Optoelectronics corp."
    HorizSync       30.0 - 75.0
    VertRefresh     60.0
    Option         "DPMS" "true"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GT 520M"
    Option         "AddARGBGLXVisuals" "true"
    Option         "UseEdidDpi" "false"
    Option         "DPI" "96 x 96"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "metamodes" "nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Extensions"
    Option         "Composite" "Enable"
EndSection

Не забываем делать перевод на новую строку (нажать <Enter>) в конце последней строки конфига. Также обращаю внимание на то, что секций InputDevice создавать без острой необходимости крайне не желательно.

В некоторых версиях блоба есть проблема с prelink'ом (проявляется в постоянных сегфолтах различного софта, особенно в KDE). Чтобы не париться по этой проблеме, я создал такой конфиг (занесение некоторых либ блоба в blacklist prelink'а):

$ cat /etc/prelink.conf.d/nvidia.conf 
-b /usr/lib/nvidia
Опять же, не забываем про перевод строки в конце конфига.

После обновления ядра делаем так:

$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
$ sudo dracut -f /boot/initramfs-<new_kernel_version>.img <new_kernel_version>
Аргумент new_kernel_version ― в формате выхлопа uname -r.

Удачи ;D

carasin ★★★★★
()
Ответ на: комментарий от carasin

Спасибо, вечером попробую.

ALeo
() автор топика
Ответ на: комментарий от ALeo

ALeo, я недавно столкнулся с тем, что нвидиа-блоб не работает с новым ядром, не собирается модуль ядра... так что либо ядро 2.6.42.12-1 используй с блобом, либо если новее - с nouveau. nouveau по идее должен сразу подхватиться, проверь, возможно в конфиге initramfs он заблокирован для использования блоба?

toney ★★★★★
()

Уже привык что у меня nvidia карточки не сразу заводятся.
Fedora

смени дистр и отвыкай

Kernel driver in use: nouveau

если ты не умеешь пнуть свой дистр в направлении использования нужных дров, то при чем здесь нвидиус?

anonymous
()
Ответ на: комментарий от toney

2.6.43 ― это по-нормальному kernel-3.3. Поддержка ветки блоба 96.x закончилась, ЕМНИП, до выхода этой версии ядра (а то и предыдущего ― 3.2). Так что, думаю, без хаков ― никак. Также стОит посмотреть на версию X'ов: блоб 96.x новые иксы не держит (к сожалению, не помню, какую последнюю версию X'ов поддерживает 96.x), но здесь хотя бы можно попытать счастье с «IgnoreABI».

carasin ★★★★★
()
Ответ на: комментарий от toney

Опция такая в xorg.conf'е. Сам никогда не использовал, но знаю, что это для того, чтобы забить на ABI и хоть как-то работать на неподдерживаемой версии X'ов. Как правило, приводит к отсутствию каких-либо фич драйвера, как то: 3D, всякие ускорения, etc.

carasin ★★★★★
()
Ответ на: комментарий от carasin

Как правило, приводит к отсутствию каких-либо фич драйвера, как то: 3D, всякие ускорения, etc.

Жуть

toney ★★★★★
()
Ответ на: комментарий от toney

Зато в критической ситуации можно хотя бы запустить графику, если оно надо :D

carasin ★★★★★
()

Буду продолжать пытаться запуститься с nvidia. Сейчас понял почему не мог запуститься с vesa: когда удалял драйвер nvidia за ним удалялся конфиг в котором nouveau был добавлен в blacklist. Руками добавил его в черный список, указал в настройках xorg vesa. Пока так работает. По ходу узнал что такое dracut, для чего нужен initramfs, и как теперь конфигурится grub2.

ALeo
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.