LINUX.ORG.RU
ФорумGames

Stray на FreeBSD. Котик двигается плавно

 , , ,


2

2

Я уже говорил, что у меня Stray работает на фряхе?

Как и возможно любая игра теперь

Заодно и нетфликс и виндузячяя проприетарщина.

Потому что теперь есть окружение винды, которое даже эмулировать необязательно))) — Windows 10, запущенная внутри bhyve.


Железо виртуалки:

GPU: Radeon RX 6600;

CPU: AMD Ryzen 3 (4 ядра);

RAM: 16 Gb;

USB: Обычная мышь logitech;

USB: ГЕЙМПАД REDRAGON SATURN USB XINPUT-PS3.


Скриншот с котиком (урезан для экономии качества и размера файла)

Перемещено hobbit из screenshots

★★★★★

Последнее исправление: hobbit (всего исправлений: 3)

Что-то гифка совсем не плавная. А кадров сколько в секунду?

У меня Radeon RX 560X + Intel Core i5-9400T + 16GB RAM, но Stray заставил попотеть мою видеокарту под оффтопиком. Я так понял, что мех кота рендерится там как-то реалистично и не нашёл, как это отключить. Было плавно, но шумно. Уж как это под Linux или FreeBSD идёт - я даже не знаю.

mshewzov ★★★
()
Ответ на: комментарий от liathit

Это как без эмуляции?

Элементарно, Ватсон!

Я пробрасываю отдельное оборудование (например, монитор, клаву/мышь, геймпад) в виртуалку bhyve. Поэтому входить в неё необязательно через VNC/RDP, оно работает на вот этом проброшенном. Таким образом требуется минимум телодвижений.

Clockwork ★★★★★
() автор топика
Ответ на: комментарий от mittorn

В виртуалке тоже фряха?

Здесь используется окружение винды. Но винда не на хосте, а в очередном слое эмуляции. Чем это хуже вайна? Структура такая:

FreeBSD > bhyve > Windows

Clockwork ★★★★★
() автор топика
Ответ на: комментарий от mshewzov

Что-то гифка совсем не плавная.

Потому что полная версия не влезла, наверное )) Кадры не проверял, это внутри винды нужно, может позже проверю.

Stray заставил попотеть мою видеокарту под оффтопиком.

У меня пока больше в проц упирается. На самом деле по качеству видео у меня вопросов нет.

Clockwork ★★★★★
() автор топика
Ответ на: комментарий от mittorn

На скрине есть фряха или гипервизор?

Но ведь в этом и суть данного подхода – запуск без эмуляции с отдельной видеокартой. Если я покажу эту игру на экране с гипервизором, то это будет означать, что используется «базовый видеоадаптер от microsoft».

Если я выложу скрин эмулируемого окружения (может даже с этой игрой) на экране с фряхой/гипервизором, это сделает его не оффтопом?

Многие выкладывали скриншот с игрой на весь экран, хоть и запущенной на линуксах. Почему никто не доказывал, что игра у них запущена на линуксах, а не на винде?

Оффтоп

Кнопки удалить не нашел, сори.

Clockwork ★★★★★
() автор топика
Последнее исправление: Clockwork (всего исправлений: 1)
Ответ на: комментарий от Clockwork

Да и вообще использовать на amd виндовый драйвер (тем более на rdna2) - такое себе, он давно заметно уступает radv. А radv ещё пока не умкет работать поверх виндового amdkfd, drm на винду тоже не портировали. Не лучше ли нативно гонять на фряхе? Я просто не вижу смысла тут в виртуалке

mittorn ★★★★★
()
Ответ на: комментарий от mittorn

Не лучше ли нативно гонять на фряхе?

Не лучше. Не любой софт есть на фряхе (так можно сказать вообще про любую ОС). Например, Stray просто не запустится на фряхе из-за фряшной реализации мультилиба: Для Wine amd64+i386 должно быть установлено два разных пакета, которые не могут быть установлены одновременно по причине конфликта путей.

Я просто не вижу смысла тут в виртуалке

Я от виртуалки получаю следующие преимущества:

  • Не нужно делать перезагрузку в дуалбут>Windows или использовать другой ПК для игр. А это такая нормальная экономия времени.
  • Можно спокойно перетаскивать файлы между виндой и фряхой без перезагрузок в дуалбут.
  • Необязательно эмулировать виртуалку.
  • Я делаю минимум телодвижений для работы с виртуалкой.
  • Виртуалка безопаснее, чем запуск чего-то там на хосте.
Clockwork ★★★★★
() автор топика
Ответ на: комментарий от Clockwork

Хост с фряхой никак не использует эту видеокарту, она проброшена напрямую в виртуалку

А, вот оно что. Тогда фраза «у меня Stray работает на фряхе» некорректна, т.к. Stray не работает на фряхе, а она работает в винде, которая крутится в виртуалке на фряхе с проброшенной в виртуалку видеокартой. Честно говоря, принципиальной разницы, что игра так в винде запущена, что через слой эмуляции, получается нет.

mshewzov ★★★
()
Ответ на: комментарий от mshewzov

Результат важнее процесса.

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

Clockwork ★★★★★
() автор топика
Ответ на: комментарий от Clockwork

Для Wine amd64+i386 должно быть установлено два разных пакета, которые не могут быть установлены одновременно по причине конфликта путей.

какие-то детские проблемы, не ужели wine нельзя собрать нормально? В любом случае мог бы попытаться задействовать недавно появившуюся поддержку Wow64. И вообще, stray точно нужен сразу и i386 и amd64 процесс?
Ну на худой конец виртуалка/контейнер с линапсом решила бы проблему

mittorn ★★★★★
()
Ответ на: комментарий от mittorn

не ужели wine нельзя собрать нормально?

У меня wine собран нормально. И у меня их несколько ^^

задействовать недавно появившуюся поддержку Wow64.

Зачатки WoW64 — это пока экспериментально, к повседневному использованию не рекомендуется, даже на линуксах. А во фре тем более. Еще даже Wine 8 не завезли.

И вообще, stray точно нужен сразу и i386 и amd64 процесс?

Да, для Stray нужен этот процесс.

онтейнер с линапсом решила бы проблему

На линуксах оно неготово. Поддерживаемые платформы – Windows, PS4, PS5, macOS, Xbox. Или мне через линуксовый вайн его пытаться запускать? Костыли ради костылей.

Clockwork ★★★★★
() автор топика
Последнее исправление: Clockwork (всего исправлений: 1)
Ответ на: комментарий от Clockwork

Результат важнее процесса.

С точки зрения практической пользы - да. Но чисто технически это не запуск игры на фряхе. А я было подумал, что это он и есть. Ведь нюансы в посте не описаны. Громкий заголовок получается.

mshewzov ★★★
()

Прикольно, неужели передача картинки через VNC даже локально стала настолько быстрой что хватает для 3D-графики?

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

alex0x08 ★★★
()
Ответ на: комментарий от Clockwork

У меня wine собран нормально. И у меня их несколько ^^

Тогда на собранном нормально и запускай. Но ты говоришь что у тебя он не может 32 и 64 процессы. Кстати, зачем они синглплеерной игрушке одновременно?

mittorn ★★★★★
()
Ответ на: комментарий от Clockwork

Я бы оставил как тему для форума, поскольку виртуализация всё-таки не совсем офтопик. Но хотелось бы почитать подробнее, как это осуществляется:

Я пробрасываю отдельное оборудование (например, монитор, клаву/мышь, геймпад) в виртуалку bhyve.

Вдруг FreeBSD действительно стала замечательной платформой для хоста? Ну и какая винда внутри виртуалки, тоже интересно.

hobbit ★★★★★
()
Ответ на: комментарий от alex0x08

Прикольно, неужели передача картинки через VNC даже локально стала настолько быстрой что хватает для 3D-графики?

Некоторые (не жрущие) игры запускаются и работают через VNC/RDP. Разумеется, AAA-игры оно гонять не даст. Для чего-то более серьёзного я использую отдельное железо, проброшенное в ВМ (например, видеокарту), ну а железо эмулировать не нужно. Видеокарта сама может выводить картинку на монитор, подключенный к ней.

Clockwork ★★★★★
() автор топика
Ответ на: комментарий от mittorn

Но ты говоришь что у тебя он не может 32 и 64 процессы.

Не у меня, а во FreeBSD. Это не проблема вайна, а проблема мультилиба.

Если часть ресурсов x86, а часть x86_64, то на FreeBSD оно не взлетит. Это никак нельзя обойти.

Кстати, зачем они синглплеерной игрушке одновременно?

Затем, что в синглплеерных игрушках могут быть ситуации, когда PE32 пытается дёрнуть PE32+ или наоборот.

Clockwork ★★★★★
() автор топика
Ответ на: комментарий от hobbit

Я бы оставил как тему для форума, поскольку виртуализация всё-таки не совсем офтопик.

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

Но хотелось бы почитать подробнее, как это осуществляется

Я просто похвастаться притащил. Могу вписать всё в подробностях и деталях, тогда это на статью потянет. Обычно мне лень писать такие вещи, но за пол тележки скворца согласен)

Вдруг FreeBSD действительно стала замечательной платформой для хоста?

Она всегда была замечательной. А вот линуксы ваши еще не стали!

Ну и какая винда внутри виртуалки, тоже интересно.

Пока стоит Windows 10 с оф-сайта, но мне это не нравится. Нормальных сборок я не знаю, а 11 почему-то не пошла.

Clockwork ★★★★★
() автор топика
Ответ на: комментарий от Clockwork

Если часть ресурсов x86, а часть x86_64, то на FreeBSD оно не взлетит. Это никак нельзя обойти.

32 и 64 процессы не могут между собой обмениваться shm? или сокеты между ними не работают? а реализовать shm через mmap не?

mittorn ★★★★★
()
Ответ на: комментарий от crazy

mmap файла в tmpfs (или аналога, не помню, что там в bsd) и получается шаренная память.
Freebsd конечно то ещё клоунство. ОС, которая только на x86 более-менее нормально работает, при этом там умудрились сломать базовые для x86 фичи такие, как мультилиб.
Я хз, как можно было сломать wine

mittorn ★★★★★
()
Последнее исправление: mittorn (всего исправлений: 1)
Ответ на: комментарий от Clockwork

Какие ситуации? Зачем синглплеерной игрушке 2 процесса? Стим можно заткнуть заглушкой в конце концов, самой игрушке нафейхоа второй процесс?
И каких ресурсов? Проблем с shm и сокетами тоже нет.
Вообще я изучил что там за проблема была. wine прекрасно всё поддерживает как минимум начиная с 6 версии, там есть скрипт, который собираем wine с мультилибом. Даже без нововведений с wow64 в 64битном процессе. Только вот порты freebsd как всегда ничего не умеют (и никогда не умели), потому собирать его надо самому. Так что как я говорил выше, достаточно собрать wine нормально.

mittorn ★★★★★
()
Ответ на: комментарий от mittorn

Freebsd конечно то ещё клоунство. ОС, которая только на x86 более-менее нормально работает, при этом там умудрились сломать базовые для x86 фичи такие, как мультилиб.

Как ты обьяснишь ненормальность работы на всех остальных ресурсах, кроме х86?

Мультилиб реализован криво во FreeBSD, но это не значит, что его сломали. А вот вайн – да. С такой реализацией мультилиба 32+64 – на FreeBSD работать не будет. И это не зависит от того, какой для этого вайн ты будешь использовать. Чтобы это стало возможным, нужно переписать мультилиб с нуля, как это было сделано в Linux.

Но если ты изучил этот вопрос (а не очередной диванный аналитик), то наверняка легко докажешь обратное.

Только вот порты freebsd как всегда ничего не умеют (и никогда не умели), потому собирать его надо самому. Так что как я говорил выше, достаточно собрать wine нормально.

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

Clockwork ★★★★★
() автор топика
Ответ на: комментарий от mittorn

Зачем синглплеерной игрушке 2 процесса?

Ну вы еще спросите, зачем Warcraft 3 refunded поднимает electron интерфейс главного меню отдельным сервером, к которому можно подключиться из браузера на локальной машине.

PPP328 ★★★★★
()

Крестьянская семья слушает радио Бздун радуется винде в виртуалке, сенсация, шок, видеокарты проброс! Оказывается так можно!

PS. Котик с удовольствием пройден в Linux через Steam+Proton, никаких танцев\бубнов, купил, скачал, поиграл. Ничего не настраивал, всё «из коробки» поднялось\завелось.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 3)

а у меня на линуксе котик и так работает :3 открыл стим, нажал кнопку и играешь) нетуденях скачал с рутрекера и играешь) вот же магия) и без всяких виртуалок)

P.S сейчас бы Wine/Proton в 2к23-м виртуалкой называть, вообще надо отбитым быть на всю голову

Unixson
()
Ответ на: комментарий от AleksK

Минимум телодвижений это щелкнул на экзешник в папке с игрой и играешь.

У меня именно так и работает. Только вот в папку с игрой можно не идти, а просто щёлкнуть на экзешник с игрой и играть. В таком Windows/Xbox удобнее всего значки запуска содержать в меню/пуске.

Clockwork ★★★★★
() автор топика
Ответ на: комментарий от Clockwork

Если часть ресурсов x86, а часть x86_64, то на FreeBSD оно не взлетит. Это никак нельзя обойти.

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

utanho ★★★★★
()
Ответ на: комментарий от Clockwork

Ну да только для начала поставь винду на виртуалку пробрось туда оборудование, твоя хостовая система это тупо пускалка винды она больше ничего сделать не сможет. А вот так ты сможешь сделать у себя: https://img-host.ru/EtYRO.png

И я тоже могу без проблем одним нажатием кнопки добавить ярлык запуска игры в основное меню, есть отличный инструмент для запуска игр и виндовых приложений через proton и другие варианты wine называется PortProton.

AleksK ★★★
()
Ответ на: комментарий от AleksK

твоя хостовая система это тупо пускалка винды она больше ничего сделать не сможет.

Это ЛОЖЬ!!! Моя хостовая система может работать параллельно и перпендикулярно вместе так называемой «пускалкой винды»

А вот так ты сможешь сделать у себя

Не совсем тебя понял. Ты предлагаешь засрать рабочую хостовую систему играми и стимом только для того, чтобы… что? чтобы иметь возможность смотреть на виртуальные раб столы?

Clockwork ★★★★★
() автор топика
Ответ на: комментарий от Clockwork

Это ЛОЖЬ!!! Моя хостовая система может работать параллельно и перпендикулярно вместе так называемой «пускалкой винды»

Переключись из игры в браузер не закрывая виртуалку.

Не совсем тебя понял. Ты предлагаешь засрать рабочую хостовую систему играми и стимом только для того, чтобы… что? чтобы иметь возможность смотреть на виртуальные раб столы?

Стим установлен в отдельную папочку в хомяке, игры лежат на отдельном жёстком диске который я выделил для игр. В чем выражается засранность системы?

Ну и самое главное какой у тебя там фпс. У меня rx6750xt она конечно мощнее 6600, но 6600 всетаки далеко не самая слабая видяха. А stray далеко не самая требовательная игра. Он у меня на старой rx590 60 выдавал без проблем, а тебя должно быть больше.

AleksK ★★★
()