Gallium Nine

Материал из Неолурк, народный Lurkmore
Перейти к навигации Перейти к поиску

Gallium Nine (также Галлий Девять, d3dadapter9, тот самый нативный D3D9) — это такая штука из мира Линукса, которая пыталась сделать запуск старых игор под DirectX 9 менее болезненным. По сути, это стейт-трекер Direct3D 9 для Gallium3D, компонента графического стека Mesa. Задумка была в том, чтобы оффтопик-игры, использующие D3D9, могли шуршать напрямую через Mesa драйвера, минуя тормозную трансляцию в OpenGL, которую по дефолту делал Wine.

Предыстория эпичного костыля[править]

Анонимус, возжелавший погонять в какой-нибудь Обливион или Сталкер Зов Чернобыля под своим любимым пингвином, неизбежно сталкивался с Wine. А Wine, хоть и могуч, в те времена (да и сейчас не всегда блещет) транслировал вызовы Direct3D 9 в OpenGL. На бумаге гладко, а на деле — просадки FPS, артефакты, фризы и прочие радости жизни, особенно если у тебя не топовый Intel i7 последнего поколения. Производительность могла отличаться от нативной венды в разы, вызывая закономерное жжение чуть ниже спины и вечные споры на тему «Линукс для игр не готов».

И вот, примерно декаду назад, на сцену выкатился Gallium Nine. Идея была в том, чтобы использовать архитектуру Gallium3D в Mesa, которая позволяет относительно легко добавлять поддержку разных графических API. «А давайте, — сказали сумрачные гении, — запилим поддержку D3D9 прямо в Mesa!». Сказано — сделано.

Wine (обычно специальной сборки, вроде `wine-staging`, или через отдельный пакет `gallium-nine-standalone`) при наличии этой штуки и подходящего драйвера (открытые дрова для AMD и Intel, использующие Gallium3D) мог напрямую передавать команды D3D9 в Mesa, а та — уже видяхе. Путь рендеринга сокращался: вместо `D3D9 -> WineD3D (OpenGL) -> Mesa -> GPU` получалось `D3D9 -> Gallium Nine (Mesa) -> GPU`.

Лулзы и профит[править]

В теории и иногда на практике это давало заметный профит. Старые D3D9-игрушки, которые еле ворочались через стандартный WineD3D, могли ВНЕЗАПНО ожить и показать вполне играбельный FPS, иногда даже приближаясь к нативным показателям, а то и (в редких случаях, на слабом железе) превосходя их. Некоторые тесты показывали значительный прирост по сравнению с WineD3D, хотя разница с более поздним DXVK (транслятор D3D9/10/11 в Vulkan) была уже не такой драматичной, часто измеряясь единицами процентов, но иногда G9 всё же вырывался вперед. Особенно хорошо Gallium Nine мог себя показать на встройках Intel или старых картах AMD Radeon, где Vulkan либо не работал, либо работал кое-как. Еще одним плюсом называли меньшую склонность к статтерингу от компиляции шейдеров по сравнению с DXVK и меньшее потребление CPU и RAM.

Грусть, печаль, тлен[править]

Как и любой костыль, Gallium Nine не был лишён недостатков:

  • Только для Mesa/Gallium3D: Владельцы карт Nvidia с их проприетарным блобом курили в сторонке. Технология работала только с открытыми драйверами AMD (radeon, radeonsi) и Intel.
  • Только D3D9: В отличие от DXVK, который со временем научился переваривать и D3D10/11, Gallium Nine был заточен исключительно под старый D3D9.

Закат и утилизация[править]

Эпоха доминирования Gallium Nine закончилась с приходом Vulkan и, главное, DXVK. DXVK, транслирующий D3D9/10/11 в Vulkan, показал сравнимую, а часто и лучшую производительность, при этом работая на большем спектре железа (включая Nvidia) и поддерживая более новые версии DirectX. Интеграция DXVK в Proton от Valve сделала его стандартом де-факто для игр под Линуксом через Steam.

Gallium Nine стал терять актуальность. Разработчики забили, майнтейнеров почти не осталось, и технология перестала активно развиваться. В августе 2024 года было объявлено о планах по удалению Gallium Nine из Mesa, а в апреле 2025 года он был официально помечен как deprecated (устаревший) в Mesa 25.1, с планами полного удаления в Mesa 25.2 (третий квартал 2025 года). Причинами названы неактивная разработка, малое число пользователей и тот факт, что «DXVK просто работает» лучше для большинства сценариев и на большем количестве оборудования.

Сегодня Gallium Nine — это уже почти музейный экспонат. Интересный кусок истории Линукс-гейминга, важный костыль своей эпохи, но в 2025 году практически не имеющий практического применения для конечного пользователя, за исключением, возможно, каких-то очень специфичных сценариев на очень старом или маломощном ARM железе (где он, по некоторым данным, мог быть эффективнее DXVK). Но и этот последний оплот пал под натиском Vulkan и DXVK. R.I.P.

App.png Весьма полезная вещь, позволяет машинам работать с помощью коммандычей
МетаПрограммаDRM (SecuROMStarForceАналоговая дыра) • БагБот (Автоответчик) • Варез (Repack) • ГлюкГуйДонатКопирайт (By design) • ЛогНюкРут (Не работай под рутом) • Спортивное программированиеМегапиксельКомпьютерВерсия 2.0КодОбфускацияСкриншотДатамайнПлагинТекстовый файлБольшие данныеАльфа и бета-тестыТаймстампКэшШаблоныHello WorldНейросетиФайлИнсталляцияВидеоМощный сбой Microsoft 19 июля 2024 годаCrowdStrikeПроект GNUUserscriptDxvkVkd3dБратан хорош давай давай впередКонечный автоматLumenЗаступник (приложение)NeeUnreal MCP
ФичиБагрепорт12309BSODCookiesEmbrace, extend and extinguishFL StudioSheep.exeWinlogon.exeБубенЗащита от дуракаКостыльМашинный переводПасхальные яйцаСвистелки и перделкиСм. рис. 1Съешь ещё этих мягких французских булокTermuxGNU MetroИндусский кодНескучные обои • Сжатие (За сжатие ДжипегаШакалШкала) • Работает — не трогайРандомайзерPDF (Распознавание PDF) • Дело Google в ФАСЧат-ботXMLМакросКритическая ошибкаФреймворкСинонимайзерSourceТрёхмерное отслеживаниеТрассировка фотоновHZB OcclusionДаунгрейд RTX 4070TressFXАвтопереводчикVSCodiumThorium Browser
ВредоносноеБотнетБрутфорсВинлокЗвонилкаКитайские пингвиныПиксель смертиТроянЧервь МоррисаBonziBuddyMediaGetBrowser hijackingTinderМиссис МажорУтечка буфера обменаWin 10 TweakerОпараш Mozilla FirefoxЯндекс.МузыкаКрэкерБезопасность через умолчаниеGrifter.aviTrojan.Winlock.DeathМиссис МажорСредаDirectStorageDriverpackГенератор случайных чиселDisable Core 0РомхакингDDrawCompatWingetCreateWinGetCoowonЯндекс МессенджерVCPkgSELinuxXfireYouTube Auto-ResumeTape OperatorBotFatherMTProtoSignalDoubleClickFixGitee
КомпанииApple / Apple (AppleScript) • GoogleMicrosoftSAPЯндексExiled Exchange 2BraveAdNauseamСкурвление FirefoxCafe BazaarAMD FEMFXPPSSPPАвтохукQuick machine recoveryMAXBypassNROWizTreeJTubeGallium NineFalconRu-WireGuardМобильное приложение
Движения8-bitOpen source (КрасноглазикиЛинуксоиды) • Вирусная сценаДаунгрейдДемосценаМоддингMMDDirectDrawЛагиБлокировка Дискорда в РоссииOpera GXНесоответствие MIME-типаRenoisePygameLs (UNIX)МетаданныеПатчNginxПиксельЭмуляторSearxТамТамMallocСвязный списокSOLIDGreasemonkeyПлатные сообщенияFlatpakNouveauFuse.js
Офис3DS MAXGIMPGNU EmacsMovie MakerMS Paint • OpenOffice • PowerPointviMicrosoft WordExcelБлокнотФотошопАнтивирус КасперскогоAvast!TikZShareXAlternativeToСкрепышMicrosoft OfficeТекстовый редакторWeChatZoomДиспетчер задачMicrosoft CortanaWinampBallonTranslatorKerish DoctorОбщая ошибкаFirefox: Как один баг сломал весь YouTubeМеждулициеMeld StudioLadybirdCheat EngineTotal Commander
ОСAndroidBSDDOSMenuetOSReactOSWindows (Phone 7Phone 878Vista) / МаздайЛинуксРусская ОСФантом ОСIndex.phpCompassУход мэйнтейнера NouveauБойкот лаунчеровAria2cNoiceMinecraft-Installer.exe
БраузерыInternet ExplorerОпера / Opera • Тормозилла (ОгнелисLolifoxMozilla FirefoxFirefoxFirefox Klar) • Хром (шпионаж) • SafariЯндекс.БраузерУведомления в браузереVivaldiTor-браузерЗосимаФронтенд
ИнтернетAdobe Systems (Flash) • I2PLow Orbit Ion CannonTorTunatic • Чат−клиенты (MirandaQIPSkypeЖабберDiscordVIPole) • HTTPSПрокси-сервер (Proxifier) • Торрент (Magnet-ссылкаΜTorrent) • JavaScriptCSSHTMLБаннермейкерИзменение TTL сетевых пакетовКапчаICQFiddlerViberZonaSteamSillyTavernWickr Me
РазработкаBrainFuckCC++C#JavaHaskellАссемблерChaos ConstructionsBATMySQLGitHubAutoHotKey (AutoHotInterception) • Sublime TextAPK (APKPureзапрет) • BASICPerlPythonPHPФоркUnity3DSAISIPСАПРФлагUTAUФласк макросАуработRaidCallAdobe MingОфициальный™ список кошерных программDevOpsНиколай Дуров
ЛюдиВеб-мастерLovinGODБалмерГейтсГенерал ФейлорДжобсМитникПоттерингде РаадтСпольскиСтоллманТорвальдсШахиджанянAche666Марк ЦукербергЕвгений ПоповДенис КумпонМассовая компьютерная безграмотность
КостылиCygwin • PunkBusterT9WineWishmasterАнтивирусыХакинтошСборки WindowsDenuvoЧистая установкаКалькулятор Consul WarMicrosoft StoreUBlock OriginLightshotAdBlockSearchApp.exeCPU-ZГуглPhotoshopКаптча с пчёламиВзлом Windows через MetasploitЩЩ Мессенджер
Команды^H^WAlt+F4Ctrl+Alt+Delman/me/quitrm -rf