Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
eepm
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vladislav
eepm
Commits
3d921f37
Commit
3d921f37
authored
Apr 01, 2024
by
Vladislav
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Вернул отдельные пакеты для Cuda в switch-to-nvidia.sh
Добавил скрипты выбора для установки пакетов Добавил скрипт выбора для фикса неизвестного монитора.
parent
1fa53200
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
63 additions
and
8 deletions
+63
-8
switch-to-nvidia.sh
prescription.d/switch-to-nvidia.sh
+63
-8
No files found.
prescription.d/switch-to-nvidia.sh
View file @
3d921f37
...
...
@@ -67,17 +67,72 @@ if [ -e "/etc/X11/xorg.conf" ] && [ "$(grep -E 'nouveau|fbdev|vesa' "/etc/X11/xo
fi
epm
install
--skip-installed
nvidia-settings nvidia-vaapi-driver vulkan-tools libvulkan1 nvidia-modprobe
\
nvidia-xconfig nvidia-cuda-toolkit
# Создаем список дополнительных пакетов и их описания. Все новые пакеты добавлять в этот список.
declare
-A
packages
# Добавлять или удалять пакеты необходимо тут
packages
=(
[
"nvidia-settings"
]=
" nvidia-settings — это инструмент для настройки видеокарт NVIDIA."
[
"nvidia-vaapi-driver"
]=
"nvidia-vaapi-driver — это драйвер для аппаратного декодирования видео на видеокартах NVIDIA."
[
"vulkan-tools"
]=
"vulkan-tools — это набор инструментов для работы с Vulkan API."
[
"nvidia-modprobe"
]=
"nvidia-modprobe — это утилита для загрузки модулей ядра NVIDIA."
[
"nvidia-xconfig"
]=
"nvidia-xconfig — это инструмент для управления конфигурацией X server для видеокарт NVIDIA."
[
"libvulkan1"
]=
"libvulkan1 — это библиотека, которая предоставляет API Vulkan 1.x."
)
install_list
=()
# Для каждого пакета спрашиваем пользователя, хочет ли он его установить
for
package
in
"
${
!packages[@]
}
"
;
do
echo
"
${
packages
[
$package
]
}
"
read
-p
"Установить
$package
? [Y/n] "
answer
answer
=
${
answer
,,
}
# Преобразуем ответ в нижний регистр
# Если ответ 'y' или пустой (вариант по умолчанию), то добавляем пакет в список для установки
if
[[
$answer
==
'y'
||
$answer
==
''
]]
;
then
install_list+
=(
$package
)
else
continue
fi
done
# Отдельно спрашиваем про пакеты для поддержки Cuda. Аналогично установке пакетов nvidia_glx_libs_XXX.XX.
read
-p
"Вы хотите установить дополнительные пакеты для поддержки Cuda? [Y/n] "
answer
answer
=
${
answer
,,
}
if
[[
$answer
==
'y'
||
$answer
==
''
]]
;
then
cuda_list
=(
"ocl-nvidia"
"libcuda"
"libnvidia-encode"
"libnvidia-ngx"
"libnvidia-opencl"
"libcudadebugger"
"libnvcuvid"
"libnvidia-api"
"libnvidia-fbc"
"libnvidia-ml"
"libnvidia-nvvm"
"libnvidia-ptxjitcompiler"
"libnvoptix"
"nvidia-smi"
)
install_list+
=(
$cuda_list
)
else
continue
fi
# Если список для установки не пуст, то устанавливаем пакеты
if
[
${#
install_list
[@]
}
-ne
0
]
;
then
echo
"Устанавливаем пакеты:
${
install_list
[@]
}
"
epm
install
--skip-installed
${
install_list
[@]
}
else
echo
"Вы не выбрали ни одного дополнительного пакета для установки."
fi
epm play i586-fix
# Убирает «Неизвестный монитор» в настройках дисплеев в сессии Wayland
# Данное решение приводит к невозможности входа в tty, к отсутствию вывода логов во время загрузки (Если не включён Plymouth)
if
!
grep
"initcall_blacklist=simpledrm_platform_driver_init"
/etc/sysconfig/grub2 &>/dev/null
;
then
# Делаем копию
cp
/etc/sysconfig/grub2 /etc/sysconfig/grub2.epmbak
sed
-i
"s|^
\(
GRUB_CMDLINE_LINUX_DEFAULT='.*
\)
'
\$
|
\1
initcall_blacklist=simpledrm_platform_driver_init'|"
/etc/sysconfig/grub2
# У этого фикса есть плюсы и минусы. Лучше предложить его применение на этапе установки.
echo
"FIX: убираем «Неизвестный монитор» в настройках дисплеев в сессии Wayland"
echo
"Внимание! Данное решение приводит к невозможности входа в tty, к отсутствию вывода логов во время загрузки (Если не включён Plymouth)."
read
-p
"Вы хотите применить FIX? [Y/n] "
answer
answer
=
${
answer
,,
}
if
[[
$answer
==
'y'
||
$answer
==
''
]]
;
then
if
!
grep
"initcall_blacklist=simpledrm_platform_driver_init"
/etc/sysconfig/grub2 &>/dev/null
;
then
echo
"Создание копии /etc/sysconfig/grub2..."
cp
/etc/sysconfig/grub2 /etc/sysconfig/grub2.epmbak
echo
"Добавление initcall_blacklist=simpledrm_platform_driver_init в параметры ядра..."
sed
-i
"s|^
\(
GRUB_CMDLINE_LINUX_DEFAULT='.*
\)
'
\$
|
\1
initcall_blacklist=simpledrm_platform_driver_init'|"
/etc/sysconfig/grub2
fi
else
continue
fi
# Активируем службы управления питания NVIDIA, без этих служб будет некоректно работать уход в сон
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment