воскресенье, 11 апреля 2021 г.

Открытие файлов кликом из konsole

Чтобы активировать эту функцию, идём в настройки профиля, 

Mouse -> Miscellaneous -> Underline files.
Дальше наводим мышь, ctrl+click.

Есть также настройка чтобы открывать файл просто кликом, без ctrl.

вторник, 6 апреля 2021 г.

pcie gpu passthrough и сон (работает!)

При проброшенной видеокарте иногда хочется отправить всю систему (и хост и гостевую ос) в сон.

Я не знал что будет, если так сделать. Решил попробовать.

И это работает!

Просто отправляем гостевую ос в sleep (в моём случае, гостевая ос - это тоже Arch Linux). После этого отправляем основную ос в sleep.

Далее, когда снова хотим включить всю систему, включаем комп. Хостовая ос загрузится, но гостевая - нет, будет чёрный экран. Но если в virtual machine manager нажать Reboot, то гостевая включит экран (у меня был lock screen) и продолжит работать так, как это и полагается, как будто это был обычный сон.

В общем, это очень удобно. Теперь, если делаем pci gpu passthrough, можно также полноценно пользоваться функцией suspend to ram.

https://forums.gentoo.org/viewtopic-t-1089466-start-0.html - также ссылка по теме.

воскресенье, 6 декабря 2020 г.

amdgpu pro виртуалка и Davinci Resolve

Сделал виртуалки с пробросом видюхи AMD RX 580 на linux.

На kubuntu 20.04.1 при установке amdgpu-pro вообще больше не грузится система. В recovery грузится, но там неправильное разрешение. Муть какая-то. И это называется поддерживаемый дистрибутив у amd. Фу. Не смог установиться amdgpu-pro-dkms. После полного обновления системы тоже не смог.

Решил попробовать с CentOS. Тоже огрёб проблем. Чтобы установить, скачиваем dvd iso, а не base, т.к. на base нет возможности выбрать локальный источник для установки.

Установить туда kde у меня пока не получилось, почему-то не ставится. Пытался сделать как сказано в этом видео. https://www.youtube.com/watch?v=VEqYvSwvW14 Говорило This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. Какого фига ему про какую-то подписку red hat надо не понимаю.

В общем, решил пока что с этим поганым gnome установить.

Установил amdgpu-pro, davinci-resolve (через run файл). При запуске dr жаловался что не может найти libGLU.so.1. Оказалось, надо ещё установить mesa-libGLU.

И всё равно dr падает в centos, зараза. Что-то видимо ему не нравится в драйверах. И ещё onboarding экран был не прогружен (всё белое окошко было).

Надо всё-таки ковырять с ubuntu, т.к. на centos 8 там вообще ядро ещё какое-то из 4-ых. Старьё. На ubuntu хоть 5-ое, но не самое свежее конечно.

суббота, 26 сентября 2020 г.

Заметки по виртуалке с пробросом видюхи

Моя аппаратная конфа была на видео.



0000:00:14:0 Intel Corporation 200 Series/Z370 Chipset Family USB 3.0 xHCI Controller
Intel'овский usb контроллер без проблем пробросился. При этом на хосте остаётся Asmedia'вский usb контроллер (к которому можно подключить хаб монитора и таким образом "размножить" кол-во оставшихся портов usb на хосте.

0000:04:00:0 ASMedia Technology Inc. ASM2142 USB 3.1 Host Controller
А вот Asmedia'вский usb контроллер не пробрасывается. Как только запускаю машину, она сразу паузится. И можно только выключить её через Force OFF.

Длинный pcie и втрой длинный pcie к сожалению в одной группе. В третий длинный вставить ничего не могу, т.к. не влезает туда видюха (из-за дна корпуса).



вторник, 22 сентября 2020 г.

USB 3.0 скорость как у USB 2.0

Странный hdd от ADATA. Подключал в порт usb 3.0 на компе - вообще не распозновался. Ковырялся в настройках bios в поисках xhci handoff - такой опции не нашёл на десктопе.

Потом обнаружил, что если вставить и подождать секунд 20-30, то он распознаётся.

Провёл тест скорости записи вот такой командой

 dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc status=progress

когда диск был в usb 2.0 и в usb 3.0. Забавно, но в usb 2.0 он показал скорость чуть выше чем даже в 3.0 (37,8 MB/s против 34,4 MB/s).

Очевидно, что диск в usb3.0 работает на скорости 2.0. Так и есть, в lsusb --tree
можно увидеть, что он распознался со скоростью 480M в обоих случаях:
    |__ Port 3: Dev 8, If 0, Class=Mass Storage, Driver=usb-storage, 480M

Переключил в asmedia порт, в lsusb --tree распознался как 5000M

Это, конечно, лучше. Но скорость выросла только до 66,4 MB/s. Т.е. где-то всего в два раза, а не в 10.

вторник, 15 сентября 2020 г.

Logitech F710 не работает вибрация в игре

 В linux в oddworld new and tasty на геймпаде Logitech Wireless Gamepad F710 не работает вибрация. Пробовал по-разному: геймпад переключал в DirectInput, в Xinput. В настройках игры как отключал вибрацию и галочку XInput, так и включал. Не работало никак.

При этом на винде в этой игре на этом геймпаде вибрации тоже нет, но на Dualshock 3 (через SCP toolkit) вибрация есть! Чтобы включить вибрацию, достаточно начать медитириовать.

Подозреваю, что в игре просто захардкодили поддержку именно на xbox360 геймпад. Потому что ds3 под него мимикрирует, и он работает на винде.

Значит надо проверить на Linux через xboxdrv чтобы F710 прикинулся контроллером от бокса360. И проверить, заработает ли вибрация.

А есть ли хоть одна игра, которая бы доказывала что вибрация на F710 вообще работает? Да. Например, Hitman 2, когда геймпад находится в режиме XInput.

xboxdrv на arch linux чего-то не собирается из aur пока.
После того как разберусь с установкой xboxdrv, продолжу по этой инструкции: https://steamcommunity.com/app/221410/discussions/0/558748653738497361/

Но как вариант, можно проверить то же самое на винде. Т. е. надо найти прпограммку, которая позволяет эмулировать настоящий ге1мпад от бокса 360. Думаю, это сработает.


На Linux в режиме эмуляции бокс контроллера в Big picture (https://steamcommunity.com/app/221410/discussions/0/558748822569010381/) вибрации нет всё равно ни на ds3, ни на f710, хотя в настройках контроллера в стиме такая опция присутствует. Странно.

Что интересно, игра воспринимает в этом режими виртуальный бокс360 контроллер как реальный, и настройка раскладки недоступна (серенькая). Это значит, что когда стим биг пикча не эмулирует бокс360, игра видит что геймпад не боксовый. Ну и правильно, он и не должен быть боксовым, он же логитеч. Просто с поддержкой xinput. P.S. А в стим биг пикчер он как раз и воспринимается как xbox360, а не как логитеч. Ну почему везде такая кривота?

 Игра кривая просто, зачем она ожидает именно 360. Т.е. меню-то вроде как и поддерживает разные варианты контроллеров, но по факту это не работает. Плюс ко всему, нафига вообще делать настройку переключения управления с клавиатуры или с геймпада. Можно же сделать было чтобы одновременно работало бы с разных вводов.

Вот здесь: https://overclockers.ru/blog/ZAMHome/show/21167/emuljacija_xboxkontrollera_dlja_gejmpadov_bez_apparatnoj_podderzhki_xinput_i_vsjo_chto_s_etim_svjazano прочитал что на unity играх метод x360ce работать не будет. И конкретно oddworld там в списке неподдерживаемых игр есть.

x360ce - это похожий вариант на xboxdrv, только для винды.

Чтобы запустить игру на русском, как на винде, надо просто в библиотеке стим пкм по игре, вкладка язык - выбрать русский.

https://youtu.be/F9waA67lDcc - тут чувак играл со стим контроллером на линуксе на nvidia. Тоже серенький пункт меню настроек раскладки геймпада (т.е. стим пад в стим биг пикча представляется игре всё также как бокс360 контроллер), глюки с непрорисовынными бегущими строками такие же. Т.е. это даже не от языка зависит - у него на английском игра. И скорее всего дело не в производителе видеокарт (т.к. думал что может это амд что намудрили).

В виндовой версии в настройках раскладки геймпада есть пункт "тип геймпада" сверху. Так вот, там работает везде вибрация, какой бы пункт не выбирал. А на линукс версии доступен только вариант Индивидуальный, и там вибрация не работает.

Если подключены два геймпада, то колдуя на одном геймпаде, вибрация на другой передаётся.

Ещё заметил, что в меню в геймспике нет вибрации при колдовании, но есть когда просто уже заходишь в игру (когда камера пролетает через черную дыру).

https://steamcommunity.com/app/314660/discussions/0/405691147603894239/ - тут написано, что F710 официально поддерживается.


https://steamcommunity.com/games/314660/announcements/detail/234522998930417128 - тут написано что XInput - чекбокс, позволяющий поддерживать официальные XINput устройства. Всё равно не очень понятно, т.к. она ни на что не влияет.

https://steamcommunity.com/app/314660/discussions/1/2950377478181689884/ - создал тему

А будет ли работать вибрация на linux ести ds3 через xboxdrv сделать mimick 360?

суббота, 1 августа 2020 г.

Меняем порядок загрузки через ipmitool

Как таковой, как поменять порядок загрузки я пока не нашёл. Есть возможность у supermicro просто сдампить текущий конфиг в текстовом виде (через supermicro update manager), потом его поменять, потом залить обратно.

Но я нашёл интересную штуку - можно загрузить сервер в нужный пункт единожды, типа как bootnext в efibootmgr. При этом это должно работать также и для legacy режима загрузки.
Есть нюансы - непонятно пока как выбрать конкретный диск для загрузки, например. Ну и то что это работает только на серверах, потому что на десктопах нет ipmi.

В мануале ipmitool нашёл про эту возможность аж в нескольких местах.

1) ipmitool chassis bootdev
2) ipmitool chassis bootparam - отличается от предыдущей только тем, что параметры с префиксом force_, типа как force_bios, тогда как в предыдущей - просто bios

3) ipmitool mc chassis bootdev <device> опции. Можно например посмотреть ipmitool mc или bmc chassis bootdev
4) ipmitool mc chassis bootparam set <device> опции. Здесь девайсы с префиксом force_, в отличие от предыдущей команды. А ещё есть опции, ассоциированные с  очисткой BMC Boot Valid Bit. можно очищать valid bit при перезагрузке по питанию, по кнопке reset или мягкой перезагрузке, по таймауту, по какому-то PEF. Но и вообще, кто и где смотрит этот value bit не совсем понятно пока. Догадываюсь, что его смотрит прошивка системы при загрузке, и если выставить устройство в bootnext, и наступит какое-то условие, например, перезагрузка по кнопке, то если bootnext был выставлен с соответствующим параметром сброса, то система не будет учитывать это устройство в качестве приоритетной прогрузки. Но я это не проверял.




При выполнении вариантов 3 и 4 было написано  Invalid mc/bmc command: chassis
Видимо, там поехало форматирование. Либо я скосил. Но параметры описаны действительно в четырёх местах. Возможно второй раз - это более подробное уточнение первого. В общем, посмотреть повнимательнее.

Кстати, вот что выдало bootdev none options=help
Legal options settings are:
       help:   print this message
       valid:  Boot flags valid
       persistent:     Changes are persistent for all future boots
       efiboot:        Extensible Firmware Interface Boot (EFI)
       clear-cmos:     CMOS clear
       lockkbd:        Lock Keyboard
       screenblank:    Screen Blank
       lockoutreset:   Lock out Resetbuttons
       lockout_power:  Lock out (power off/sleep request) via Power Button
       verbose=default:        Request quiet BIOS display
       verbose=no:     Request quiet BIOS display
       verbose=yes:    Request verbose BIOS display
       force_pet:      Force progress event traps
       upw_bypass:     User password bypass
       lockout_sleep:  Log Out Sleep Button
       cons_redirect=default:  Console redirection occurs per BIOS configuration setting
       cons_redirect=skip:     Suppress (skip) console redirection if enabled
       cons_redirect=enable:   Suppress (skip) console redirection if enabled

Интересно. Так можно ли всё-таки задать на постоянку свой boot order с опцией persistent?
И в режиме uefi можно загрузиться с опцией efiboot? Попробовал
 chassis bootdev disk options=efiboot
Но эффекта не дало. Всё равно грузится в legacy. Возможно, надо в bios включить uefi.
Нашёл причину - это баги в ipmitool:
https://bugs.launchpad.net/ironic/+bug/1611306
https://github.com/ipmitool/ipmitool/issues/163
Фиксы уже в коде, но новую версию пока не релизнули. Пока что можно обойти это, передавая байты (которые ipmitool как раз генерирует неправильно):
ipmitool -I lanplus -H $IPMI_HOST -U $IPMI_USER -f $IPMI_PASSWORD_FILE raw 0x00 0x08 0x05 0xa0 0x08 0x00 0x00 0x00 # загрузиться по сети в режиме EFI

У меня получилось загрузиться в uefi cdrom (в arch linux iso через ipmi virtual media) когда я последовательно выполнил сначала:
   ipmitool -I lanplus -H $IPMI_HOST -U $IPMI_LOGIN -f $IPMI_PASSWORD_FILE chassis bootdev cdrom options=persistent,efiboot - тут я думал что уже должно загрузиться, но нет.
а потом:
  ipmitool -I lanplus -H $IPMI_HOST -U $IPMI_LOGIN -f $IPMI_PASSWORD_FILE chassis bootdev cdrom
  ipmitool -I lanplus -H $IPMI_HOST -U $IPMI_LOGIN -f $IPMI_PASSWORD_FILE chassis power reset

И на моё удивление, загрузилось в uefi cdrom. Правда долго загружалось как-то, с несколько раз появлением заставки. Но это обычное дело. На плате X9SCL на Supermicro проверял.

Еще кстати непонятно, что за request Safe Mode и Force boot from Diagnostic Partition.
Вот тут в комментах https://ma.ttwagner.com/ipmi-trick-set-the-boot-device/ нашёл что можно использовать такие команды: chassis bootparam get 5
В мануале есть вот это:
get <param #>

                                  Get boot parameter. Currently supported values for <param #> are:

                                  0 - Set In Progress

                                  1 - Service Partition Selector

                                  2 - Service Partition Scan

                                  3 - BMC Boot Flag Valid Bit Clearing

                                  4 - Boot Info Acknowledge

                                  5 - Boot Flags

                                  6 - Boot Initiator Info

                                  7 - Boot Initiator Mailbox
Но команда get 2 и get 1 мне ничего про service partition не выдали на supermicro серваке. Unknown было.

https://man.archlinux.org/man/ipmitool.1 - вот тут появился нормально отформатированный man