Система

Спеціально зібране ядро

Ядро linux-tkg із латками під BC-250, параметри завантаження та ядра, яких краще уникати.

Серцем оптимізацій SkillFishOS є ядро, зібране на замовлення під BC-250, на основі linux-tkg — рецепта від Frogging Family, який накладає латки, націлені на швидкодію та ігри.

Версія й латки

Ядро SkillFishOS має версію 7.2.4-skillfishos (серії 7.0 і 7.1 добігли кінця). Крім звичайних латок linux-tkg воно містить:

  • латку розблокування частот BC-250 (діапазон 350–2230 МГц);
  • латку 40 CU, яка вмикає всі обчислювальні блоки графіки;
  • власну латку RDSEED-quiet, що вгамовує галасливе повідомлення ядра на цьому залізі.

Пакунок ядра (образ + заголовки) публікується як випуск і закріплений (apt-mark hold), щоб оновлення Debian не підмінило його непридатним ядром. Це типове ядро в GRUB.

Параметри завантаження (cmdline)

Командний рядок ядра налаштовано так, і кожен параметр має точну причину:

mitigations=off
split_lock_detect=off
ttm.pages_limit=1572864
ttm.page_pool_size=1572864
Параметр Що робить
mitigations=off вимикає захисти від Spectre/Meltdown задля найбільшої швидкодії (на домашній консолі це прийнятний вибір)
ttm.pages_limit / ttm.page_pool_size стеля GTT, лічена сторінками по 4 КіБ: 1572864 = 6 ГіБ, тож Vulkan бачить ~13 ГіБ між VRAM і GTT (стає в пригоді для ШІ). Раніше це був amdgpu.gttsize, застарілий від ядра 7.x: коли задано обидва, драйвер слухає саме цей і каже про це під час кожного запуску
split_lock_detect=off вимикає виявляч split lock, який інакше дроселює процеси з невирівняними атомарними доступами (а так роблять ігри та емулятори)

А що з DisplayPort? HPD на BC-250 зламане (див. залізо), але SkillFishOS не використовує параметр video=DP-1:e: служба skillfish-dp-hotswap стежить за EDID і вмикає вихід назад, коли монітор повертається. Це охоплює й випадок, коли монітор вмикають після плати, чого сам лише параметр не робить.

Обчислювальні блоки наживо. SkillFishOS більше не використовує параметр amdgpu.bc250_cc_write_mode=3 (який закріплював 40 CU під час запуску й блокував зміни в роботі). Тепер система стартує на базовому значенні драйвера (24 CU), а служба піднімає 40 CU наживо під час запуску; змінити їх без перезавантаження можна з Tuner. Див. GPU і розгін.

Ядра, яких краще уникати

Не всі свіжі ядра добре працюють на цьому залізі. Зокрема серії 6.15.0–6.15.6 та 6.17.8–6.17.10 відомі проблемами, і їх краще обходити. SkillFishOS постачає власне перевірене ядро саме для того, щоб оминути ці регресії — див. Оновлення.

IOMMU

Як зазначено на сторінці про залізо, IOMMU на BC-250 вмикати не можна ніколи: він нестабільний. Ядро завжди стартує з вимкненим IOMMU.

Чому власне ядро, а не XanMod чи штатне

  • Штатне ядро Debian не має латок під BC-250 (розблокування частот, 40 CU) і тягне за собою згадані вище регресії.
  • linux-tkg спрощує накладання власних латок і вибір планувальників та параметрів, націлених на ігри.
  • Збирати його самим означає оновлювати ядро лише тоді, коли нова версія дає справжню користь, — і після перевірки на залізі.

Джерела