Bug 31971

Summary: Мешает nouveau
Product: Sisyphus Reporter: Sergey V Turchin <zerg>
Component: mkimage-profilesAssignee: Антон Мидюков <antohami>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P3 CC: antohami, mike
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
x11: rework free/proprietary driver support none

Description Sergey V Turchin 2016-04-14 12:24:13 MSK
Нужна возможность исключить nouveau и включить nvidia.
При этом в инсталляторе нужно исключать оба, т.к. nvidia много весит.
Comment 1 Michael Shigorin 2016-04-14 14:25:50 MSK
Да, лучше бы вынести в переменную, а не выбирать сразу по use/x11/*.
Озадачился.
Comment 2 Michael Shigorin 2016-05-16 19:07:32 MSK
Created attachment 6725 [details]
x11: rework free/proprietary driver support

Сделал набросок; с такой реализацией
- use/x11/nvidia перекрывает предыдущий use/x11/nouvau,
- use/x11/fglrx -- предыдущий use/x11/radeon,
при этом возможны любые комбинации этих четырёх целей и вроде как отсутствует побочное воздействие на уже имеющиеся случаи их задействования.

Также xorg-drv-nouveau убран из pkg.in/lists/tagged/desktop+xorg.
Comment 3 Sergey V Turchin 2016-05-17 09:07:38 MSK
1. fglrx разве конфликтует с radeon? Или это временно?
2. Не вижу, где из install2 исключается nvidia.
3. Невозможно включить в дистрибутив все их сразу(вполне может быть нужно(я всегда включал radeon c fglrx)).
Comment 4 Michael Shigorin 2016-05-17 10:36:51 MSK
(In reply to comment #3)
> 1. fglrx разве конфликтует с radeon? Или это временно?
Насколько помню (но могу ошибаться, а стенда по видеокартам у меня теперь нет) -- если доступны оба модуля и нет явно заданной конфигурации, Xorg выберет первым radeon.

> 2. Не вижу, где из install2 исключается nvidia.
А она туда и не включается.

> 3. Невозможно включить в дистрибутив все их сразу(вполне может быть нужно
> (я всегда включал radeon c fglrx)).
Хорошо бы такие вещи в изначальной формулировке проговаривать -- ну да спасибо,
что хоть сейчас рассказал.

Что должно использоваться, если задаём оба, и должна ли логика отличаться от nvidia/nouveau (сейчас она аналогична)?
Comment 5 Sergey V Turchin 2016-05-17 10:47:02 MSK
(В ответ на комментарий №4)
> > 2. Не вижу, где из install2 исключается nvidia.
> А она туда и не включается.
Т.е. и не включалась? Ни nouveau ни nvidia?

[...]
Comment 6 Sergey V Turchin 2016-05-17 10:51:21 MSK
(В ответ на комментарий №4)
> Хорошо бы такие вещи в изначальной формулировке проговаривать
Я не уверен. Пользователи точнее расскажут к следующему минорному релизу.
Comment 7 Michael Shigorin 2016-05-17 12:03:58 MSK
(In reply to comment #5)
> > > 2. Не вижу, где из install2 исключается nvidia.
> > А она туда и не включается.
> Т.е. и не включалась? Ни nouveau ни nvidia?
Да.  См. INSTALL2_PACKAGES и SYSTEM_PACKAGES в логе сборки, ну или в образе.
Comment 8 Sergey V Turchin 2016-05-18 12:57:30 MSK
(В ответ на комментарий №7)
> > Т.е. и не включалась? Ни nouveau ни nvidia?
> Да.
Тогда ок.
Comment 9 Sergey V Turchin 2016-05-23 14:39:43 MSK
Есть смысл устанавливать их все.
Например, пользователь получил бы меньше проблем в случае
https://forum.altlinux.org/index.php?topic=36832.0
Comment 10 Michael Shigorin 2016-05-23 17:12:58 MSK
(In reply to comment #9)
> Есть смысл устанавливать их все.
Чтоб бегамайты просто на всякий лежали рядом и порой тянули обновления?

В дистрибутивах-то, может, и так -- хотя лучше бы нам инсталятор научить спрашивать и ставить соответственно, как мне кажется.  В тех случаях, когда выбор есть и более-менее гарантированно встанет перед пользователем (alterator-x11 в существующем виде решает всё-таки другую задачу).

Но это другая сказка.

Расскажи, как ты предлагаешь "устанавливать все" для случая, когда надо отгрузить с nvidia по умолчанию (особенно в livecd)?  Цель-то, которая сложит все пакеты для NVIDIA/AMD GPU, оформить несложно, но во время загрузки модулей выбраны будут предпочтительно свободные.
Comment 11 Sergey V Turchin 2016-05-23 18:42:40 MSK
(В ответ на комментарий №10)
> (In reply to comment #9)
> > Есть смысл устанавливать их все.
> Чтоб бегамайты просто на всякий лежали рядом и порой тянули обновления?
> В дистрибутивах-то, может, и так
Да.

> -- хотя лучше бы нам инсталятор научить
> спрашивать и ставить соответственно, как мне кажется.
Для этого нужно сначала спросить пользователя, понимает ли он, зачем его спрашивают.

>  В тех случаях, когда
> выбор есть и более-менее гарантированно встанет перед пользователем
> (alterator-x11 в существующем виде решает всё-таки другую задачу).
Именно эту задачу в нем решали(но я никогда на это не полагался).

> Но это другая сказка.
> 
> Расскажи, как ты предлагаешь "устанавливать все" для случая, когда надо
> отгрузить с nvidia по умолчанию (особенно в livecd)?
Для этого случая я исключаю nouveau из дистрибутива.

>  Цель-то, которая сложит
> все пакеты для NVIDIA/AMD GPU, оформить несложно, но во время загрузки модулей
> выбраны будут предпочтительно свободные.
Да. Только это, не мой вариант. Скорее, твой. https://forum.altlinux.org/index.php?topic=36832.0
Comment 12 Sergey V Turchin 2016-05-23 18:48:31 MSK
В общем, лично мне не хватает совместной установки fglrx и radeon, а остальное смотри сам.
Comment 13 Michael Shigorin 2016-05-24 11:54:13 MSK
(In reply to comment #11)
> > Расскажи, как ты предлагаешь "устанавливать все" для случая, когда надо
> > отгрузить с nvidia по умолчанию (особенно в livecd)?
> Для этого случая я исключаю nouveau из дистрибутива.

В mkimage-profiles подход "включать только нужное", когда возможно.
Чтоб не путаться между "здесь включили, здесь выключили, здесь опять".

> > Цель-то, которая сложитвсе пакеты для NVIDIA/AMD GPU, оформить несложно,
> > но во время загрузки модулей выбраны будут предпочтительно свободные.
> Да. Только это, не мой вариант. Скорее, твой.
Нет, это не мой вариант.  А твой как раз и пытаюсь понять точно.

Если хочешь nvidia + fglrx+radeon, прямщас (поверх m-p 1.1.91) можно сделать:

мой_дистрибутив: use/x11/3d ...
        @$(call add,THE_KMODULES,fglrx)
        @$(call add,THE_PACKAGES,fglrx_glx fglrx-tools)

> https://forum.altlinux.org/index.php?topic=36832.0
Это вообще проблема человека, который пытается применить привычные по дебиану методы в альте -- с ней стоит помогать, но решается такое в основном _не_ технически.
Comment 14 Sergey V Turchin 2016-05-24 12:56:33 MSK
(В ответ на комментарий №13)
> Если хочешь nvidia + fglrx+radeon, прямщас (поверх m-p 1.1.91) можно сделать:
> мой_дистрибутив: use/x11/3d ...
>         @$(call add,THE_KMODULES,fglrx)
>         @$(call add,THE_PACKAGES,fglrx_glx fglrx-tools)
Да. Я уже догадался. Просто, думал, кому-то захочется более общего решения. Ок.
 
> > https://forum.altlinux.org/index.php?topic=36832.0
> Это вообще проблема человека, который пытается применить привычные по дебиану
> методы в альте -- с ней стоит помогать, но решается такое в основном _не_
> технически.
Это твой выбор. Я лишь подсказал.
Comment 15 Michael Shigorin 2016-05-24 14:07:51 MSK
(In reply to comment #14)
> Просто, думал, кому-то захочется более общего решения.
Более общих решений тоже бывает много (или крышеломное), приходится собирать случаи из реальной жизни.  Ровно потому так и расспрашиваю.

> > > https://forum.altlinux.org/index.php?topic=36832.0
> > [...] решается такое в основном _не_ технически.
> Это твой выбор. Я лишь подсказал.
Какой выбор и что именно ты подсказал?  Извини, если туплю :)
Comment 16 Sergey V Turchin 2016-05-24 14:45:52 MSK
У пользователя была проблема на "твоём" дистрибутиве. Существенно облегчить ему решение можно было бы, если бы у него были установлены все драйвера.
Comment 17 Michael Shigorin 2016-05-24 14:58:14 MSK
(In reply to comment #16)
> У пользователя была проблема на "твоём" дистрибутиве.
"Система - ALT-Linux 7.0.5 Кентавр" -- не "мой" дистрибутив.
Подход "ставить всем всё" тоже не мой.
Хотя человеку от этого не легче.
Comment 18 Sergey V Turchin 2016-05-24 15:10:01 MSK
(В ответ на комментарий №17)
> "Система - ALT-Linux 7.0.5 Кентавр" -- не "мой" дистрибутив.
Не твой, но "твой". ;-)
Comment 19 Sergey V Turchin 2016-07-11 18:08:08 MSK
Различные "STAGE1_KMODULES_REGEXP,drm.*" еще тащат nouveau.
Comment 20 Sergey V Turchin 2016-08-24 15:59:17 MSK
*** Bug 32340 has been marked as a duplicate of this bug. ***
Comment 21 Sergey V Turchin 2016-08-24 16:00:56 MSK
Во 2-ю стадию еще откуда-то залазит xorg-drv-nouveau, из-за которого X-ы не стартуют.
Comment 22 Michael Shigorin 2016-09-09 16:09:06 MSK
---
Проблема была в отсутствии hwmon.ko
--- https://bugzilla.altlinux.org/show_bug.cgi?id=32340#c6
Comment 23 Антон Мидюков 2023-04-03 17:53:47 MSK
Ошибка на Сизифе, поэтому выпуск давно выпущенных дистрибутивов на p8 не блокирует.
Сейчас такой проблемы нет. Закрываю.
Comment 24 Sergey V Turchin 2023-04-05 14:56:56 MSK
Пробемы нет только у меня, т.к. закостылил. В основной mkimage-profiles этот костыль попасть не может.
Comment 25 Антон Мидюков 2023-04-05 15:02:08 MSK
(Ответ для Sergey V Turchin на комментарий #24)
> Пробемы нет только у меня, т.к. закостылил. В основной mkimage-profiles этот
> костыль попасть не может.

Спасибо. Тогда давай сформулируем проблему, чтобы я её попытался решить.
Модуль nvidia должен попасть в live, а nouveau в altinst? В initrd не должен попасть ни nvidia, ни nouveau. В установленную систему должен попасть только nvidia. Так?
Comment 26 Sergey V Turchin 2023-04-06 10:53:57 MSK
(Ответ для Антон Мидюков на комментарий #25)
> В initrd не должен попасть ни nvidia
Да, но конкретно это я закостылил в /usr/share/make-initrd/features/nvidia/config.mkиз пакета nvidia_glx_common(автор make-inird сообщил, что так нельзя делать по идеологии этого пакета).
Comment 27 Sergey V Turchin 2023-04-06 11:05:09 MSK
(Ответ для Антон Мидюков на комментарий #25)
> Модуль nvidia должен попасть в live
Да.

>, а nouveau в altinst?
Да. Я бы nvidia запихал, но это слишком жирно. Может, когда-то так и сделаю.

> В initrd не должен попасть ни nvidia, ни nouveau.
Да.

> В установленную систему должен попасть только nvidia. Так?
Да.

Это всё в одном загрузочном образе.
Comment 28 Антон Мидюков 2023-04-06 11:11:38 MSK
(Ответ для Sergey V Turchin на комментарий #26)
> (Ответ для Антон Мидюков на комментарий #25)
> > В initrd не должен попасть ни nvidia
> Да, но конкретно это я закостылил в
> /usr/share/make-initrd/features/nvidia/config.mkиз пакета
> nvidia_glx_common(автор make-inird сообщил, что так нельзя делать по
> идеологии этого пакета).

В mkimage-profiles тоже самое было сделано для iso в features.in/kernel/stage1/scripts.d/50-disable-nvidia

Хорошо, я сравню kworkstation в m-p и твоём форке. Постараюсь сделать, чтобы всё именно так и было (если это до сих пор не так):

(Ответ для Sergey V Turchin на комментарий #27)
> (Ответ для Антон Мидюков на комментарий #25)
> > Модуль nvidia должен попасть в live
> Да.
> 
> >, а nouveau в altinst?
> Да. Я бы nvidia запихал, но это слишком жирно. Может, когда-то так и сделаю.
> 
> > В initrd не должен попасть ни nvidia, ни nouveau.
> Да.
> 
> > В установленную систему должен попасть только nvidia. Так?
> Да.
> 
> Это всё в одном загрузочном образе.
Comment 29 Антон Мидюков 2023-04-10 14:29:54 MSK
(Ответ для Антон Мидюков на комментарий #28)
> (Ответ для Sergey V Turchin на комментарий #26)
> > (Ответ для Антон Мидюков на комментарий #25)
> > > В initrd не должен попасть ни nvidia
> > Да, но конкретно это я закостылил в
> > /usr/share/make-initrd/features/nvidia/config.mkиз пакета
> > nvidia_glx_common(автор make-inird сообщил, что так нельзя делать по
> > идеологии этого пакета).
> 
> В mkimage-profiles тоже самое было сделано для iso в
> features.in/kernel/stage1/scripts.d/50-disable-nvidia
> 
> Хорошо, я сравню kworkstation в m-p и твоём форке. Постараюсь сделать, чтобы
> всё именно так и было (если это до сих пор не так):
> 

Проблема есть - в initrd iso образа попадает kernel-modules-nouveau
Comment 30 Антон Мидюков 2023-04-10 19:25:50 MSK
(Ответ для Антон Мидюков на комментарий #29)
> (Ответ для Антон Мидюков на комментарий #28)
> > (Ответ для Sergey V Turchin на комментарий #26)
> > > (Ответ для Антон Мидюков на комментарий #25)
> > > > В initrd не должен попасть ни nvidia
> > > Да, но конкретно это я закостылил в
> > > /usr/share/make-initrd/features/nvidia/config.mkиз пакета
> > > nvidia_glx_common(автор make-inird сообщил, что так нельзя делать по
> > > идеологии этого пакета).
> > 
> > В mkimage-profiles тоже самое было сделано для iso в
> > features.in/kernel/stage1/scripts.d/50-disable-nvidia
> > 
> > Хорошо, я сравню kworkstation в m-p и твоём форке. Постараюсь сделать, чтобы
> > всё именно так и было (если это до сих пор не так):
> > 
> 
> Проблема есть - в initrd iso образа попадает kernel-modules-nouveau

Исправил:
https://git.altlinux.org/people/antohami/packages/?p=mkimage-profiles.git;a=commitdiff;h=71c4debac5fc1dfe6b27262003b56fb494c7b8ae;hp=2371794100bdf6c91763c477103c6cc465fe7638

Теперь достаточно добавить use/stage2/kms/nvidia
Comment 31 Repository Robot 2023-04-17 11:51:32 MSK
mkimage-profiles-1.5.4-alt1 -> sisyphus:

 Mon Apr 17 2023 Anton Midyukov <antohami@altlinux> 1.5.4-alt1
 - e2k: fix scripts 20-e2k-boot
 - e2k: add live-install feature support
 - x11-autologin: rename script 40-x11-autologin -> 60-x11-autologin
 - l10n: set LANG to /etc/sysconfig/i18n, /etc/locale.conf
 - deflogin: add variable DEFAULT_SESSION (for AccountsService)
 - tty: Allow any tty* variants, allow override TTYDEV, TTYRATE
 - alternatives: initial feature
 - live-install: set xterm as alternative to xvt (See ALT bug 45574)
 - install2: cleanup udev/rules.d/64-md-raid-assembly.rules
 - grub, syslinux: clean lowmem for menu item Install
 - base+rescue: add open-iscsi (Closes: 45792)
 - stage2: fix use/stage2/kms/nvidia (See ALT bug 31971)
 - kworkstation.mk: fix nvidia support in live (Closes: 31971)
 - kworkstation: add latest commits from zerg@
 - tar2fs: grub-install --uefi-secureboot for all platforms
 - initrd-bootchain: add kbd initrd feature
 - install2: do not cleanup wi-fi drivers
Comment 32 Sergey V Turchin 2023-04-18 11:52:04 MSK
У меня поле мержа с v1.5.4 проблем не возникло, но у меня ещё остались некоторые изменения, касающиеся nouveau, убирать которые я пока не буду.
Comment 33 Sergey V Turchin 2023-04-18 14:47:59 MSK
> некоторые изменения, касающиеся nouveau, убирать которые я пока не буду.
не рискну, хотел сказать. Как-нибудь позже эксперимент проведу.