Опубликован выпуск эмулятора Box64 0.3.0, предназначенного для запуска Linux-программ, собранных для архитектуры x86_64, на оборудовании с процессорами ARM64, RISC-V и Loongarch64. Проект уделяет большое внимание организации запуска игровых приложений и предоставляет возможность запуска Windows-сборок через wine и Proton. Исходные тексты проекта написаны на языке Си и распространяются под лицензией MIT...Подробнее: https://www.opennet.me/opennews/art.shtml?num=61510
Я хочу купить рисковый ноут и запускать на нём всякие бинарные slack/zoom/discord. Это по ходу, все проприетарные трояны что у меня есть.
Он же только для игр.
А Discord для геймеров! Что теперь, нельзя?
Геймерам можно остальным нет.
Не только для геймеров. Это заблуждение
Даже скажу так. Им пользуюсь, но ни разу не для игр.
Запусти на нем что нибудь с BattleEye, чтобы жизнь веселее стала.
а ссылочкой на рисковый ноутбук поделиться можешь?
https://deepcomputing.io/product/dc-roma-risc-v-laptop-ii/
Что-то типа такого, но ещё не купил. Ещё думаю...
очередная поделка с убогим цпу уровня малинки или эппловых армов
Как будто, у Огрызка низкий уровень Армов.
Оверпрайсная какая-то ерунда. https://aliexpress.ru/wholesale?SearchText=risc-v+laptop&g=y...
>Я хочу купить рисковый ноутХочешь - покупай!
Как говорится risc дело благородное. :-)
>Типовые системные библиотеки, включая libc, libm, GTK, SDL, Vulkan и OpenGL, подменяются на варианты, родные для целевых платформВот бы такую систему сделали для родного исполнения. Решило бы проблему ада зависимостей, когда альтернативно одарённые разработчики OpenSSL ломают совместимость постоянно по желанию левой пятки, а алтернативно одарённые разработчики AOSP гвоздями прибили jni-либы к версии OpenSSL, что приводит к тому, что перекомпилированная новая версия, подставленная на место старой, ломает всю систему и приводит к бутлупу, а если не подставлять, а только для одного приложения через переменные окружения, то оно просто отказывается стартовать. Решением были бы набор адаптеров, который позволяет использовать API старой версии, но реализацию из последней. Для того, чтобы сабж статьи мог работать, им пришлось бы нагородить такую систему и поддерживать коллекцию адаптеров. Титанический труд, если сделали. Если же нет, то все эти "подменяются на варианты, родные для целевых платформ" на практике работать не будет, так как нужно только для программ, которые невозможно (да, AOSP и TensorFlow тоже невозможно пересобрать где-либо, кроме компа уровня сборочной фермы, гуглаг всё сделал для того, чтобы держать руки населения подальше от его прэлести) пересобрать самим, что автоматически означает, что они слинкованы с схедерованы с устаревшими версиями либ, а не с теми, что есть в современных дистрах.
> все эти "подменяются на варианты, родные для целевых платформ" на практике работать не будет, так как нужно только для программ, которые невозможно ([...]) пересобрать самимНаоборот, подменяется то, что можно пересобрать. Писатель новости умные слова типа "целевая платформа" использует не понимая смысла терминов. Реально же, всё, что можно собрать на хосте и через адаптер подсунуть вместо .so с целевой платформы, подсовывается с хоста, чтобы не гонять через интерпретацию/jit.
С версиями же, я полагаю, они для таргета создают видимость что это библиотека для таргета с той же версией, которая стоит на хосте. Такой подход в 99% случаев можно реализовать чисто механически, посредством транслятора ABI.
> Решило бы проблему ада зависимостей, когда альтернативно одарённые разработчики OpenSSL ломают совместимость постоянно по желанию левой пятки, а алтернативно одарённые разработчики AOSP гвоздями прибили jni-либы к версии OpenSSL, что приводит к тому, что перекомпилированная новая версия, подставленная на место старой, ломает всю систему и приводит к бутлупу, а если не подставлять, а только для одного приложения через переменные окружения, то оно просто отказывается стартовать. Решением были бы набор адаптеров, который позволяет использовать API старой версии, но реализацию из последней.
По поводу этой проблемы, я б рекомендовал тебе не генерализовывать проблему раньше времени. До тех пор, пока у тебя проблемы только с OpenSSL, не надо выкатывать решение на воображаемый общий случай. Возьми и напиши обёртку для OpenSSL, которая будет экспортировать API из старых хидеров, но работать по-новому. Преждевременная генерализация -- корень проблемы оверинжиниринга.
>Наоборот, подменяется то, что можно пересобратьА я и не утверждал, что либы пересобрать нельзя. Я утверждал, что такая подмена либ нужна, когда саму основную программу нельзя взять и пересобрать. Либо потому, что пересборка очень затруднена и стоит много денег, либо потому, что исходника нет и пересобирать не из чего (ну разве что из выхлопа Hex Rays:).
>До тех пор, пока у тебя проблемы только с OpenSSL, не надо выкатывать решение на воображаемый общий случай. Возьми и напиши обёртку для OpenSSL, которая будет экспортировать API из старых хидеров, но работать по-новому.
Даже для одной пары версий это титанический труд. Для начала нужно идентифицировать конкретную версию. В принципе можно полазить по символам, авось что-нибудь там есть с именем версии. Но не факт, что эти ***** её под себя не пропатчили. Чтобы подменятелям либ совсем жизнь мёдом не казалась, и мыслишки закрадывались купить новый кусок ещё худшего хлама, а не плясать вприсядку.
И кстати, я пробовал таким же способом подменять libsqlite.so, но немного для другой цели (чтобы проги могли читать базы, сделанные на десктопе, созданные новой версией). С таким же результатом.
>По поводу этой проблемы, я б рекомендовал тебе не генерализовывать проблему раньше времени. До тех пор, пока у тебя проблемы только с OpenSSL, не надо выкатывать решение на воображаемый общий случай
Да я его и не потяну. Просто как увидел новость, то надежда поселилась, что вдруг сделали что-то вроде того, что мне надо. И тут не существует общих случаев, одни частные.
Вообще всю такую работу должны делать сами авторы OpenSSL, раз они API ломают. Вот Майкрософт подобным занимается для своих редистрибутейблов студии, а тут у нас опенсорс, и никто никому ничего не обязан, отсюда всякие хартблиды, продажи либ, внедрение бэкдоров якобы контрибьютерами, и прочий беспредел со стороны авторов либ.
В Box86/64 всё настолько завязано на версии библиотек из Ubuntu 18.04, что у меня на Debian 12 даже C++ Hello World не запустился.
Вот же название взяли, специально чтобы с 86Box путали?
>Добавлена переменная окружения BOX64_AVX, выставление 1 в которой включает поддержку AVX, BMI1, F16C и VAES, а в 2 - AVX2, BMI2, FMA, ADX, VPCLMULQDQ и RDRAND.Это должно диспетчеризоваться автоматически и в clang и gcc есть все необходимые аттрибуты для автоматической генерации кода диспетчеризации.
Так смысл в том, чтобы отключить в рантайме. Во многих случаях задействование avx нежелательно. Автоматически сгенерированный код диспетчеризации позволяет управлять? И всё равно зависит от компилятора и сборочной среды, много условий.
Мы так дойдем до эмулятора х86avx на х86 и наоборот.
Владельцы P-3 и ниже будут благодарны :)
>Автоматически сгенерированный код диспетчеризации позволяет управлять? И всё равно зависит от компилятора и сборочной среды, много условий.Да, позволяет. Один из вариантов использования: функция анотируется архитектурой, а тело функции - от программера. Если надо - может засунуть туда проверку. Если не надо - может не засовывать. Главное - что никакого ручного кода проверки CPUIDов и их аналогов для целого вороха архитектур.
Если совсем лениво, то есть другой вариант. Функция анотируется набором архитектур, для каждой архитектуры генерится свой оптимизированный под неё код. Но лучше всё-таки SIMDы ручками - обычно для них требуются хитрости и очень специфичные извращённые алгоритмы. Даниэль Лемир - большой спец по таким.
>И всё равно зависит от компилятора и сборочной среды, много условий.Есть только 2 компилятора: gcc и clang. Остальное - ффтопку. Потому что либо платная проприетарь, либо просто проприетарь с конской лицензией и наглым вендором, либо не поддерживает современный C++.
> Потому что либо платная проприетарьЕсли эта проприетарь работает лучше чем тот же шланг или гыцыцы - то почему бы и нет?
Вам шашечки или ехать?
Ехать, но не тачке с бомбой под днищем.
Розетта на минималках.
Вот бы оно ещё рекомпилировало, чтобы не на ходу эмулировать.
А DynaRec не оно?
Однозначно НУЖНО!
А на PowerPC запустить можно?
Личное мнение - изврат. Но наверно просто я уже давно не подросток. Х86 лучшее запускать именно на соответствующем железе и ОС, ну или забить на эти игры. Их же каждый год выпускают новые на любой вкус. Пишите под соответствующие архитектуры господа игроделы. А пользователи - покупайте и желательно отечественное, может и вам в такой компании захочется поработать.
Впрочем бывают же программы, которые на другую архитектуру не портировали, кроме игр. Вот это нужно порой.
Моим следующим компьютером может оказаться banana pi или старая x86 плата с базара.
Хах, ну у тебя хоть целый день есть электричество. И за окном небось ТЦК не проходит. Чего жаловаться?