LINUX.ORG.RU

А что ты сделал чтобы optimus заработал у тебя? Пoкажи xorg.conf

драйвер загружен, при старте xorg - черый экран

Всё правильно. Выгрузи и внеси в блеклист драйверы nvidia, удали xorg.conf, у тебя по крайней мере запустится графика.

eternal_sorrow ★★★★★ ()
Последнее исправление: eternal_sorrow (всего исправлений: 2)
Ответ на: комментарий от dmtrge

Конечно нет. А каким способом ты хочешь её завести? Есть минимум 4 разных способа запустить optimus, 2 из них не предполагают правку файла /etc/X11/xorg.conf.

На самом деле даже 5 способов, если считать полное отключение дискретной видеокарты.

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

PRIME и reverse PRIME, т.е. единственно официально поддерживаемые невидией способы, без Xorg.conf не работают. Остальные дают просадки производительности, и различные артефакты вроде тиринга.

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

Остальные дают просадки производительности, и различные артефакты вроде тиринга.

PRIME тоже даёт, не обнадёживайся. Ну и да, nvidia-xrun это тоже разновидность prime, но основной системный xorg.conf он не затрагивает.

Кстати, а libglvnd неподдерживаемый разве? Инструкции вроде на официальном сайте nvidia публиковались.

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

Да это неважно. libglvnd тоже требует особой настройки, из коробки оно не заработает.

я так и не смог запустить у себя, на legаcy дровах оно не работает, хоть у них и есть флаг libglvnd

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

Оно так у тебя и будет работать. С праймом - только nvidia, без - только intel.

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

Когда-то мне помогал этот конфиг.

Так и скажи: PRIME.

Можешь длиннее сказать: «хочу превратить свой ноутбук в настольный компьютер и сократить время работы от батареи до пары минут».

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

Uefi умеет отключать дискретную карту. Сделал костыль в виде"если Intel выставить xorg.conf1; если нет - xorg.conf2" ну и xinitrc поправил. Сейчас придётся тоже самое делать? Мне бы завести nvidia, остальное сам допилю.

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

Сделал костыль в виде"если Intel выставить xorg.conf1; если нет - xorg.conf2" ну и xinitrc поправил.

Ну это уже твоё дело. Я лишь рекомендую попробовать nvidia-xrun. Или, если ты смелый, ловкий, умелый, то libglvnd.

Мне бы завести nvidia, остальное сам допилю.

Для работы PRIME нужно после запуска Xorg выполнить пару команд xrandr. Куда ты их прописал? Уверен, что они отрабатывают?

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

Вкорячил его в systemd

#!/bin/sh
if lspci -mm | grep -q "NVIDIA"; then
        eselect opengl set nvidia
        eselect opencl set nvidia
        ln -fs /etc/X11/nvidia/00-videocard.conf /etc/X11/xorg.conf.d/00-videocard.conf
else
#elif lspci -mm | grep -q "HD Graphics 5600"; then
        eselect opengl set xorg-x11
        eselect opencl set ocl-icd
        ln -fs /etc/X11/intel/00-videocard.conf /etc/X11/xorg.conf.d/00-videocard.conf
fi

Сейчас попробую потыкать libglvnd

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

Ребут раз в неделю, ничего сложного в этом нет.

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

Хм, что-то пошло не так.

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo | grep vendor
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  151 (GLX)
  Minor opcode of failed request:  24 (X_GLXCreateNewContext)
  Value in failed request:  0x0
  Serial number of failed request:  39
  Current serial number in output stream:  40


cat /etc/X11/xorg.conf
Section "ServerLayout"
      Identifier "layout"
      Screen 0 "iGPU"
    EndSection

    Section "Device"
      Identifier "iGPU"
      Driver "modesetting"
    EndSection

    Section "Screen"
      Identifier "iGPU"
      Device "iGPU"
    EndSection


    Section "ServerLayout"
      Identifier "layout"
      Option "AllowNVIDIAGPUScreens"
    EndSection


Ну и xorg

[ 11478.212] (II) Loading sub module "glamoregl"
[ 11478.212] (II) LoadModule: "glamoregl"
[ 11478.212] (II) Loading /usr/lib64/xorg/modules/libglamoregl.so
[ 11478.215] (II) Module glamoregl: vendor="X.Org Foundation"
[ 11478.239] (II) modeset(0): glamor X acceleration enabled on Mesa DRI Intel(R) HD Graphics 4400 (HSW GT2)
[ 11478.239] (II) modeset(0): glamor initialized

dmtrge@gentoohost ~ $ __NV_PRIME_RENDER_OFFLOAD=1 glxinfo | grep vendor
server glx vendor string: SGI
client glx vendor string: Mesa Project and SGI
OpenGL vendor string: Intel Open Source Technology Center

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

у тебя явно что то не то в xorg.conf

почему у тебя 2 секции ServerLayout? где вторая секция Device для nvidia?

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

А что умеет блоб?

Показывать графику - умеет. Делать это на последних карточках geforce - нет. Ускорять 2D и 3D - умеет. Делать это с той же производительностью что и блоб - нет. Управлять питанием - зависит от карточки, но скорее нет чем да.

eternal_sorrow ★★★★★ ()
Последнее исправление: eternal_sorrow (всего исправлений: 1)
Ограничение на отправку комментариев: только для зарегистрированных пользователей