У меня NVIDIA Optimus. Приобрёл ноут с ним сразу после того, как Optimus стал поддерживаться официально. Это был 2013 год и драйвер 319.xx.
В новости про драйвер была ссылка на инструкцию 1). Ядро 3.9, иксы 1.13, xrandr 1.4 2). В xorg.conf прописать это 3). В .xinitrc - это (но лучше в конфиг lightdm).
Таким образом, уже на второй день после покупки ноутбука, я сумел настроить Optimus.
И вот выходит драйвер 364.xx. KMS, GLvnd включен по умолчанию. У меня возникли вопросы, на которые я не смог найти очевидного ответа ни сразу после релиза драйвера, ни через месяц после него:
1). Я нашёл как включать KMS. В документации дана команда modprobe -r nvidia-drm ; modprobe nvidia-drm modeset=1
, следовательно в grub.cfg в строку инициализации ядра нужно добавить «nvidia-drm.modeset=1». Нужно ли это делать на Optimus, или это только для дискретки?
2). The NVIDIA DRM KMS implementation does not yet register an overlay plane: only primary and cursor planes are currently provided.
О том, что для курсора мышки есть plane, я догадывался, когда при 12309 на Radeon мышка дёргалась, а на NVIDIA - нет. А что такое overlay plane?
3). GLvnd. Я хочу чтобы всё рисовалось на Интеле, а NVIDIA была обесточена. И чтобы как только я запущу игру, чип от NVIDIA просыпался. GLvnd создан, чтобы дать нам это. Как это включить? Умеет ли драйвер modesetting - аппаратный рендеринг? Нужно ли ждать добавления поддержки GLvnd в Mesa, или можно использовать уже сейчас?
4). Для конфигураций Optimus, в драйвере 364.xx подняли требования к ядру. Было Linux 3.9, стало 3.13. Мне в CentOS 7 что, переходить на Bumblebee? Тут 3.10. Или нужные изменения бэкпортируют, как USB3 в шестёрку и ext4 в пятёрку?