Фреймбуфер в Gentoo з uvesafb і nvidia-drivers без initrd, Alexey

Як відомо, при роботі з пропрієтарним драйвером nvidia-drivers неможливо використовувати фреймбуфер через nouveau або доступний в ядрі фреймбуфер для NV & uvesafb .

Однак, переважна більшість інструкцій описують налаштування uvesafb у поєднанні з initrd, що марно, якщо ядро ​​зібране без його підтримки.

Зрозуміло, необхідно виконати всі інструкції, які необхідні для роботи драйверів від NVIDIA без конфліктів:

У мене при вбудованому модулі DRM в dmesg можна було спостерігати помилки та конфлікт з драйвером nvidia, але як не дивно, у результаті все працювало. Коли я прибрав модуль, разом з ним зникли помилки.

Тут шлях зі звичайною інструкцією розходиться, оскільки ми не використовуємо initrd під час завантаження. У ядрі потрібно включити підтримку uvesafb у вигляді модуля:

І зібрати потрібні для uvesafb пакети:

Тепер прописуємо завантаження модуля uvesafb з параметрами:

Альтернативою module_uvesafb_args може бути створення конфіга в /etc/modprobe.d/ з такими самими параметрами:

Тут важливо встановити параметри, що підходять під вашу поточну конфігурацію системи:

  • mode_option — роздільна здатність та глибина кольору (також можна вказати частоту оновлення у вигляді 1920×[email protected] , але краще залишити автоматичне значення)
  • mtrr – доступний режим MTRR. Дізнатися, які режими доступні у файлі /proc/mtrr . Таблиця відповідності виглядає так:
  • scroll — режим прокручування. Типове значення - ywrap. Подивитись докладніше можна у документації.

Можна збирати ядро ​​та встановлювати його. Якщо у вас використовується окремий розділ під /boot , потрібно спочатку змонтувати його:mount /boot. Також, якщо були прибрані якісь модулі, а версія ядра не змінювалася, не зайвим може бути видалення встановлених в даний момент модулів з /lib64/modules/ . Зробити це можна, наприклад, так:

У /usr/src/linux виконуємо:

Тепер підправимо конфіг GRUB2 (для GRUB першої версії налаштування будуть інші):

До речі, тут ми заразом і в GRUB2 виставили високу роздільну здатність першим параметром. Залишається створити новий конфіг для GRUB2:

Не варто забувати і про те, що не зайвим буде перезбирати драйвера — особливо якщо змінилася версія ядра:

Відмонтуємо /boot та перезавантажуємося, щоб перевірити.

uvesafb
Gentoo uvesafb