Не запускается opengl. Какие видеокарты поддерживают OpenGL

Несомненно, многие геймеры знают, что для корректной работы таких известных игр, как Minecraft или CS, одним из самых основных условий является наличие в системе установленных последних версий драйверов OpenGL. Как обновить этот пакет драйверов, сейчас и будет рассмотрено, поскольку, как и любое другое программное обеспечение, они могут устаревать. Именно поэтому иногда возникают проблемы с запуском любимых игр.

OpenGL: как простейшим способом?

Прежде всего, если при запуске игры или какого-то специфичного приложения система сообщает, что драйверы OpenGL нуждаются в обновлении, следует использовать самое стандартное решение.

Для активации процесса следует войти в стандартный «Диспетчер устройств», что можно сделать из «Панели управления», раздела администрирования компьютера или командой devmgmgt.msc через строку консоли «Выполнить», и найти там установленный видеоадаптер.

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

Как обновить OpenGL на Windows 7 или в любой другой системе при помощи специализированных утилит?

Для владельцев чипов NVIDIA и Radeon задача может быть несколько упрощена. Как правило, для них в комплекте в предустановленном виде поставляются специальные управляющие программы вроде PhysX и Catalyst. Именно поэтому обновить драйвер OpenGL можно с их помощью.

Если по каким-либо причинам такие утилиты отсутствуют, следует их просто скачать и интегрировать в систему. При наличии постоянно активного интернет-подключения они пригодятся не только для настройки игр, а и для автоматического слежения за появлением новый версий необходимых драйверов, включая и OpenGL.

В принципе, если такой вариант пользователю не нравится, можно воспользоваться не менее интересными программами наподобие Driver Booster, которые без участия пользователя обновляют драйверы абсолютно для всех «железных» и программных устройств, установленных на компьютере или ноутбуке. Приложение в процессе сканирования системы само определит версию драйвера OpenGL. Как обновить его? Нужно всего лишь согласиться с предложением установки найденных апдейтов. По завершении процесса обновления в обязательном порядке потребуется полная перезагрузка.

Наконец, можно установить специальную утилиту под названием OpenGL Extensions Viewer, с помощью которой можно и узнать версию установленного пакета драйверов, и обновить его до последней версии.

Обновление DirectX

Однако обновление может и не дать желаемого положительного результата без апдейта платформы DirectX, которая является неким связующим мостом между железом и программным комплексом в плане мультимедиа.

Узнать установленную версию можно при помощи команды dxdiag, вводимой в меню «Выполнить». Загрузить новый дистрибутив можно с официального сайта поддержки Microsoft в разделе Downloads.

Как уже понятно, DirectX OpenGL обновить можно обычным стартом процесса инсталляции загруженного дистрибутива. Преимущество этого обновления состоит еще и в том, что в самом диалоговом окне DirectX можно провести ряд тестов, включая производительность DirectSound, ffdshow, Direct3D и т. д.

Почему драйверы не обновляются?

Если вдруг ни одно из вышеперечисленных решений не помогает, вероятнее всего, причина кроется только в том, что видеоадаптер инсталлируемую версию OpenGL попросту не поддерживает, поэтому, как ни пытайся, драйвер установить не получится. Единственным выходом станет установка более мощной видеокарты.

Кстати сказать, наиболее часто такая проблема встречается в случае с интегрированным видеочипами стандарта video-on-board, которые встроены в материнские платы. С дискретными видеокартами, как правило, таких проблем нет (естественно, при условии, что чип не является слишком устаревшим и изначально поддерживает технологию OpenGL). Как для таких карт, думается, уже понятно. Но иногда может потребоваться апдейт платформ JAVA Runtime или даже.NET Framework от Microsoft - об этом тоже забывать нельзя. Но как правило, в большинстве случаев этого делать не требуется - достаточно и параллельно использовать утилиту OpenGL Extensions Viewer.

Если при запуске Movavi Видеоредактора появляется сообщение об ошибке или вы заметили, что плеер, фильтры или переходы не работают, то ваш компьютер, скорее всего, не поддерживает необходимую для работы версию OpenGL. Для работы программы видеокарта должна поддерживать OpenGL 2.0. Для бесперебойной работы рекомендуется OpenGL 2.1 и выше.

OpenGL – это программный интерфейс, отвечающий за вывод графических данных. Обычно его работу обеспечивает драйвер видеокарты. Однако некоторые видеокарты не поддерживают необходимую версию OpenGL. В этом случае следуйте следующим шагам:

Шаг 1: Обновите драйвер видеокарты

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

Шаг 2: Попробуйте установить программную реализацию OpenGL

Если после обновления драйверов видеокарта все еще не поддерживает 2.0 вы можете установить замену в видео программного обеспечения:

    В сообщении, которое появляется при запуске Movavi Видеоредактора, поставьте галочку в пункте "Скачать и установить программную реализацию OpenGL".

    Или в основном меню программы нажмите Настройки и в появившемся меню выберите Параметры . В окне настроек поставьте галочку в пункте Использовать программную реализацию OpenGL и нажмите ОК .

Movavi Видеоредактор.

Вы спросите: кто же они? Они - мёртвая компания, которую я считаю истинным убийцей OpenGL. Конечно, общая несостоятельность Комитета сделала OpenGL уязвимым, в то время как он должен был рвать D3D в клочья. Но по-моему, 3D Labs - возможно единственная причина текущего положения OpenGL на рынке. Что они для этого сделали?

Они разработали язык шейдеров для OpenGL.

3D Labs были умирающей компанией. Их дорогостоящие GPU были вытеснены с рынка рабочих станций всё возрастающим давлением nVidia. И в отличие от nVidia, 3D Labs не были представлены на потребительском рынке; победа nVidia означала бы смерть для 3D Labs.

Что в итоге и случилось.

В стремлении оказаться на плаву в мире, которому были не нужны их продукты, 3D Labs заявились на конференцию Game Developer Conference с презентацией того, что они назвали «OpenGL 2.0». Это был OpenGL API, переписанный с нуля. И это имело смысл, ибо в те времена в API OpenGL было полно хлама (который, впрочем, остаётся там и по сей день). Посмотрите хотя бы на то, насколько эзотерически сделаны загрузка и биндинг текстур.

Частью их предложения был язык шейдеров. Да, именно он. Тем не менее, в отличие от имеющихся кросс-платформенных расширений, их язык шейдеров был «высокоуровневым» (C - это высокий уровень для языка шейдеров).

В это же время в Microsoft работали над своим собственным языком шейдеров. Который они, включив всё своё коллективное воображение, назвали… Высокоуровневым Языком Шейдеров (HLSL). Но их подход к языку был фундаментально иным.

Наибольшей проблемой языка от 3D Labs было то, что он был встраиваемым. Microsoft полностью самостоятельно определяла свой язык. Они выпустили компилятор, который генерировал ассемблерный код для шейдеров SM 2.0 (или выше), который, в свою очередь, можно было скармливать D3D. Во времена D3D v9, HLSL никогда не касался D3D напрямую. Он был хорошей, но необязательной абстракцией. У разработчика всегда была возможность взять выхлоп компилятора и подправить его для максимальной производительности.

В языке от 3D Labs ничего этого не было. Вы отдаёте драйверу C-подобный язык, и он создаёт шейдер. На этом всё. Никакого ассемблерного шейдера, ничего, что можно скормить чему-то ещё. Только объект OpenGL, представляющий шейдер.

Для пользователей OpenGL это означало, что они становились подвержены капризам разработчиков OpenGL, которые только научились компилировать ассемблероподобные языки. В компиляторах новорождённого языка шейдеров OpenGL (GLSL) свирепствовали баги. Что ещё хуже, если вам удавалось заставить шейдер корректно компилироваться на различных платформах (что уже само по себе было большим достижением), то он всё ещё был подвержен оптимизаторам тех времён, которые были не так уж оптимальны, как могли бы быть.

Это было большим, но не единственным недостатком GLSL. Далеко не единственным.

В D3D, как и в старых ассемблерных языках OpenGL, можно было смешивать и всячески комбинировать вершинные и фрагментные шейдеры. Можно было использовать любой вершинный шейдер с любым совместимым фрагментным шейдером, если они взаимодействовали через одинаковый интерфейс. Более того, допускалась даже некоторая несовместимость: например, вершинный шейдер мог подать на выход значение, которое не использовалось фрагментным шейдером.

В GLSL ничего такого не было. Вершинный и фрагментный шейдер сплавлялись воедино, образовывая нечто, названное компанией 3D Labs «программным объектом». Поэтому, для совместного использования нескольких вершинных и фрагментных шейдеров в различных комбинациях, приходилось создавать несколько программных объектов. Это стало причиной второй по величине проблемы.

3D Labs думали, что они самые умные. Они взяли C/C++ за основу для модели компиляции GLSL. Это когда вы берёте один c-файл и и компилируете его в объектный файл, а затем берёте несколько объектных файлов и компонуете их в программу. Именно так компилируется GLSL: сначала вы компилируйте вершинный или фрагментный шейдер в шейдерный объект, затем помещаете эти объекты в программный объект и компонуете их воедино чтобы наконец сформировать программу.

В теории это позволяло появиться таким крутым вещам, как «библиотечные» шейдеры, которые содержат код, вызываемый основным шейдером. На практике это приводило к тому, что шейдеры компилировались дважды : один раз на стадии компиляции и второй раз на стадии компоновки. В частности, этим славился компилятор от nVidia. Он не генерировал какой-либо промежуточный объектный код; он компилировал вначале, выбрасывал полученный результат и компилировал заново на стадии компоновки.

Таким образом, чтобы приделать вершинный шейдер к двум разным фрагментным шейдерам, приходилось компилировать намного больше, чем в D3D. Особенно с учётом того, что вся компиляция производится оффлайново , а не перед непосредственным исполнением программы.

У GLSL были и другие проблемы. Возможно, было бы неправильным сваливать всю вину на 3D Labs, ибо в конечном итоге ARB утвердили и включили в OpenGL язык шейдеров (но ничего больше из предложений 3DLabs). Однако, изначальная идея всё равно была за 3D Labs.

И теперь самое печальное: 3D Labs были правы (в основном). GLSL не векторный язык, каким в то время был HLSL. Так случилось потому, что железо 3D Labs было скалярным (как современное железо от nVidia), и они были полностью правы в выборе направления, которому позднее последовали многие производители оборудования.

Они были правы и с выбором модели компиляции для «высокоуровневого» языка. Даже D3D в итоге к этому пришёл.

Проблема в том, что 3D Labs были правы в неправильное время . И в попытках попасть в будущее преждевременно, в попытках быть готовыми к будущему, они отставили в сторону настоящее. Это выглядит как T&L-функциональность в OpenGL, которая была в нём всегда. За исключением того, что T&L-конвейер OpenGL был полезным и до появления аппаратного T&L, а GLSL был обузой до того как остальной мир догнал его.

GLSL - это хороший язык сейчас . Но что было в то время? Он был ужасен. И OpenGL пострадал от этого.

На подходе к апофеозу

Я поддерживаю ту точку зрения, что 3D Labs нанесли OpenGL смертельный удар, но последний гвоздь в крышку гроба забил сам ARB.

Возможно вы слышали эту историю. Во времена OpenGL 2.1, у OpenGL были большие проблемы. Он тащил за собой огромный груз совместимости. API больше не был простым в использовании. Одну вещь можно было сделать пятью разными способами и непонятно какой из них быстрее. Можно было «изучить» OpenGL по простым руководствам, но при этом вы не изучали тот OpenGL, который даёт настоящую графическую мощь и производительность.

ARB решили предпринять ещё одну попытку изобрести OpenGL. Это было как «OpenGL 2.0» от 3D Labs, но лучше, потому что за этой попыткой стоял ARB. Они назвали это «Longs Peak».

Что такого плохого в том, чтобы потратить немного времени на улучшение API? Плохо то, что Microsoft оказалась в довольно шатком положении. Это было время перехода на Vista.

В Vista Microsoft решили внести давно напрашивающиеся изменения в графические драйверы. Они заставили драйверы обращаться к ОС за виртуализацией графической памяти и многим другим.

Можно долго спорить о достоинствах такого подхода, и о том, был ли он вообще возможен, но факт остаётся фактом: Microsoft сделала D3D 10 только для ОС Vista и выше. Даже на поддерживающем D3D железе было невозможно запустить D3D приложение без Висты.

Вы возможно помните, что Виста… скажем так, работала не очень хорошо. Итак, у нас была неторопливая ОС, новый API, который работал только на этой ОС, и новое поколение железа, которое нуждалось в этом API и ОС чтобы делать нечто большее, чем просто превосходить предыдущее поколение в производительности.

Тем не менее, разработчики могли использовать функциональность уровня D3D 10 через OpenGL. То есть могли бы, если бы ARB не был занят работой над Long Peaks.

ARB потратили добрые полтора-два года, работая над улучшением API. Ко времени выхода OpenGL 3.0 переход на Висту закончился, Windows 7 была на подходе, и разработчиков игр больше не заботила функциональность уровня D3D 10. В конце концов, оборудование для D3D 10 прекрасно работало с приложениями на D3D 9. С увеличением темпов портирования с ПК на консоли (или с переходом ПК-разработчиков на консольный рынок), разработчикам всё меньше была нужна функциональность D3D 10.

Если бы разработчики получили доступ к этой функциональности даже на Windows XP, развитие OpenGL могло бы получить живительный заряд бодрости. Но ARB упустили эту возможность. А хотите знать что самое ужасное?

ARB не смогли изобрести API с нуля несмотря на трату двух драгоценных лет на попытки сделать это. Поэтому они вернули статус-кво, добавив лишь механизм для объявления функциональности устаревшей.

В итоге ARB не только упустили ключевые возможности, но и не выполнили ту работу, которая привела их к этому упущению. Это был epic fail по всем направлениям.

Такова история о противостоянии OpenGL и Direct3D. История упущенных возможностей, величайшей глупости, умышленного безрассудства и банальных нелепостей.

Если при запуске Movavi Видеоредактора появляется сообщение об ошибке или вы заметили, что плеер, фильтры или переходы не работают, то ваш компьютер, скорее всего, не поддерживает необходимую для работы версию OpenGL. Для работы программы видеокарта должна поддерживать OpenGL 2.0. Для бесперебойной работы рекомендуется OpenGL 2.1 и выше.

OpenGL – это программный интерфейс, отвечающий за вывод графических данных. Обычно его работу обеспечивает драйвер видеокарты. Однако некоторые видеокарты не поддерживают необходимую версию OpenGL. В этом случае следуйте следующим шагам:

Шаг 1: Обновите драйвер видеокарты

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

Шаг 2: Попробуйте установить программную реализацию OpenGL

Если после обновления драйверов видеокарта все еще не поддерживает 2.0 вы можете установить замену в видео программного обеспечения:

    В сообщении, которое появляется при запуске Movavi Видеоредактора, поставьте галочку в пункте "Скачать и установить программную реализацию OpenGL".

    Или в основном меню программы нажмите Настройки и в появившемся меню выберите Параметры . В окне настроек поставьте галочку в пункте Использовать программную реализацию OpenGL и нажмите ОК .

Movavi Видеоредактор.

Существуют как профессиональные ускорители, так и «любительские»…

Технология OpenGL — это «всего лишь» набор спецификаций для инструментария по обработке компьютерной графики. Используя OpenGL, перед разработчиками открывается масса дополнительных возможностей, особенно в плане 3D. При этом, если одна платформа или видеокарта не поддерживает все возможности графики, которую предполагает, например, разработчик компьютерной игры, сглаживание всех этих недостатков берет на себя именно OpenGL за счет поддержки библиотеки дополнительных функций.

В начале 90-х годов производителям программного обеспечения приходилось заботиться о том, чтобы их приложения могли работать на как можно большем количестве видеокарт. Однако единой спецификации тогда не существовало и приходилось писать огромные куски кода для того, чтобы программа работала на разном «железе». Долго такое безобазие продолжаться не могло. И все вопросы совместимости на низком уровне взял на себя именно OpenGL.

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

  • компьютерное трехмерное моделирование физических процессов;
  • компьютерная мультипликация;
  • трехмерное моделирование в дизайне и рекламе;
  • кинематографические спецэффекты;
  • и, конечно же, игровая компьютерная графика.

OpenGL-ускорители

Общее число модификаций OpenGL-ускорителей, пожалуй, точному подсчету не поддается. Существуют как профессиональные ускорители, так и «любительские». Однако рядовому пользователю вовсе не обязательно вникать во все технические подробности. Все, что ему нужно знать, это поддерживает ли его видеокарта технологию OpenGL.

Сегодня можно с уверенностью сказать, что любая современная игровая видеокарта, даже бюджетная вроде nvidia geforce gt 210 поддерживает большинство спецификаций OpenGL. Конечно, полный отчет по поддержке или неподдержке всех спецификаций может дать, пожалуй, лишь сам производитель видеокарты. Поэтому тестирования профессиональных ускорителей OpenGL можно смело оставить профессионалам.

Однако положение осложняется тем, что сегодня существует несколько версий OpenGL. И если, например, OpenGL 2.0 успешно обрабатывает и видеокарта nvidia geforce gt 210, и большинство других, то с OpenGL 3.0 и тем более с новейшей OpenGL 4.5 – уже только определенные модели. И каждая новая версия предоставляет разработчикам графики дополнительные возможности для «рисования», а пользователю открывает новые, более реалистичные компьютерные миры.

Полные спецификации нужно смотреть либо на сайтах производителей видеокарт, либо в документации. Большой выбор дискретных видеокарт можно найти на сайте

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то