質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%

受付中

ubuntu [GLSL 4.20 is not supported] グラフィックスドライバを更新する方法が知りたい。

退会済みユーザー

退会済みユーザー

総合スコア0

2回答

0グッド

0クリップ

821閲覧

投稿2022/02/02 00:57

編集2022/02/03 02:36

提示コードですが#verison 450というバージョン指定をコメントアウトしても以下のコンソールのエラーが出るのですがグラフィックスドライバーを更新する方法が知りたいです。アップデートしても 4.2が使えません。ウインドウズでは使えるのですががなぜubuntuでは使えないのでしょうか?

参考サイト: https://handyradar.org/768802-opengl-glsl-4-5-on-XENBHI-article
参考サイト: https://askubuntu.com/questions/1004544/how-to-install-the-open-source-intel-drivers-to-get-opengl-4-5
参考サイト: https://en.wikipedia.org/wiki/OpenGL_Shading_Language

試したこと

参考サイトを参考にドライバ更新

Console
shigurechan@shigurechan-System-Product-Name:~/prg/TopDownGame$ ./Game Complie Error: Vertex Shader Complie Error: Vertex Shader0:4(10): error: GLSL 4.20 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES Complie Error: Fragment Shader Complie Error: Fragment Shader0:4(10): error: GLSL 4.20 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES Program Info Log: error: linking with uncompiled/unspecialized shadererror: linking with uncompiled/unspecialized shader プログラムリンク失敗 Segmentation fault (コアダンプ)
Window
// ##################################### クライアントコンテキスト ##################################### void FrameWork::Window::setCurrent() { glfwMakeContextCurrent(window); glfwSwapInterval(1); //垂直同期 //マウス移動 if (GLFW_NOT_INITIALIZED == glfwRawMouseMotionSupported()) { std::cerr << "glfwRawMouseMotionSupported() 初期化出来ません。" << std::endl; assert(0); } // OpenGL Verison 4.5 Core Profile を選択する glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2); glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); glPixelStorei(GL_UNPACK_ALIGNMENT, 1); //アライメント glEnable(GL_TEXTURE_2D); //テクスチャを有効 glEnable(GL_ALPHA_TEST); //アルファテスト glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); //ブレンドタイプ glEnable(GL_BLEND); //ブレンド有効 glEnable(GL_SAMPLE_ALPHA_TO_COVERAGE); //半透明 glEnable(GL_CULL_FACE); //カリング 有効 glCullFace(GL_BACK); //裏面を無効 glEnable(GL_MULTISAMPLE); //イベント処理 glfwSetWindowUserPointer(window, this); //このインスタンスのthis glfwSetWindowSizeCallback(window, Resize); //ウインドウサイズを変更する時に呼び出す処理 glfwSetDropCallback(window, DragAndDrop); //ドラック&ドロップ glfwSetScrollCallback(window, MouseScroll); //マウスのホイール glfwSetCharCallback(window, KeyInputChar); //テキスト入力 glfwSetKeyCallback(window, KeyInput); //キー入力 glfwSetCursorPosCallback(window, MouseMove); //マウスが動いたとき glfwSetInputMode(window, GLFW_RAW_MOUSE_MOTION, GLFW_TRUE); atexit(glfwTerminate); //プログラム終了時の処理を登録 }
Vertex Shader

glsl

1/*######################################################################### 2# 3###########################################################################*/ 4//#version 420 5#version 110 6 7 8 9 10// ###################### ###################### 11layout(location = 0) in vec3 vertexPosition; 12layout(location = 1) in vec2 vertexUV; 13 14// ###################### ###################### 15layout(location = 2) out vec2 vUV; //UV 16 17// ###################### Uniform ###################### 18uniform mat4 uScale; 19uniform mat4 uRotate; 20uniform mat4 uTranslate; 21uniform mat4 uViewProjection; 22 23void main() 24{ 25 vec4 vertex = vec4(vertexPosition,1.0); 26 mat4 model = uTranslate * uRotate * uScale; 27 gl_Position = (uViewProjection * model) * vertex; 28 29 vUV = vertexUV; 30} 31
Fragment shader

glsl

1 2//#version 420 3 4out vec4 fragment; 5 6 7layout (location = 2) in vec2 UV; 8 9uniform sampler2D screenTexture; 10 11void main() 12{ 13 14 fragment = texture(screenTexture, UV); 15} 16

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

2022/02/02 03:02依頼された後にこの質問は修正されています

こちらの質問が他のユーザーから「過去の低評価」という指摘を受けました。

回答2

0

参考サイトコマンド
[ sudo apt update && sudo apt upgrade ] を実行してドライバを更新したら動きました。

参考サイト:https://handyradar.org/768802-opengl-glsl-4-5-on-XENBHI-article

投稿2022/02/02 13:11

退会済みユーザー

退会済みユーザー

総合スコア0

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

0

ベストアンサー

ader0:4(10): error: GLSL 4.20 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES
↑この様なエラーが発生していますので、バージョン4はサポートされていないのではないでしょうか。

また、Ver4.2がサポートされていてもGLSLの記述は"#version 410 core"と記述しなければならないというネット上の情報も確認されました。

OpenGL version GLSL version GLSL string
4.0 400 "#version 400 core"
4.1 410 "#version 410 core"
4.2 420 "#version 410 core"
4.3 430 "#version 430 core"

バーテックスシェーダーで #version 420 の行を #version 410 core
と書き換えたらどうなりますか。

投稿2022/02/02 02:10

cure_fontaine

総合スコア129

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

退会済みユーザー

退会済みユーザー

2022/02/02 02:24

同じエラーになります。同じエラーコードです。
cure_fontaine

2022/02/02 02:44

https://teratail.com/questions/363113 ↑この中で、「別バージョンで試した」とあり解決しています。方法の詳細は分かりませんが、類似した質問をしていますので同じ方法で対処したらどうですか?
退会済みユーザー

退会済みユーザー

2022/02/02 12:52

glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 1); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2); はい。上記のようにバージョンを下げたのですが同じエラーが出て4.2note supprotedと表示されます。

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る