- PVSM.RU - https://www.pvsm.ru -
Вот уже несколько месяцев, как вход в программу для владельцев многих 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/
Нажмите здесь для печати.