Давно ничего не писал, что-то время не было. Но есть про что рассказать :-)
Пару месяцев назад я узнал, что на Linux можно теперь прям полноценно играть, почти без приседаний, мой друг/коллега купил SteamDeck и там прям хорошо работали игры предназначенные только для Windows, что бы вы понимали на SteamDeck установлен Arch Linux amd64.
У меня на тот момент был ноут Lenovo Thinkpad X1 Nano и мне стало интересно, как у него обстоят дела с играми, у него довольно мощный процессор
i7-1165G7, в итоге я запустил steam в докере(что бы не ставить кучу i3886 говна в основную ОС), пробросил все нужные устройства(ага, конечно, запустил с privileged) и пробросил необходимые файлы и сокеты для X и pulseaudio, в общем игры заработали, но работали они прям очень не очень, тот же Dead Space 2 шел идеально, а вот The Evil Within лагал жутко, и я решил купить геймерский ноут с дискретной видеокартой, как вы уже поняли выбор пал на
Asus ROG x13 flow 2022 GV301RE, про него и будет в дальнейшем речь.
Спойлеры: я с ним знатно намучился и постараюсь описать про все, на что я наступил.
Почему выбор пал на этот ноут:
- Он 13 дюймов и легкий почти как x1 nano — 1.2кг
- Дискретная видеокарта GTX3050TI
- Стоил не так дорого, 1.4$к
- У него топовый проц AMD Ryzen 9 6900HS (8 ядер, 16 потоков, 16 МБ кеш-памяти, до 4,9 ГГц)
- У него сенсорный экран, раскрывается на 360 градусов
- Офигенная автономность, в принципе можно кодить + серфить в инете ~8 часов
- FullHD экран
- Заряжается от powerbank
Я ИСПОЛЬЗУЮ DEBIAN TESTING, и все что я описываю работает на моей текущей ОС
1. Wifi+Bluethooth
Сразу скажу про стоковый проблемный модуль AW-XB530NF — WiFi + Bluethooth
Если у вас такой модуль, то меняйте его нафиг, это какое то недоразумение, в нем блутус, работает максимально отвратительно, радиос действия ничтожно мал, меньше 1 метра и только с определенной стороны ноутбука, так же модуль может наглухо залипнуть, что придется разрывать цепь питания 15 секундным нажатием кнопки power, что бы этот «модуль связи» ожил и как я потом вычитал, тут проблема не в Linux. Так же есть проблемы с работы WiFi, пинги могут проседать и теряться пакеты, сигнал приема тоже ужасный.
Я его заменил на Intel
AX210NGW, прекрасный недорогой модуль, без интеловского вендерлока, как оказалось у многих intel'ов есть завязка на чипсет, и на AMD работать не будет, так что будьте внимательны, читайте спецификацию.
Когда менял модуль у винта сорвало башню, это был эпичекский фейл, такой подставы я не ожидал и вроде как отвертки у меня нормальные
В итоге смог открутить только такой штукой, не знаю как называются, плоскорезы или чет что-то типа того
Чудом, пока я воевал с этим винтом ничего не повредил, своими кривыми руками
2. Звук Realtek ALC294
Звук на ноуте хороший, громкий качественный, но микрофон плохой, и если вы вдруг захотите использовать гарнитуру, например ear pods, придется использовать магию высшей ступени.
Вроде драйвер определяет, что в 3.5mm combo jack вставили наушники, но pipewire не видит никакого микрофона
.
Что бы заработал микрофон с гарнитуры нужно сделать следующее:
1. Создать файл /etc/modprobe.d/snd.conf
options snd-hda-intel model=auto,headset-mode-no-hp-mic patch=hda-jack-retask.fw,hda-jack-retask.fw,hda-jack-retask.fw,hda-jack-retask.fw
2. Создать файл /lib/firmware/hda-jack-retask.fw
[codec]
0x10ec0294 0x1043131f 0
[pincfg]
0x19 0x03a19020
[hints]
hp_mic_detect=false
3. Перезагрузиться и проверить заработал ли микрофон на наушниках.
4. Иногда может что-то клинануть и он будет делать вид что не работает, ну и не работать.
3. Дискретная видеокарта
В ноуте установленна Nvidia GTX 3050Ti, она классная, не особо горячая, но как оказалось приносит массу геморроя, если она просто есть.
Когда вы запускаете любую ХРОМОСОДЕРЖАЩУЮ(electron) программу vscode, slack, google-chrome, эта программа вызывает пробуждение дискретной видеокарты, потому что провоцирует сканирование устройств, вроде бы и что тут такого, а вот что — у вас резко повышается энергопотребление до 14W, плюс вы слышите подергивания звука во время просыпания устройства.
Как то я решил подписать DKMS драйвер nvidia, что бы включить security boot (рабочий ноут все же) и случайно загрузился без драйвера NVIDIA и какого было мое удивление, что ноут хорошо работает, все быстро, отзывчиво, энергопотребления почти нет и у меня зародился план, загружать драйвер nvidia только когда он мне действительно нужен — это кодирование видео и игры в которые я играю пару раз в неделю, и как оказалось позже можно вполне играть на встроенной видеокарте, но все же план в подргрузке драйвера решил реализовать.
Еще очень важное замечание, без загруженного драйвера NVIDIA, ноут стал прекрасно уходить в режим suspend и выходить из него, до этого было сплошное мучение, ноут мог проснуться с черным экраном и перезагрузить его можно было только через power button или sysrq + b.
Возможно такая проблема есть и на других ноутах при использование Linux, отключайте nvidia нафиг.
Для отключения автоматической загрузки драйвера NVIDIA нам потребуется
1. создать файл /etc/modprobe.d/nvidia-blacklist.conf
blacklist nouveau
blacklist nvidia
blacklist nvidia_drm
blacklist nvidia_modeset
blacklist nvidia_uvm
blacklist nvidia_current_drm
blacklist nvidia_current
2. создать еще один файл для X — /etc/X11/xorg.conf.d/01-noautogpu.conf
Section "ServerFlags"
Option "AutoAddGPU" "off"
EndSection
3. основная видеокарта /etc/X11/xorg.conf.d/amdgpu.conf
Section "Device"
Identifier "AMD Graphics"
Driver "amdgpu"
Option "TearFree" "true"
EndSection
4. Перезагружайтесь и проверяйте, X должны загрузиться, а вот при выполнение этой команды
lsmod |grep nvidia
должна быть пустота :)
Когда захотите поиграть просто загрузите драйвер руками выставите переменные и погнали
sudo modprobe nvidia_current
export __NV_PRIME_RENDER_OFFLOAD=1
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export __VK_LAYER_NV_optimus=NVIDIA_only
steam
Если нужно кодировать видео при помощи cuda, то загружаем
sudo modprobe nvidia-current-uvm
Выгружается драйвер так
sudo rmmod nvidia-current-uvm
Сегодня заметил, если выгрузить модуль
nvidia, то проц начинает кипеть, поэтому nvidia лучше не выгружайте и вроде как хром видеокарту не пробуждает, поэтому с этим вполне можно жить.
UPD: карта кажется не могла уснуть потому, что прокидывалась в докере в пробужденном состоянии
Еще рекомендую создать
nvidia-conf.path и
nvidia-conf.service, nvidia-conf.path будет следить если появится файл
/etc/modprobe.d/nvidia.conf то запустит nvidia-conf.service который его удалит.
Этот файл появляется при обновление ядер и dkms драйверов
/etc/systemd/system/nvidia-conf.path
[Unit]
Description=Monitoring of creation nvidia.conf file
[Path]
PathExists=/etc/modprobe.d/nvidia.conf
[Install]
WantedBy=multi-user.target
/etc/systemd/system/nvidia-conf.service
[Unit]
Description=Remove nvidia.conf file
[Service]
Type=oneshot
ExecStart=/bin/bash -c '/bin/rm -v /etc/modprobe.d/nvidia.conf'
[Install]
WantedBy=multi-user.target
systemctl enable nvidia-conf.path && systemctl start nvidia-conf.path
Позже продолжу дополнять эту заметку, глядишь кому поможет :-)
Комментарии ()