Шаги для повторения: 1. Иметь утсановленную систему p10, полностью обновить все пакеты и ядро std-def apt-get update apt-get dist-upgrade update-kernel -a -f -y -t std-def 2. Установить пакеты apt-get install kernel-source-bbswitch kernel-headers-modules-std-def bumblebee dkms rpm-build dpkg eepm 3. Перезагрузить компьютер 4. Извлечь архив исходного кода bbswitch и попробовать скомпилировать bbswitch Ожидаемый результат: * компиляция успешна, возможность использования dkms есть Реальный результат: * компиляция завершается ошибкой ``` $ cp /usr/src/kernel/sources/bbswitch-0.8.tar.bz2 /tmp $ cd /tmp $ tar -xf bbswitch-0.8.tar.bz2 $ cd bbswitch-0.8 $ make make -C /lib/modules/5.10.186-std-def-alt1/build M="$(pwd)" modules make[1]: Entering directory '/usr/src/linux-5.10.186-std-def-alt1' CC [M] /tmp/bbswitch-0.8/bbswitch.o /tmp/bbswitch-0.8/bbswitch.c: In function ‘bbswitch_init’: /tmp/bbswitch-0.8/bbswitch.c:460:18: error: implicit declaration of function ‘proc_create’ [-Werror=implicit-function-declaration] 460 | acpi_entry = proc_create("bbswitch", 0664, acpi_root_dir, &bbswitch_fops); | ^~~~~~~~~~~ /tmp/bbswitch-0.8/bbswitch.c:460:16: warning: assignment to ‘struct proc_dir_entry *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 460 | acpi_entry = proc_create("bbswitch", 0664, acpi_root_dir, &bbswitch_fops); | ^ /tmp/bbswitch-0.8/bbswitch.c: In function ‘bbswitch_exit’: /tmp/bbswitch-0.8/bbswitch.c:490:5: error: implicit declaration of function ‘remove_proc_entry’ [-Werror=implicit-function-declaration] 490 | remove_proc_entry("bbswitch", acpi_root_dir); | ^~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors make[2]: *** [scripts/Makefile.build:286: /tmp/bbswitch-0.8/bbswitch.o] Error 1 make[1]: *** [Makefile:1832: /tmp/bbswitch-0.8] Error 2 make[1]: Leaving directory '/usr/src/linux-5.10.186-std-def-alt1' make: *** [Makefile:13: default] Error 2 ``` Дополнительная информация: * баг-репорт создан из-за ветки форума https://forum.altlinux.org/index.php?topic=47736.0 , где пользователь столкнулся с проблемами использования Bumblebee в p10 * при использовании bbswitch из Debian (https://packages.debian.org/bookworm/bbswitch-dkms) ошибок компиляции нет - см. ниже ``` $ cd /tmp $ wget http://ftp.debian.org/debian/pool/main/b/bbswitch/bbswitch-dkms_0.8-15_amd64.deb $ dpkg -x bbswitch-dkms_0.8-15_amd64.deb bbswitch $ cd bbswitch $ cd usr/src/bbswitch-0.8/ $ make make -C /lib/modules/5.10.186-std-def-alt1/build M=/tmp/bbswitch/usr/src/bbswitch-0.8 modules make[1]: Entering directory '/usr/src/linux-5.10.186-std-def-alt1' CC [M] /tmp/bbswitch/usr/src/bbswitch-0.8/bbswitch.o MODPOST /tmp/bbswitch/usr/src/bbswitch-0.8/Module.symvers CC [M] /tmp/bbswitch/usr/src/bbswitch-0.8/bbswitch.mod.o LD [M] /tmp/bbswitch/usr/src/bbswitch-0.8/bbswitch.ko make[1]: Leaving directory '/usr/src/linux-5.10.186-std-def-alt1' ``` похоже, что в Debian наложены патчи для обеспечения сборки на современных версиях ядра. Примените их, пожалуйста, в ALT. Насколько я понимаю, исправление этого бага позволит исправить баг https://bugzilla.altlinux.org/47060 и дать пользователям возможность полноценно пользоваться вариантом Nvidia Optimus старой реализации, требующей Bumblebee.
(Ответ для Nikolay Strelkov на комментарий #0) > Насколько я понимаю, исправление этого бага позволит исправить баг > https://bugzilla.altlinux.org/47060 Нет. Там всё в порядке. > и дать пользователям возможность > полноценно пользоваться вариантом Nvidia Optimus старой реализации, > требующей Bumblebee. Для bumblebee он не нужен. Он нужен только для полного отключения питания на 3D-контроллере, а bumblebee это умеет по завершении использования. Только для этого может быть полезен.
Проверил в p10 и sisyphus, ошибка воспроизводится. В p9 данная ошибка не воспроизводится. bbswitch успешно собирается # uname -r 5.4.250-std-def-alt1 # rpm -q gcc gcc-8-alt2.x86_64
Отдел тестирования, пожалуйста не подтверждайте баги со сборкой чего либо из пакетов kernel-source-. Уже не в первый раз такое происходит.
Я потратил время на анализ пакетов bbswitch у Debian и в ALT. Сейчас такими закрытиями багов вы отбиваете всяческую охоту помогать людям использовать ALT, который реально по инфраструктуре лучший в РФ. Пакет с DKMS из дебиановских исходников в Альте собирается. Может быть отделу тестирования этот вариант поближе рассмотреть? По промежуточному итогу оба сообщения об ошибках - bug 47061 и bug 47060 закрыты без полезного для конечного пользователя результата. Ну и на форуме в ветке https://forum.altlinux.org/index.php?topic=47736.0 топикстартер оказался "послан" использовать другие системы. Не очень дружелюбно. А главное я не понял - Bumblebee то сможет все-таки в ALT Linux работать или нет? Как тогда правильно оформить сообщение об ошибке по этой проблеме чтобы стал работать вариант реализации Nvidia Optimus - Legacy? Работающие устройства у пользователей все еще есть. Вы им реально Debian предлагаете использовать? Или может сразу closed-source астру (фактически ваших прямых конкурентов)?
Поскольку в Сизифе из этого пакета не собрано никаких модулей ядра, вешать баги о том, что они не собираются, не имеет смысла.
(Ответ для Nikolay Strelkov на комментарий #4) > Я потратил время на анализ пакетов bbswitch Только не связывайте сильно bbswitch и bumblebee. Их можно рассматривать совершенно отдельно.