LINUX.ORG.RU

Установка Nvidia Drivers в Gentoo

 , , ,


1

1

Скомпилировал поддержку драйверов в ядре (по мануалу). Собрал драйвера Nvidia, перекомпилировал xorg-server xorg-x11 xorg-drivers, и выполнил nvidia-xconfig. С последней версией не запускает модуль, его почему-то нет в modprobe.d, есть только nvidia-fb. Ставлю на версию старее - пишет при модпробе что не может выполнить файл. Log: http://pastebin.com/y7mAizWK

Скомпилировал поддержку драйверов в ядре

У nvidia-drivers в ядре нет никакой поддержки.

Kindly_Cat
()
[    85.873] (EE) NVIDIA: Failed to load the NVIDIA kernel module. Please check your
[    85.873] (EE) NVIDIA:     system's kernel log for additional error messages.

[    85.874] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.

Покажи эти логи.

vurdalak ★★★★★
()

nvidia-fb

При использовании проприетарных дров подобные опции в ядре должны быть ОТКЛЮЧЕНЫ.

Kindly_Cat
()

Вот что я делал

Kernel Configuration

As mentioned above, the nVidia kernel driver installs and runs against your current kernel. It builds as a module, so it makes sense that your kernel must support the loading of kernel modules. If you used genkernel all to configure the kernel for you, then you're all set. If not, double check your kernel configuration so that this support is enabled:

Code Listing 3.1: Enabling the Loading of Kernel Modules
Loadable module support --->
  [*] Enable loadable module support
You also need to enable Memory Type Range Register in your kernel:

Code Listing 3.2: Enabling MTRR
Processor and Features --->
  [*] MTRR (Memory Type Range Register) support
Also, if you have an AGP graphics card, you can optionally enable agpgart support to your kernel, either compiled in or as a module. If you do not use the in-kernel agpgart, then the drivers will use their own agpgart implementation, called NvAGP. On certain systems, this performs better than the in-kernel agpgart, and on others, it performs worse. You will need to evaluate this on your own system to get the best performance. If you are unsure what to do, use the in-kernel agpgart:

Code Listing 3.3: Enabling agpgart
Device Drivers --->
Graphics Support --->
-*- /dev/agpgart (AGP Support) --->
Note: On amd64, the IOMMU controls the agpgart setting.
Arch-specific notes

Important: For x86 and AMD64 processors, the in-kernel driver conflicts with the binary driver provided by nVidia. If you will be compiling your kernel for these CPUs, you must completely remove support for the in-kernel driver as shown:
Code Listing 3.4: Remove the in-kernel driver
Device Drivers --->
Graphics Support --->
<*> Support for frame buffer devices --->
< >   nVidia Framebuffer Support
< >   nVidia Riva support
A framebuffer alternative is uvesafb, an advanced framebuffer. Note that you can choose to compile it into your kernel, or as a module. The following example compiles uvesafb into the kernel.

Code Listing 3.5: Enable uvesafb support
Device Drivers --->
Graphics Support --->
<*> Support for frame buffer devices --->
<*>   Userspace VESA VGA graphics support
Or you can try VESA:

Code Listing 3.6: Enable VESA support
Device Drivers --->
Graphics Support --->
<*> Support for frame buffer devices --->
[*]   VESA VGA graphics support
For more information, you can look up the documentation for your chosen framebuffer in /usr/src/linux/Documentation/fb/.
isodeska
() автор топика

так понимаю надо сделать так

Important: For x86 and AMD64 processors, the in-kernel driver conflicts with the binary driver provided by nVidia. If you will be compiling your kernel for these CPUs, you must completely remove support for the in-kernel driver as shown: Code Listing 3.4: Remove the in-kernel driver

Device Drivers --->
Graphics Support --->
<*> Support for frame buffer devices --->
< > nVidia Framebuffer Support
< > nVidia Riva support

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

все fb отключить
если нужен fb - uvesa
убедиться в правильности линка на сорсы
пересобрать блоб
всё

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

Где эти параметры включать? А то я выкомпилировал nvidia framebuffer support и все равно при старте пишет что не найденный модуль.тупая проперетарщина.

Самое интересное, что я удалил драйвера, а фреймбуфер остался

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

Решено.

Нашел причину, в ядре хитро был запрятанный модуль НУВО. Я его убрал и перекомпилировал. Все работает, но glxgear выдает низкую 60 ФПС. Почему так?

isodeska
() автор топика
Ответ на: Решено. от isodeska

в ядре хитро был запрятанный модуль НУВО. Я его убрал и перекомпилировал.
убрал и перекомпилировал.

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

echo 'blacklist nouveau' >> /etc/modprobe.d/blacklist.conf

об этом, кстати, написано в гентавики.

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

в menuconfig жми «/» и ищи параметры. там пишется как пройти к ним

punya ★★
()
Последнее исправление: punya (всего исправлений: 1)
Ответ на: комментарий от isodeska

емержни x11-misc/virtualgl, там тулза glxspheres - покруче и информативнее glxgears, заодно увидишь более лучший тест и какой именно драйвер/рендеринг используется.

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

оно явно упирается в частоту обновления
это нормально, запустишь без vblank и будет норм, может в твоей генте переменная по-другому назывется

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

UVESA даже нет в конфиге ядра. Я его вручную вписал, может поможет

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

Та не должно по-другому называться. У меня явно чего-то в ядре нехватает

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

Вообщем я запусти gtk конфиг нвидиа и там снял галочку на вертикальную синхронизацию. Теперь тест показывает 3000 фпс.

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

Скомпилировал поддержку драйверов в ядре (по мануалу)

Садись - «два». Готовся и приходи на пересдачу. или готовся в армию.

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

А тормоза в Steam так и остались. Но это уже притензии к Valve

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