- PVSM.RU - https://www.pvsm.ru -

Skype For Linux перестал поддерживать процессоры AMD старше 5 лет

Вот уже несколько месяцев, как вход в программу для владельцев многих AMD процессоров знаменуется белым окном, и никак не реагирующими пунктами меню. Насколько известно, пользователей Windows и Mac данная проблема пока не коснулась. Радость от выпуска нового Skype для GNU/Linux не была долгой…

Проблема была идентифицирована, как использование SSSE3 (не путать с SSE3) расширения, отсутствующего на предыдущих моделях AMD процессоров (не исключительная ситуация, например расширение SSE4a отсутствует на Intel).

На запуске Skype создает три процесса, и тот, что отвечает за рендеринг, очень быстро исчезает. Приаттачится к нему, чтобы посмотреть в чем дело, довольно просто:

$ gdb --pid=$(pgrep -f "skypeforlinux --type=renderer")

Дальнейшее исполнение процесса прерывается строками:

Thread 17 "skypeforlinux" received signal SIGILL, Illegal instruction.
[Switching to Thread 0x7fd117f91700 (LWP 12265)]
0x00007fd11c335bc1 in ?? () from /usr/share/skypeforlinux/resources/app.asar.unpacked/node_modules/slimcore/bin/slimcore.node
(gdb) x/5i $pc
=> 0x7fd11c335bc1:      pshufb %xmm1,%xmm0
   0x7fd11c335bc6:      movdqa 0x270(%rsp),%xmm1
   0x7fd11c335bcf:      cmp    $0x1,%eax
   0x7fd11c335bd2:      pand   %xmm0,%xmm1
   0x7fd11c335bd6:      por    0x130(%rsp),%xmm1

Можно лицезреть, как Skype пытается воспользоваться pshufb инструкцией, которую вам предоставляет SSSE3 (или не предоставляет, если вам не повезло).

При наличии исходного кода, данная проблема чинится в течении пары секунд — достаточно добавить опцию -mno-ssse3 в конфигурацию компилятора. Тем не менее, разработчикам Microsoft потребовалось пару месяцев, чтобы суметь отреагировать на такую одновременно простую и распространенную проблему. На 28 странице комментариев [1] к статье о выпуске Skype они наконец дали официальный ответ:

Could you please check if you have a processor without SSSE3 instruction set support? (mostly 5+ years old AMDs).
If that is the case, the system is unfortunately unsupported by Skype [2]. In any other case, please provide us more details, so we can investigate your issue further.

перевод:

Не могли бы вы, пожалуйста, проверить поддержку вашим процессором набора инструкций SSSE3?
В данном случае, система, к сожалению, не поддерживается Skype [2]. В любом другом случае, пожалуйста снабдите нас большими деталями, чтобы мы могли расследовать проблему.

По ссылке, данной работниками Skype, в табе "Skype for Linux system requirements", можно увидеть новое требование:

An Intel Pentium 4 processor or later that's SSE2 and SSSE3 capable

Забавно, что разработчики не только не догадались, как обойти проблему, но даже не сумели поставить обнаружение отсутствия инструкций при запуске Skype с целью показа окна о неподдерживаемой конфигурации, и элегантным выходом.

Пока неизвестно, что послужило причиной такого удара в спину пользователям, и будет ли этот удар нанесен по другим системам.

Данную проблему можно, однако, обойти, если использовать бета-версию SkypeForLinux. Но очевидно, что в долгосрочной перспективе отсутствие обновлений безопасности и патчей к возможным изменениям протокола делает это непривлекательным. Альтернативно, можно перейти на другие видео клиенты.

А что вы бы посоветовали пользователям? Дайте знать в комментариях.

Автор: justaguest

Источник [3]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/266845

Ссылки в тексте:

[1] 28 странице комментариев: https://answers.microsoft.com/en-us/skype/forum/skype_linux-skype_startms-skype_installms/skype-preview-the-most-expressive-skype-ever-is/fc717d17-03ad-4946-bb24-08b131da1840?auth=1

[2] unsupported by Skype: https://support.skype.com/en/faq/FA10328/what-are-the-system-requirements-for-skype

[3] Источник: https://geektimes.ru/post/294815/