SODIX пишет:GeForce GTS 450
старенькая. очень. очень...
Дело в том, что её поддержка выкинута из современных дров, а это сильно бьёт по вообще возможности завести плимут. В ней кастрированный оперативный буфер(ака биос) и вроде как отрезана возможность по горячей перезагрузке(крайне важная фича, которая позволяет на лету сбросить кеш и по новой инициировать драйвер, но конкретно по этой карте врать не буду, возможно и не так всё страшно).
В общем схема такова(сразу предупрежу, может всё зря) :
- сперва нужно выяснить, получает ли ядро EDID от моника.
Делается примерно так : https://kodi.wiki/view/Creating_and_usi … _xorg.conf
Нужные проги должны быть в репах.
Если edid нормально сгенерился(смотри по ссылке как) тогда можно пробовать его подсунуть в initramfs плимуту.
Ставь dracut(в репах должен быть, эта популярная плюшка).
Поправь его конфиг примерно так:
cat /etc/dracut.conf :
Консоль:
# PUT YOUR CONFIG IN separate files
# in /etc/dracut.conf.d named "<name>.conf"
# SEE man dracut.conf(5) for options
hostonly="yes"
use_fstab="yes"
force_drivers+="nvidia nvidia_drm nvidia_modeset drm_kms_helper drm"
dracutmodules+="plymouth gensplash bash kernel-modules rootfs-block udev-rules usrmount base fs-lib shutdown"
add_device+="/dev/dri/card0"
install_items+="/lib/firmware/edid/1920x1080_60.00.bin"
последняя строка это что? Во время загрузки динамического образа, могут потребоваться некоторые куски от системных инструментов, например я не пользую системдэ, но плимуту нужны пруфы! и он опрашивает состояния, вместо системдэ я ему подсовываю вот это /lib/elogind/elogind-uaccess-command(специальная заглушка от потериговских поделий), а в твоём случае может понадобиться сам системдэ, при запуске можно подловить, на что ругается плимут, и прописать нужный модуль, разделитель в строке просто пробел, плюс готовый edid моника, который нужно положить по указанному пути, у меня строка выглядит так :
install_items+="/lib/firmware/edid/1920x1080_60.00.bin /lib/elogind/elogind-uaccess-command"
add_device+="/dev/dri/card0" - тут вопрос только как твое ядро видит карту, можно подглядеть в выхлопе dmesg, или в том же lspci с опцией -v .
- после генеришь новый initramfs , предварительно сохранив старый(если он есть) на случай если не проканает.
Консоль:
# dracut -f
- после, обязательно нужно поправить конфиг grub'а! там вариантов как грязи, но для проверки можно и вручную, просто прописав новый пункт.
Вот пример что было:
Консоль:
menuentry 'Phoniex© GNU/Linux' --class phoniex__ --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-4b3ca340-4649-45c3-8f27-74cd597e64db' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd2,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd2,msdos2 --hint-efi=hd2,msdos2 --hint-baremetal=ahci2,msdos2 4b3ca340-4649-45c3-8f27-74cd597e64db
else
search --no-floppy --fs-uuid --set=root 4b3ca340-4649-45c3-8f27-74cd597e64db
fi
echo 'Loading Linux 5.5.9 ...'
linux /boot/vmlinuz-5.5.9 root=/dev/sdc2 ro video=VGA-0:1920x1080-24@60 drm.edid_firmware=VGA-0:/lib/firmware/edid/1920x1080_60.00.bin nvidia-drm.modeset=1 quiet splash acpi=noirq
}
просто этот же фрагмент тупо копипастим следующей строкой, немного меняем и добавляем:
menuentry 'Phoniex© GNU/Linux' --class phoniex__ --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-4b3ca340-4649-45c3-8f27-74cd597e64db' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd2,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd2,msdos2 --hint-efi=hd2,msdos2 --hint-baremetal=ahci2,msdos2 4b3ca340-4649-45c3-8f27-74cd597e64db
else
search --no-floppy --fs-uuid --set=root 4b3ca340-4649-45c3-8f27-74cd597e64db
fi
echo 'Loading Linux 5.5.9 ...'
linux /boot/vmlinuz-5.5.9 root=/dev/sdc2 ro video=VGA-0:1920x1080-24@60 drm.edid_firmware=VGA-0:/lib/firmware/edid/1920x1080_60.00.bin nvidia-drm.modeset=1 quiet splash acpi=noirq
}
menuentry 'Phoniex© GNU/Linux Whith Plymouth!' --class phoniex__ --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-4b3ca340-4649-45c3-8f27-74cd597e64db' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd2,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd2,msdos2 --hint-efi=hd2,msdos2 --hint-baremetal=ahci2,msdos2 4b3ca340-4649-45c3-8f27-74cd597e64db
else
search --no-floppy --fs-uuid --set=root 4b3ca340-4649-45c3-8f27-74cd597e64db
fi
echo 'Loading Linux 5.5.9 ...'
linux /boot/vmlinuz-5.5.9 root=/dev/sdc2 ro video=VGA-0:1920x1080-24@60 drm.edid_firmware=VGA-0:/lib/firmware/edid/1920x1080_60.00.bin nvidia-drm.modeset=1 quiet splash acpi=noirq
initrd /boot/initrd.gz
}
https://fedoraproject.org/wiki/Dracut или http://www.bog.pp.ru/work/dracut.html как работает dracut.
Заметь, у меня в строке ядра прописан режим драйвера и указан splash, это нужно для того, чтобы карта была сразу инициирована в нужном режиме, иначе после подгрузки драйвера невидии кеш будет сброшен и плимут получит false после чего переключится в текстовый режим. Сам dracut позволяет задавать любые имена для образа initrd.gz , поэтому прописывай фактическое имя своё.Это всё строго индивидуальная кю, начинай по малу, с самого простого, постепенно добавляя сущности, пока не заработает...
*** Добавлено: 27.05.2020 04:12:37 ***
отдельно как вообще работает плимут.
Первоначальный загрузчик(grub? lilo? ...) загружает на исполнение динамический образ системы в виртуальную память(initrd.gz), который, по сути, выполняет ровно то же самое что и при обычной(без initrd.gz) загрузке, но ! в самом образе содержится самостоятельный набор необходимых системных инструментов, в том числе и плимут, для того, чтобы была возможность ими пользоваться за долго до монтирования файловой системы. Если в момент распаковки образа в оперативную память плимут не обнаружит чего-то для своей работы, то он автоматически переходит в текстовый режим. Поэтому правильное создание образа initrd.gz залог правильной работы плимута.
...ПС\\\
по мне так это всё костыльная блажь, которая только удлиняет загрузку и засирает память, в своё время была куда более полезная и функциональная вещь fbsplash от генты, но давно почила в бозе, а плимут её кастрированная жалкая пародия... Всё умирает, все умирают, и мы умрём,.. но это не повод напиваться и страдать.
" si contuderis stultum in pila quasi tisanas feriente desuper pilo non auferetur ab eo stultitia eius " © Proverbs 27:22