Включение в Rosa Linux OGL DRM для GPU Nvidia + OC, и для GPU других производителей
Включение в Rosa Linux OGL DRM для GPU Nvidia + OC, и для GPU других производителей
В последних драйверах nvidia в Linux рекомендуют включать DRM на одном GPU нвидии, теперь возможно задействовать эту опцию с установленным проприетарным драйвером. Пока все еще экспериментальная и возможны "падения", но уже нормально работает с новыми драйверами, правда пока не работает в SLI.
https://us.download.nvidia.com/XFree86/ ... E/kms.html
Для Intel и AMD должно быть по аналогии. На свободных тоже работает в основном.
еще немного информации по теме
https://en.wikipedia.org/wiki/Direct_Rendering_Manager
https://dri.freedesktop.org/wiki/
информация по UVM
http://www.hardwareluxx.ru/index.php/ne ... emory-.pdf
https://us.download.nvidia.com/XFree86/ ... E/kms.html
Для Intel и AMD должно быть по аналогии. На свободных тоже работает в основном.
еще немного информации по теме
https://en.wikipedia.org/wiki/Direct_Rendering_Manager
https://dri.freedesktop.org/wiki/
информация по UVM
http://www.hardwareluxx.ru/index.php/ne ... emory-.pdf
Последний раз редактировалось Harrys77 19 мар 2018, 15:05, всего редактировалось 7 раз.
Re: Включение DRM KMS в Linux GPU Nvidia
значит так, поковырял по всякому, разобрался более менее что к чему в Rose с драйвером nvidia. Инструкция по включению direct rendering on gpu nvidia (критика и замечания принимаются):
Первым делом естественно требуется обновление системы до актульного состояния, подключение репозиториев с допами, далее жедательно установить метапакеты task-codecs, task-c-devel, task-c++-devel, basesystem-build, установка проприетарного драйвера видеокарты, если есть или настройка "открытого" + по ключевым словам небходимо найти и установить доступные пакеты, для nvidiaдля "свободных" драйверов, для них нужно еще дополнительно установить все длячто имеем просто после установки чистой Fresh R10 Plasma 5 x86_64 и полного обновления системы, а так же установки драйвера nvidia-current и запуска XFdrakeт.е. drm есть как таковой, подгружается в модулях и его просто нужно включить, но еще можно предварительно прописать модуль nvidia-uvm, по мануалам что-то вроде расшаренной видеопамяти или типа того. В папке /etc/modules-load.d/ например кладем текстовый файл .conf с любым допустимым названием, внутри всего одна строчкавключаем его в консоли от рута или с sudo от юзерат.к. сам drm уже в наличии, нет смысла давать командунужно только задать ему модэсет, в консоли от suи добавить опцию nvidia-drm.modeset=1 в GRUB_CMD_LINUX_DEFAULT, лучше с помощью grub-customizer. Еще хочу отметить, что nouveau не отключается в реале, как положено по мануалам. После свежей установки проприетарного драйвера у меня такDriver Status: nouveau is active - зачем оно?
прописал modprobe.blacklist=nouveau в параметрах загрузки ядра.
после всех манипуляций само-собой перезагружаем систему. После reboot проверяем все ли наши модули корректно подгрузилисьзатем можно по PID посмотреть чего там было-то ))такой результат устраивает, nvidia-drm есть изначально.
Список проверочных утилит и команд:примерный ответдалее в кучу, команды известные
Первым делом естественно требуется обновление системы до актульного состояния, подключение репозиториев с допами, далее жедательно установить метапакеты task-codecs, task-c-devel, task-c++-devel, basesystem-build, установка проприетарного драйвера видеокарты, если есть или настройка "открытого" + по ключевым словам небходимо найти и установить доступные пакеты, для nvidia
Код: Выделить всё
cuda-opencl
Код: Выделить всё
vulkan
vdpau
Код: Выделить всё
drm
mesa
Код: Выделить всё
nvidia-uvm
Код: Выделить всё
# modprobe nvidia-uvm
Код: Выделить всё
modprobe nvidia-drm
Код: Выделить всё
modprobe nvidia-drm modeset=1

Код: Выделить всё
# systemctl status systemd-modules-load.service
● systemd-modules-load.service - Load Kernel Modules
Loaded: loaded (/lib/systemd/system/systemd-modules-load.service; static; vendor preset: disabled)
Active: active (exited) since Пт 2018-03-16 17:49:05 MSK; 27min ago
Docs: man:systemd-modules-load.service(8)
man:modules-load.d(5)
Process: 589 ExecStart=/lib/systemd/systemd-modules-load (code=exited, status=0/SUCCESShwinfo --gfxcard)
Main PID: 589 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 512)
CGroup: /system.slice/systemd-modules-load.service
Код: Выделить всё
# journalctl -b _PID=589
-- Logs begin at Чт 2018-03-15 23:49:11 MSK, end at Пт 2018-03-16 18:16:02 MSK. --
мар 16 17:49:01 rfr10_pc-G45M systemd-modules-load[589]: Inserted module 'binfmt_misc'
мар 16 17:49:05 rfr10_pc-G45M systemd-modules-load[589]: Inserted module 'nvidia_uvm'
Список проверочных утилит и команд:
Код: Выделить всё
# hwinfo --gfxcard
Код: Выделить всё
rfr10_pc-G45M ~ # dmesg | grep nvidia
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.9.76-nrj-desktop-1rosa-x86_64 root=UUID=594581ac-403f-4bfa-9f06-e0e14ea24a4d ro splash=silent logo.nologo quiet nomodeset modprobe.blacklist=nouveau nvidia-drm.modeset=1 resume=UUID=edfe8ed2-50a9-478c-b01a-5277f11fb17f
[ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.9.76-nrj-desktop-1rosa-x86_64 root=UUID=594581ac-403f-4bfa-9f06-e0e14ea24a4d ro splash=silent logo.nologo quiet nomodeset modprobe.blacklist=nouveau nvidia-drm.modeset=1 resume=UUID=edfe8ed2-50a9-478c-b01a-5277f11fb17f
[ 12.040376] nvidia: loading out-of-tree module taints kernel.
[ 12.040383] nvidia: module license 'NVIDIA' taints kernel.
[ 12.067938] nvidia-nvlink: Nvlink Core is being initialized, major device number 246
[ 12.379972] nvidia-uvm: Loaded the UVM driver in 8 mode, major device number 245
[ 12.831419] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 390.25 Wed Jan 24 19:29:37 PST 2018
[ 12.848648] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
[ 13.364675] nvidia-modeset: Allocated GPU:0 (GPU-7732e35a-2986-1440-59b0-d5bbabc4e22e) @ PCI:0000:01:00.0
rfr10_pc-G45M ~ # dmesg | grep drm
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.9.76-nrj-desktop-1rosa-x86_64 root=UUID=594581ac-403f-4bfa-9f06-e0e14ea24a4d ro splash=silent logo.nologo quiet nomodeset modprobe.blacklist=nouveau nvidia-drm.modeset=1 resume=UUID=edfe8ed2-50a9-478c-b01a-5277f11fb17f
[ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.9.76-nrj-desktop-1rosa-x86_64 root=UUID=594581ac-403f-4bfa-9f06-e0e14ea24a4d ro splash=silent logo.nologo quiet nomodeset modprobe.blacklist=nouveau nvidia-drm.modeset=1 resume=UUID=edfe8ed2-50a9-478c-b01a-5277f11fb17f
[ 12.090100] [drm] Initialized
[ 12.848648] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
[ 13.433764] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 13.433766] [drm] No driver support for vblank timestamp query.
rfr10_pc-G45M ~ # lsmod | grep nvidia
nvidia_drm 40960 1
nvidia_modeset 1093632 6 nvidia_drm
drm_kms_helper 155648 1 nvidia_drm
nvidia_uvm 749568 0
drm 360448 4 nvidia_drm,drm_kms_helper
nvidia 14327808 546 nvidia_modeset,nvidia_uvm
ipmi_msghandler 49152 1 nvidia
rfr10_pc-G45M ~ # modprobe -c | grep drm
options nvidia_drm modeset=1
alias pci:v000010DEd*sv*sd*bc03sc00i00* nvidia_drm
alias pci:v000010DEd*sv*sd*bc03sc02i00* nvidia_drm
alias pci:v000010DEd00000E00sv*sd*bc04sc80i00* nvidia_drm
alias pci:v00001234d00001111sv*sd*bc*sc*i* bochs_drm
alias pci:v00001234d00001111sv00001AF4sd00001100bc*sc*i* bochs_drm
alias symbol:__drm_atomic_helper_connector_destroy_state drm_kms_helper
...................................................
Последний раз редактировалось Harrys77 19 мар 2018, 01:35, всего редактировалось 6 раз.
Re: Включение в Rosa Linux OGL DRM для GPU Nvidia+OC и GPU других производителей
Но это еще не все )) важно еще настроить правильно xorg, поэтому я просто дам классический xorg.conf. Можно его использовать, восстанавливая из бэкапа если XFdrake потрет, или надергать из него секций с нужными параметрами и положить в
/etc/X11/xorg.conf.d/
в файл с названием типа 77-nvidia.conf, можно дать свое, расширение .conf обязательно.строчка
Option "metamodes" "1920x1080_60 +0+0 {ForceCompositionPipeline=On}; 1600x900 +0+0; 1280x720 +0+0"
как раз нужна чтобы задействовать всю мощь GPU для избавления от тирринга и тормозов в OGL.
строчка
Option "TripleBuffer" "true"
включает TripleBuffer ))
строчка
Option "IndirectMemoryAccess" "true"
делает доступной виртуальную видео память (UVM), которая обединяет видео и оперативку в одно виртуальное устройство. По умолчанию включен, но на всякий случай подкреплен вручную для UVM.исходя из мануала к этому пункту, можно увеличить видео фреймбуфер, командапокажет положение дел, а например командазадаст буфер равным 2МБ, вместо 1МБ в дефолте у меня. Тут все очень индивидуально похоже и нужно подбирать свой размер пошагово, т.к. с одинаковым размером кеша разные приложения работают с разной степенью глючности )). Например Dirt Rally работает при 256 МБ, а Civilization VI ну очень с трудом, вообще еле-еле бенч может запустить и все рывками.
строчка
Option "Coolbits" "12"
включает возможность менять частоты gpu и video ram, а так же скорость вращения вентилятора.Использовать опции разгона нужно осторожно! В случае перегрузки видеокарточка может сгореть и ответственность за это полностью лежит на пользователе. Добавляйте частоты по 5-10 за шаг, постепенно тестируя на устойчивость. Набор утилит для тестирования GL входит в пакет mesa-demos. Классически можно в консоли дать с отключенным vsync )))
+ 3D benchmarks for gpu
https://benchmark.unigine.com/superposition?lang=ru
https://benchmark.unigine.com/valley?lang=ru
https://benchmark.unigine.com/heaven?lang=ru
https://benchmark.unigine.com/tropics?lang=ru
http://www.geeks3d.com/dl/show/392
еще в Steam есть CS:Source, Metro Redux, Civilization VI и Dirt Rally последний, с бенчмарками.
/etc/X11/xorg.conf.d/
в файл с названием типа 77-nvidia.conf, можно дать свое, расширение .conf обязательно.
Option "metamodes" "1920x1080_60 +0+0 {ForceCompositionPipeline=On}; 1600x900 +0+0; 1280x720 +0+0"
как раз нужна чтобы задействовать всю мощь GPU для избавления от тирринга и тормозов в OGL.
строчка
Option "TripleBuffer" "true"
включает TripleBuffer ))
строчка
Option "IndirectMemoryAccess" "true"
делает доступной виртуальную видео память (UVM), которая обединяет видео и оперативку в одно виртуальное устройство. По умолчанию включен, но на всякий случай подкреплен вручную для UVM.
Код: Выделить всё
$ nvidia-settings -q PixmapCache ; nvidia-settings -q PixmapCacheRoundSizeKB
Код: Выделить всё
nvidia-settings -a 'PixmapCacheRoundSizeKB=2048'
строчка
Option "Coolbits" "12"
включает возможность менять частоты gpu и video ram, а так же скорость вращения вентилятора.
Код: Выделить всё
glxgear --fullscreen
+ 3D benchmarks for gpu
https://benchmark.unigine.com/superposition?lang=ru
https://benchmark.unigine.com/valley?lang=ru
https://benchmark.unigine.com/heaven?lang=ru
https://benchmark.unigine.com/tropics?lang=ru
http://www.geeks3d.com/dl/show/392
еще в Steam есть CS:Source, Metro Redux, Civilization VI и Dirt Rally последний, с бенчмарками.
Последний раз редактировалось Harrys77 20 мар 2018, 18:38, всего редактировалось 15 раз.
Re: Включение в Rosa Linux OGL DRM для GPU Nvidia+OC и GPU других производителей
В ближайшее время планирую попробовать настроить DRM на различных GPU Intel и на открытых драйверах. Если кому интересно - можно подключиться в любое время )) принцип включения на драйверах mesa похож на таковой у nvidia.
Что там у AMD - вопросом не владею пока, но теоретически должно быть похоже. Пробовал кто с новым проприетарным драйвером AMD?
Что там у AMD - вопросом не владею пока, но теоретически должно быть похоже. Пробовал кто с новым проприетарным драйвером AMD?