Настал момент закончить эпопею с нашим безумием. Править статьи я буду мало-помалу, там где найду ошибки, или добавлю картинок. Остальные доделки, в виде тех же скриптов автоматизации переноса новых драйверов, я опубликую в другой статье, буду ее редактировать и подкреплять посты об изменениях. Какие-то рекомендации я запишу туда же.
Я надеюсь, что к этому моменту вы стали более продвинуты в работе с вашей игровой машинкой, поэтому я исключу некоторые скриншоты или уточнения вроде "нажмите правую кнопку мыши аккурат на маленькую иконку" и т.д. В случае, если будет трудно, я распишу все это подробно здесь или отвечу на вопросы в комментарии.
Инструменты на сегодняшнюю работу
В кратце хочу упомянуть, что несколько раз моя ВМ обрушивалась с BSODом (Синий экран смерти - Blue Screen Of Death). Поскольку я не особый знаток, что и как надо делать в таком случае, естественно я искал пути решения в интернете, но результаты практически всех сайтов предполагали "sfc /scannow" и...и всё. В ошибке говорилось "Page fault in nonpaged area". Методом исключения я нашел злосчастный драйвер, руинивший всю работу за два дня, я расскажу о нем позже. Поэтому прежде всего скажу, что сейчас было бы не плохо скопировать диск своей новенькой ВМ с драйверами, дабы не возвращаться в часть 2-ую.
Открываем Hyper-V, выключаем свою ВМ, нажимаем ПКМ на ней - Параметры.
В настройках SCSI контроллера выбираем "Жесткий диск", внутри окна есть пункт "Расположение", а строка под ним должна гласить "0 (в работе)". А есть в этом же окне пункт "Виртуальный жесткий диск". Нажимаем кнопку "Обзор...".
Копируем виртуальный диск в другое место, лучше всего на другой жесткий диск.
Следующее резервное копирование сделаем после того, как настроим ПО и перезагрузим машину.
Итак, список для ВМ:
Набор Microsoft Visual C++ Redistributable 2015-2022; x86, x64 - обе версии
Подключение к ВМ лучше всего будет, если ВМ и компьютер-клиент будут в одной сети. Можно приглашать друга домой с ноутбуком, а можно поставить а-ля Хамачи - Radmin VPN, если такой возможности нет. Аналогичная по функционалу программа, только бесплатная и до 150 участников в одной сети VPN. Я буду использовать ее.
7zip - бесплатная программа для работы с архивами; x64 версия
Обновление DirectX
Наша вишенка, размером с торт:
Sunshine - опен-сорсная реализация сервиса NVIDIA Game Stream.
https://github.com/LizardByte/Sunshine/releases/
На момент написания статьи была актуальна версия 0.15.0
- скачиваем sunshine-windows.exe.
- (В данный момент необязательно) Нужен виртуальный монитор. Да, помимо той заглушки в видеокарте, понадобится установить драйвер виртуального монитора. Потому что, отключая Hyper-V от виртуальной машины, отключается и виртуальный дисплей этого же Hyper-V. Это вызовет диссонанс у подключенного к ВМ друга - у него появится черный экран. Чтобы этого не происходило, я установил UVncVirtualDisplay, самый простой. Но еще до этого устанавливал usbmmidd. В общем конфликт с тем самым BSOD происходил на уровне одного из этих драйверов. Со второго раза я установил только UVnc, а с третьего только usbmmidd. В трех случаях был BSOD. Сейчас не пользую ни один. В общем, оно понадобится, но сейчас можно не заморачиваться. Не забывайте отключать окно после подключения вашего друга к ВМ. Если у него долго один лишь черный экран висит - еще раз зайдите через Hyper-V на ВМ и выйдете.
Начинаем все по порядку ставить.
В Radmin VPN создать сеть, запомнить пароль от нее.
После окончания установки Sunshine, он предложит сразу же ее запустить, отметив галочку. Оставляем ее и закрываем окно, пусть запустит.
Если все удачно, у нас появится такое окно:
Знамением удачи будет строка Info: Configuration UI available at [https://localhost:47990]
Скопируйте "https://localhost:47990" и вставьте это в браузер, в адресную строку на ВМ и переходите. Мы на страницы настройки главного пользователя. После введения данных для него, страница через пару секунд перезагрузится, снова впишите логин и пароль. Я оставил себе предложенный логин sunshine. К сожалению не осталось скриншота со страницы приветствия. В общем, если все правильно, мы увидим такое окно:
Вся документация относительно Sunshine есть на сайте их разработчика:
https://docs.lizardbyte.dev/projects/sunshine/en/latest/
Очень много полезной информации, а главное, расписана вся конфигурация.
Для теста предлагаю оставить все как есть. Теперь, чтобы все работало, необходимо будет открывать в "C:\Program Files\Sunshine" файл sunshine.exe. Можно скинуть ярлычок на рабочий стол: ПКМ - Отправить - на рабочий стол (создать ярлык).
Правильнее будет запускать от имени администратора, так программа задает приоритет на работу с ГП.
Прямо сейчас могу порекомендовать обновить предыдущее резервное копирование жесткого диска ВМ.
Теперь два пути. Отдаем следующие программы другу или ставим их на хост, тобишь на свой локальный компьютер.
Тот же набор Microsoft Visual C++ Redistributable 2015-2022;
- Radmin VPN - если нет возможности находиться в одной локальной сети. (Между вашим хостом и ВМ сетт настроена) Соответственно название сети и пароль надо тоже передать;
Moonlight Client - Windows Installer (Universal) на 07.11.22 - версия 4.3.1;
Вообще, еще в первой статье я упоминал Moonlight в качестве серверной части, но даже на картинке написано было, что это NVIDIA Stream client.
И, да, работает он в частности с видеокартами NVIDIA с помощью технологии NVIDIA Shield в GeForce Experience оснастке, но только серверная часть! А Sunshine умеет работать с "зелеными" картами тоже. На самом деле, дальше выбор за вами, потому что еще есть Parsec или Open-Stream (который является тем же Sunshine только с визуальным оформлением). Мне привычно, когда сервис не мозолит глаза, а чтобы его настроить, там достаточно локальной Web-странички.
Сейчас не об этом, мы говорим о Moonlight client, это программа для подключения непосредственно к серверной части.
Финальный раунд
После того, как все установилось и опционально добавлен Radmin VPN, открываем Moonlight client и видим приблизительно такое окно:
Поздравляю! Осталось подключиться!
Дабл-клик на нашу виртуальную боевую машину и появляется окно, которое требует влепить пин-код на нашей ВМ. Параллельно на ВМ открываем https://localhost:47990/, логинимся, переходим на вкладку PIN, вводим, "Send". В окне Moonlight пропадет замочек! Несколько картинок:
Момент истины, нажимаем на ВМ, выбираем Desktop.
Для наглядности запущу одну из уже установленных игр, о которой я также упомяну в результатах.
54 кадра, плюс минус 10 обычно, работают 3 ядра; на локальной сети минимальные задержки в управлении, ну а карточки... верхнее значение GPU - 1060, следующее, нижнее GPU - 580.
Выход из Moonlight client - Ctrl+Shift+Alt+Q.
Не забывайте плавно выключать ВМ - она тоже чувствительна.
Пожалуй, на этом полуслове я и закончу свою историю с инструкцией к безумию, которым может обладать теперь каждый.
Подготовлю вам результаты, тесты, геймплей с записью ноутбука друга и моего компьютера. Также дам еще кучку советов из своего личного опыта.
Спасибо, за то, что читали!
Желаю вам приятного времяпровождения!
Предыдущие статьи:
Часть 1. С чего все началось?
Часть 3. Лучшая видеокарта для друга
Все материалы, выложенные здесь, опубликованы в открытых источниках.