Устанавливаешь Steam для Linux. Открываешь Настройки -> Steam Play -> Proton -> Разрешить запуск неподдерживаемых игр. Устанавливаешь Windows-версию Unreal Tournament 2004. Запускаешь её один раз, чтобы в wine regedit появился серийный номер. Запускаешь:WINEPREFIX=~/.local/share/Steam/SteamApps/compatdata/13230/pfx ~/.local/share/Steam/SteamApps/common/"Proton 5.0"/dist/bin/wine regedit
(иногда директория SteamApps написана полностью маленькими буквами)
Ищешь там раздел Epic Games и серийник. Копируешь его куда-нибудь. Это твой серийник, а с чужим тебя не пустят в сетевую игру, если в данный момент кто-то уже играет с этим серийником.
Копируешь куда-нибудь Windows-версию игры (из Стима теперь можно удалить, а неподдерживаемые игры - выключить). Скачиваешь Linux-версию бинарников игры и MegaPack, ut2004-lnxpatch3369-2.tar.bz2 и ut2004megapack-linux.tar.bz2. Последовательно распаковываешь в Windows-версию игры с заменой файлов. Убедись, что некоторые файлы не начинаются одни с большой, а другие с маленькой буквы, хотя по сути это один и тот же файл.
Создаёшь файл cdkey (либо как вариант ut2004key) в директории System. Кладёшь туда серийник. Копируешь в System файлы libOpenAL.so.1 (если старый дистр, то *.so.0) под именем openal.so, и libSDL-1.2.so.0 под оригинальным именем. Устанавливаешь в систему libstdc++.so.5 (пакет libstdc++33). Либо копируешь этот файл в директорию System, если ты часто переключаешься между разными установленными линуксами, и не хочешь устанавливать эту библиотеку во все из них.
Запускаешь игру. Доступны 32-битный и 64-битный бинарники. В настройках выставляешь своё разрешение, включаешь все графические эффекты. Если своё разрешение не удаётся выставить, отредактируй файл настроек в ~/.ut2004/ (в разделе [SDLDrv.SDLClient]). В файле настроек также можно включить эффект, который недоступен из настроек игры - тени. Работают только на NVIDIA, включаются так: https://ubuntuforums.org/showthread.php?t=528209&p=6250055#p... Также можно включить PixelShaders, MultiSampling и вообще всё, что не включено (не надо включать только UseStencil). Параметр VSync есть в конфиге два раза, это нормально, стирать лишний не нужно.
Ну и ещё мне удалось найти значок для главного меню: https://ubuntuforums.org/showthread.php?t=2069468&p=12296242... Прямая ссылка: http://www.unix-ag.uni-kl.de/%7Edeusser/UT2004/ut2004.xpm
Работает очень быстро. В сетевой игре предпочитаю сервер Miasma Rocks.
Возможные проблемы. 12 лет назад у меня пропадал звук при использовании PulseAudio, решалось форсированием ALSA в OpenAL (в файле ~/.alsoftrc поменять приоритет). Звук всё равно будет работать через "пульсу" (эмуляция ALSA), но почему-то уже без проблем. Cтоит учесть, что это старые версии PulseAudio 0.9.10 и OpenAL 0.0.8 - я уверен что этой проблемы уже 10 лет нет. Но на всякий случай решил написать.
P.S. На Рутрекере есть готовая сборка, осталось только поменять чужой серийник на свой.