「OpenGL」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(前文を翻訳)
7行目: 7行目:
 
詳しくは、[https://www.khronos.org/opengl/ Khronos] をご覧ください。
 
詳しくは、[https://www.khronos.org/opengl/ Khronos] をご覧ください。
   
== Installation ==
+
== インストール ==
   
  +
OpenGL を使うアプリケーションを実行するには、あなたのハードウェア(GPU または CPU)用のドライバを [[インストール]] する必要があります。
To run any application that uses OpenGL you will need to [[install]] driver(s) for your hardware (either GPUs or CPUs)
 
   
  +
* {{Pkg|mesa}} はオープンソースの OpenGL 実装で、最新の OpenGL 仕様をサポートするために継続的に更新されています。Intel グラフィックス]]、[[ATI]]、[[AMDGPU|AMD]]、[[AMDGPU PRO|AMD PRO]] および [[NVIDIA]] のためのオープンソースドライバが集められています。また、ソフトウェアラスタライザーも提供します。パッケージに含まれるドライバは以下の通りです。
* {{Pkg|mesa}} is an open-source OpenGL implementation, continually updated to support the latest OpenGL specification. It has a collection of open-source drivers for [[Intel graphics]], [[ATI]], [[AMDGPU|AMD]], [[AMDGPU PRO|AMD PRO]], and [[NVIDIA]] GPUs and also provides software rasterizers, The included drivers in the package are
 
** {{ic|i915}} : for GMA 916G as well as the i830, i845 and i865 integrated GPU series.
+
** {{ic|i915}} : GMA 916G および i830i845i865 統合 GPU シリーズ用です。
** {{ic|i965}} : for Intel's Gen 4 hardware and later. It is officially supported by Intel.
+
** {{ic|i965}} : Intel Gen 4 ハードウェア以降に対応。インテルにより公式にサポートされています。
  +
** {{ic|iris}} : Intel の Gen8 ハードウェア以降に対応。インテルにより公式にサポートされています。
** {{ic|iris}} : for Intel's Gen 8 hardware and later. It is officially supported by Intel.
 
** {{ic|r100}} : for AMD's Radeon R100 GPU series.
+
** AMD Radeon R100 GPU シリーズ用です。
** {{ic|r200}} : for AMD's Radeon R200 GPU series.
+
** AMD Radeon R200 GPU シリーズ用。
** {{ic|r300}} : for AMD's Radeon R300, R400, and R500 GPU series.
+
** AMD Radeon R300, R400, R500 GPU シリーズ用。
** {{ic|r600}} : for AMD's Radeon HD 2000 GPU series and later. It is officially supported by AMD.
+
** AMD Radeon HD 2000 GPU シリーズ以降に対応。AMD が公式にサポートしています。
** {{ic|radeonsi}} : for AMD's Southern Island GPUs and later. It is officially supported by AMD.
+
** {{ic|radeonsi}} : AMD Southern Island GPU 以降のシリーズ用。AMD が公式にサポートしています。
** {{ic|nouveau}} : [[Nouveau]] is the open-source driver for [[NVIDIA]] GPUs.
+
** {{ic|nouveau}} : [[Nouveau]] [[NVIDIA]] 用のオープンソースドライバです。GPU の場合。
** {{ic|virgl}} : is a virtual GPU driver for sharing a GPU with a host for virtual machines.
+
** {{ic|virgl}} : 仮想マシン用にホストと GPU を共有するための仮想 GPU ドライバです。
** {{ic|svga}} : for VMware virtual GPUs.
+
** {{ic|svga}} : VMware の仮想 GPU 用です。
** {{ic|zink}} : is a Gallium driver, it can be used to run OpenGL on vulkan.
+
** {{ic|zink}} : Gallium ライバで、vulkan 上で OpenGL を動作させることができます。
** {{ic|swrast}} : Legacy software rasterizer.
+
** {{ic|swrast}} : レガシーソフトウェア rasterizer です。
** {{ic|softpipe}} : Software rasterizer, a reference Gallium driver.
+
** {{ic|softpipe}} : ソフトウェア rasterizer、リファレンス Gallium ドライバです。
** {{ic|llvmpipe}} : Software rasterizer, uses LLVM for x86 JIT code generation and is multi-threaded.
+
** {{ic|llvmpipe}} : ソフトウェア rasterizerx86 JIT コード生成に LLVM を使用し、マルチスレッド化されています。
** {{ic|swr}} : High performance software rasterizer that uses AVX and AVX2 CPU instructions, also known as [https://www.openswr.org/ OpenSWR].
+
** {{ic|swr}} : AVX および AVX2 CPU 命令を使用する高性能ソフトウェア rasterizer [https://www.openswr.org/ OpenSWR] としても知られています。
  +
{{Note|mesa に適したドライバが自動的に選択されるはずですので、設定する必要はありません。}}
{{Note|The right driver for mesa should be selected automatically, you do not have to configure it, just install the package.}}
 
   
* {{Pkg|nvidia-utils}} is proprietary driver for [[NVIDIA]] GPUs.
+
* {{Pkg|nvidia-utils}} [[NVIDIA]] GPU 用のプロプライエタリドライバです。
   
* {{AUR|amdgpu-pro-libgl}} is proprietary driver for [[AMDGPU PRO|AMD PRO]] GPUs.
+
* {{AUR|amdgpu-pro-libgl}} [[AMDGPU PRO|AMD PRO]] GPU 用のプロプライエタリドライバです。
   
 
{{Tip|
 
{{Tip|
  +
* AMD (および ATI) では、プロプライエタリなものを使用する非常に強い理由がない限り、オープンソースのドライバを使用することをお勧めします。
* For AMD (and ATI) it is recommended to use the open-source driver unless you have a very strong reason to use proprietary one.
 
  +
* NVIDIA では、プロプライエタリドライバをインストールした方が、新しいカードや一般的なパフォーマンスが向上する場合がほとんどです。}}
* For NVIDIA installing the proprietary driver is mostly better for newer cards or better performance in general.}}
 
   
 
== Verification ==
 
== Verification ==

2022年2月20日 (日) 16:37時点における版

wikipedia OpenGL から:

OpenGL (Open Graphics Library) は、2D および 3D のベクターグラフィックスをレンダリングするための、クロスランゲージ、クロスプラットフォームのアプリケーションプログラミングインターフェース(API)です。

詳しくは、Khronos をご覧ください。

インストール

OpenGL を使うアプリケーションを実行するには、あなたのハードウェア(GPU または CPU)用のドライバを インストール する必要があります。

  • mesa はオープンソースの OpenGL 実装で、最新の OpenGL 仕様をサポートするために継続的に更新されています。Intel グラフィックス]]、ATIAMDAMD PRO および NVIDIA のためのオープンソースドライバが集められています。また、ソフトウェアラスタライザーも提供します。パッケージに含まれるドライバは以下の通りです。
    • i915 : GMA 916G および i830、i845、i865 統合 GPU シリーズ用です。
    • i965 : Intel の Gen 4 ハードウェア以降に対応。インテルにより公式にサポートされています。
    • iris : Intel の Gen8 ハードウェア以降に対応。インテルにより公式にサポートされています。
    • AMD Radeon R100 GPU シリーズ用です。
    • AMD Radeon R200 GPU シリーズ用。
    • AMD Radeon R300, R400, R500 GPU シリーズ用。
    • AMD Radeon HD 2000 GPU シリーズ以降に対応。AMD が公式にサポートしています。
    • radeonsi : AMD の Southern Island GPU 以降のシリーズ用。AMD が公式にサポートしています。
    • nouveau : NouveauNVIDIA 用のオープンソースドライバです。GPU の場合。
    • virgl : 仮想マシン用にホストと GPU を共有するための仮想 GPU ドライバです。
    • svga : VMware の仮想 GPU 用です。
    • zink : Gallium ライバで、vulkan 上で OpenGL を動作させることができます。
    • swrast : レガシーソフトウェア rasterizer です。
    • softpipe : ソフトウェア rasterizer、リファレンス Gallium ドライバです。
    • llvmpipe : ソフトウェア rasterizer、x86 JIT コード生成に LLVM を使用し、マルチスレッド化されています。
    • swr : AVX および AVX2 CPU 命令を使用する高性能ソフトウェア rasterizer OpenSWR としても知られています。
ノート: mesa に適したドライバが自動的に選択されるはずですので、設定する必要はありません。
ヒント:
  • AMD (および ATI) では、プロプライエタリなものを使用する非常に強い理由がない限り、オープンソースのドライバを使用することをお勧めします。
  • NVIDIA では、プロプライエタリドライバをインストールした方が、新しいカードや一般的なパフォーマンスが向上する場合がほとんどです。

Verification

To verify your OpenGL installation you can use mesa-utils glxinfo and you should get output like this :

$ glxinfo | grep OpenGL
OpenGL vendor string: X.Org
OpenGL renderer string: AMD RV620 (DRM 2.50.0 / 5.10.12-arch1-1, LLVM 11.0.1)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 20.3.4
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 20.3.4
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 20.3.4
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:

(with different values depending on your setup, of course)

From the same package you can also try glxgears, you should see 3 rotating gears.

Switching between drivers

For Hybrid graphics you might want to see PRIME.

ノート: According to a reddit post can have 2 GPUs from different vendors working concurrently just fine.

Mesa

You can override used driver using the following environment variable:

MESA_LOADER_DRIVER_OVERRIDE=driver

By default mesa searches for drivers in /lib/dri/ you can see the list of drivers by

$ ls /lib/dri/

driver is the name of the driver without _dri.so. If it failed it will fallback to llvmpipe.

You can also use OpenGL software rasterizer drivers by setting the following environment variables:

LIBGL_ALWAYS_SOFTWARE=true
GALLIUM_DRIVER=driver

driver is one of softpipe, llvmpipe, or swr.

ヒント: As of the time of writing this llvmpipe & swr are faster than softpipe.

OpenGL over Vulkan (Zink)

If you experience some issues (a bug in RadeonSI, Iris, etc.), you may try using Zink.

On AMD RX 6700 XT the FPS is 58-105% depending on a game compared to RadeonSI according to [1].

As of 2021-11-30, many applications do not work on NVIDIA GPUs even with the latest driver 495.44 and mesa-gitAUR's master branch. When paired with Copper DRI extension (not yet upstreamed), the average FPS in Tomb Raider is 20% higher on a RTX 2070.

$ env __GLX_VENDOR_LIBRARY_NAME=mesa MESA_LOADER_DRIVER_OVERRIDE=zink GALLIUM_DRIVER=zink %app%

Development

ノート: This section is for developers who wants to use OpenGL. End users do not need any thing from this section.

Using OpenGL in code requires functions loader, read more at Khronos.

この記事またはセクションは加筆を必要としています。
理由: Put list of packages relevant to OpenGL and in Arch repo (議論: トーク:OpenGL#)

OpenGL Hardware Database

GPUInfo provides user reported GPU/driver combinations, supported extensions, capabilities, etc.