Quake 2 RTX на минималках - запуск ray tracing на старых AMD Radeon

Решил я тут на досуге попробовать возможности рейтрейсинга, но в 2020-м, ещё до глубокого кризиса рынка видеокарт, нелёгкая вынудила меня купить первую видеокарту от AMD - Radeon RX580 8 GB (вместо поддерживающего хотя бы программный DXR GeForce 1060). Проверку временем видяха, в общем-то, выдержала, однако отсутствие поддержки этого самого RTX немного огорчало - поэтому начал чуть глубже изучать возможности старых AMD в этом плане.

На текущий момент есть 3 варианта попробовать рейтрейсинг на RX580 (и похожих старых видяхах AMD без аппаратных ядер RTX):

1. Crysis Remastered. CryEngine оказывается умеет программно эмулировать эффекты рейтрейсинга с достаточно неплохой производительностью (см. пример на видео ниже с просторов ютуба)

2. Бенчмарк Neon Noir на всё том же CryEngine. В Full HD отлично работает (и выглядит) даже на ULTRA настройках.

3. Пресловутый Quake 2 RTX с экспериментальным Vulkan драйвером RADV под Linux (входит в пакет MESA). О нём сегодня и поговорим.

Quake 2 RTX, безусловно, бенчмарковая икона всего рынка RTX игр. В ремейке этой старой игры 1997 года выпуска, NVIDIA выложились на полную и выкатили настоящее буйство красок, динамического освещения и прочих свистелок-перделок RTX.

И вот, в сентябре 2021 в ряде блогов появились новости, что один из разработчиков-энтузиастов альтернативного RADV драйвера AMD для линукс умудрился запилить программную поддержку рейтрейсинга для AMD видеокарт, причем даже с поддержкой старых поколений видях (Polaris, Vega, RDNA) без аппаратных ядер RTX. В итоге, некоторым пользователям удалось успешно запустить Q2RTX с этим драйвером (впрочем, о перформансе такого решения никто не питал иллюзий).

Прошло полгода, однако я так и не встретил в сети пошагового гайда, как повторить такой сетап, поэтому решил попробовать сам. Возможно кому-то мой эксперимент покажется полезным, тем более, что скрипт для привычной многим Ubuntu 20.04 LTS опубликован в конце статьи.

Собственно, сам процесс и зависимости довольно неплохо описаны на гитхабе Q2RTX, поэтому для лучшего понимания процесса, рекомендую перед установкой начать чтение с него:

https://github.com/NVIDIA/Q2RTX

Итак, вам понадобятся:

1. Дистрибутив Ubuntu 20.04 LTS x64 с официального сайта

2. Флэшка 4+ ГБ, чтобы его поставить второй системой

3. Ключевое - прямые руки и готовность гуглить ошибки/проблемы

У меня был старый HDD вторым диском, на который я успешно вкатил Ubuntu без мороки с dual-boot (винда осталась на SSD).

После установки системы, заходим в терминал и плавненько ставим все, что нужно: зависимости для сборки, vulkan драйвер. Далее - сборка q2rtx из исходников с гитхаба и активация экспериментальной поддержки RT в драйвере. После чего, можно запускать кваку и она даже не ругнется, что у вас нет поддерживающего рейтрейсинг железа :-)

Результаты: ~10 FPS при отсутствии скейлинга full HD разрешения (100%). Абсолютно неиграбельно, но очень красиво. Либо 25+ FPS при скейлинге 35%, что возвратит вас в 1997 год, ибо качество картинки будет на уровне разрешения 800х600 или даже ниже - БАААЛЬШИЕ пиксели, ага. Зато играбельно с т.з. геймплея, если, конечно, что-то сможете разглядеть.

Ну и видосики напоследок:

P.S. Как и обещал, скрипт для установки с комментариями. Рекомендую предварительно почитать гитхаб Q2RTX и выполнять построчно.

# environment: ubuntu 20.04 lts x64 # hw: radeon rx 580 8 gb (polaris) # test case: run Q2 RTX on experimental RADV vulkan driver # for full procedure understanding please refer to q2rtx github # # installing dependencies sudo apt install curl git cmake zlib1g libsdl2-dev libstb-dev libopenal-dev build-essential # installing MESA AMD driver with RADV Vulkan support sudo add-apt-repository ppa:kisak/kisak-mesa sudo apt update sudo apt full-upgrade sudo apt install mesa-utils sudo apt install mesa-vulkan-drivers # installing Vulkan SDK & headers wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add - sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-1.3.204-focal.list https://packages.lunarg.com/vulkan/1.3.204/lunarg-vulkan-1.3.204-focal.list sudo apt update sudo apt install vulkan-sdk git clone https://github.com/KhronosGroup/Vulkan-Headers.git cd Vulkan-Headers/ mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=install .. make install cd ../.. # install glslang git clone https://github.com/KhronosGroup/glslang.git git clone https://github.com/google/googletest.git External/googletest cd External/googletest git checkout 0c400f67fcf305869c5fb113dd296eca266c9725 cd ../.. cd glslang/ mkdir -p build cd build cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$(pwd)/install" ../ make -j4 install cd ../.. # install Q2RTX git clone --recursive https://github.com/NVIDIA/Q2RTX.git cd Q2RTX/ # DO: it is necessary to copy baseq2 folder assets from github releases to your Q2RTX/baseq2 folder prior to compiling your own build mkdir build cd build/ cmake .. cmake --build . # enable experimental raytracing support in RADV Vulkan export RADV_PERFTEST=rt # run Q2RTX cd .. ./q2rtx
1919
22 комментария

охренеть, я когда-то так в школе вторую кваку и проходил - с 10-15 фпс на 486м. Только без лучей. Но видео с фризами прям пробило на слезу

6
Ответить

Комментарий недоступен

3
Ответить

Ну так q2 портанули даже на Ps1 с железом 94 года, что-то там с видюхой 1 мб и 2 мб озу

1
Ответить

Не могло быть на 486-м 10-15 фпс, хоть убейся.

Ответить

Как раз вчера тестил эту кваку на своей GTX 1660 Super, играбельные 50-60 фпс удалось добиться только понижением разрешения до ~600p.

3
Ответить

И это на карте без лучей?

Ответить

Вот он понимаю почему 60 ФПС это играбельно, в то что н же ну прям невозможно играть. Играю в хел лет лузе, ФПС скачет от 40 до 20, и нечего вполне удовольствие прлучаю от игры. Конечно хотелось бы лучше но видяха пока 1060. Вот думаю после обновления системы с i5 2500k до xeon 2666 v3 в плане ФПС улучшится дело с той же видеокартой...?

Ответить