- mesa-utils
- Содержание
- Утилиты пакета
- glxdemo
- glxgears
- glxheads
- glxinfo
- Как установить последний графический драйвер Mesa в Ubuntu 20.04 / 21.04
- Как установить Mesa с помощью Ubuntu PPA:
- Восстановите исходные пакеты Mesa:
- Compiling and Installing¶
- 1. Prerequisites for building¶
- 1.1 General¶
- Build system¶
- Compiler¶
- Third party/extra tools.¶
- 1.2 Requirements¶
- 2. Building with meson¶
- 3. Running against a local build¶
- OpenGL¶
- Vulkan¶
- OpenCL¶
- Troubleshooting local builds¶
- 4. Building with AOSP (Android)¶
- 5. Library Information¶
- 6. Building OpenGL programs with pkg-config¶
- The Mesa 3D Graphics Library
- Featured APIs
- OpenCL
- VDPAU
- VA-API
- Supported Drivers
- Hardware
- Layered Drivers
- Software rendering
- Legacy Hardware
mesa-utils
Содержание
mesa-utils – пакет, включащий различные утилиты для проверки работоспособности открытых драйверов для видеокарт, развиваемых в рамках проекта Mesa.
Распространяется на условиях свободной лицензии группы Лицензий MIT «SGI Free Software License 2.0».
Для того, чтобы установить mesa-utils, нажмите специальную кнопку слева или выполните в терминале команду:
Mesa – реализация графического API OpenGL. Mesa ориентирована на обеспечение высокой производительности, в том числе за счёт использования аппаратного ускорения работы с графикой, поддерживаемого видеоадаптерами.
Mesa3D лежит в основе графической подсистемы операционных систем с открытым исходным кодом. Её обновление имеет большое значение для всех пользователей, не имеющих или не желающих использовать закрытые драйверы и библиотеки OpenGL от производителей оборудования.
В данный момент Mesa является одной из самых популярных реализаций OpenGL для Unix-подобных ОС, в том числе Ubuntu.
Утилиты пакета
glxdemo
Просмотр цветного квадрата для проверки Resize event и Redraw event.
glxgears
Просмотр вращающихся шестерёнок с выводом FPS 1) , даёт условную производительности 3D ускорения.
glxheads
Просмотр вращающегося треугольника с выводом информации об окне, дисплее и драйвере.
glxinfo
Получение широкой информации о поддержки direct rendering, glx extensions.
— получение информации о поддержке OpenGL renderer
Источник
Как установить последний графический драйвер Mesa в Ubuntu 20.04 / 21.04
Для тех, кто придерживается графических драйверов с открытым исходным кодом, могут легко установить самую новую библиотеку Mesa 3D graphics library с помощью Ubuntu PPA.
Mesa – это программная реализация OpenGL, Vulkan, VDPAU, VA-API и других спецификаций графических API с открытым исходным кодом.
Ubuntu использует Mesa в качестве реализации OpenGL, если не используется проприетарный драйвер. Однако она всегда старая. Для пользователей, которые хотят играть в игры с открытыми драйверами RadeonSI, RADV, Intel или Nouveau, вы можете попробовать последнюю версию Mesa через PPA.
Как установить Mesa с помощью Ubuntu PPA:
Существует надежный Ubuntu PPA, который содержит последние стабильные пакеты Mesa для Ubuntu 18.04, Ubuntu 20.04. Он также предоставляет пакеты для Ubuntu 20.10 и Ubuntu 21.04, но он не был протестирован.
- Добавьте репозиторий PPA:
Найдите и откройте терминал из меню системных приложений. Выполните команду для добавления PPA:
Прочитайте описание PPA по своему усмотрению и нажмите Enter, чтобы продолжить.
Для Ubuntu 18.04, Linux Mint, вам нужно обновить кэш пакетов, хотя в Ubuntu 20.04 и выше это делается автоматически.
Наконец, установите доступные обновления всех пакетов, включая библиотеку Mesa, с помощью команды:
Чтобы узнать версию пакета, используйте команду:
Восстановите исходные пакеты Mesa:
Чтобы восстановить исходное состояние графического драйвера, сначала установите ppa-purge с помощью команды:
Затем очистите Ubuntu PPA, что приведет к понижению рейтинга всех установленных пакетов:
Для Linux Mint 20 рекомендуется добавить флаг -d focal для безопасной работы:
Источник
Compiling and Installing¶
1. Prerequisites for building¶
1.1 General¶
Build system¶
Meson is required when building on *nix platforms and on Windows.
Android Build system when building as native Android component. Meson is used when building ARC.
Compiler¶
The following compilers are known to work, if you know of others or you’re willing to maintain support for other compiler get in touch.
GCC 4.2.0 or later (some parts of Mesa may require later versions)
Clang — exact minimum requirement is currently unknown.
Microsoft Visual Studio 2015 or later is required, for building on Windows.
Third party/extra tools.¶
Python — Python 3.5 or newer is required.
Python Mako module — Python Mako module is required. Version 0.8.0 or later should work.
Lex / Yacc — for building the Mesa IR and GLSL compiler.
On Linux systems, Flex and Bison versions 2.5.35 and 2.4.1, respectively, (or later) should work. On Windows with MinGW, install Flex and Bison with:
For MSVC on Windows, install Win flex-bison.
Some versions can be buggy (e.g. Flex 2.6.2) so do try others if things fail.
1.2 Requirements¶
The requirements depends on the features selected at configure stage. Check/install the respective development package as prompted by the configure error message.
Here are some common ways to retrieve most/all of the dependencies based on the packaging tool used by your distro.
2. Building with meson¶
Meson >= 0.46.0 is required
Meson is the latest build system in mesa, it is currently able to build for *nix systems like Linux and BSD, macOS, Haiku, and Windows.
The general approach is:
On Windows you can also use the Visual Studio backend
Please read the detailed meson instructions for more information
3. Running against a local build¶
It’s often necessary or useful when debugging driver issues or testing new branches to run against a local build of Mesa without doing a system-wide install. To do this, choose a temporary location for the install. A directory called installdir inside your mesa tree is as good as anything. All of the commands below will assume $MESA_INSTALLDIR is an absolute path to this location.
First, configure Mesa and install in the temporary location:
where OTHER_OPTIONS is replaced by any meson configuration options you may want. For instance, if you want to build the LLVMpipe drivers, it would look like this:
Once Mesa has built and installed to $MESA_INSTALLDIR , you can run any app against your temporary install by setting the right environment variables. Which variable you have to set depends on the API.
OpenGL¶
You may need to use lib instead of lib64 on some systems or a full library specifier on debian. Look inside installdir for the directory that contains libGL.so and use that one.
Vulkan¶
where my_icd.json is replaced with the actual ICD json file name. This will depend on your driver. For instance, the 64-bit lavapipe driver ICD file is named lvp_icd.x86_64.json .
OpenCL¶
Unlike Vulkan, OpenCL takes a path to the whole vendors folder and will enumerate any drivers found there.
Troubleshooting local builds¶
If you are trying to run an app against a local build and it’s not working, here are a few things to check:
Double-check your paths and try with the simplest app you can. Before banging your head on a Steam game, make sure your path works with glxgears first.
Watch out for wrapper scripts. Some more complex apps such as games have big start-up scripts. Sometimes those scripts scrub the environment or set LD_LIBRARY_PATH to something in the game’s install directory.
Is your Mesa build the same arch as your app? Lots of games are still 32-bit and your Mesa build is probably 64-bit by default.
32 and 64-bit builds in the same local install directory doesn’t typically work. Distros go to great lengths to make this work in your system install and it’s hard to get it right for a local install. If you’ve recently built 64-bit and are now building 32-bit, throw away the install directory first to prevent conflicts.
4. Building with AOSP (Android)¶
5. Library Information¶
When compilation has finished, look in the top-level lib/ (or lib64/ ) directory. You’ll see a set of library files similar to this:
libGL is the main OpenGL library (i.e. Mesa), while libOSMesa is the OSMesa (Off-Screen) interface library.
If you built the DRI hardware drivers, you’ll also see the DRI drivers:
If you built with Gallium support, look in lib/gallium/ for Gallium-based versions of libGL and device drivers.
6. Building OpenGL programs with pkg-config¶
Running ninja install will install package configuration files for the pkg-config utility.
When compiling your OpenGL application you can use pkg-config to determine the proper compiler and linker flags.
For example, compiling and linking a GLUT application can be done with:
Источник
The Mesa 3D Graphics Library
Open source implementations of OpenGL, OpenGL ES, Vulkan, OpenCL, and more!
Featured APIs
OpenGL is a cross-platform, industry standard graphics programming API for 3D graphics.
OpenGL ES is the mobile subset of OpenGL. It’s supported on all major mobile platforms, and is also the base for WebGL.
Vulkan is the next-generation graphics programming API from The Khronos® Group.
EGL is an interface between Khronos rendering APIs such as OpenGL or OpenVG and the underlying native platform window system.
OpenMAX is a non-proprietary and royalty-free cross-platform set of C-language programming interfaces, provides abstractions for processing of audio, video, and still images.
OpenCL
OpenCL is a framework for writing programs that execute across heterogeneous platforms consisting of CPUs, GPUs, DSPs, FPGAs and other processors or hardware accelerators.
VDPAU
VDPAU is the Video Decode and Presentation API for UNIX. It provides an interface to video decode acceleration and presentation hardware present in modern GPUs.
VA-API
VA-API is an open-source library and API specification, which provides access to graphics hardware acceleration capabilities for video processing.
XvMC is an extension of the X video extension (Xv) for the X Window System. The XvMC API allows video programs to offload portions of the video decoding process to the GPU hardware.
Even though Mesa provides implementations of the APIs listed above, not all combinations of drivers and APIs are formally conformant to their respective specifications.
Supported Drivers
Hardware
The R600 driver supports AMD’s Radeon HD 2000 GPU series. It’s officially supported by AMD, and is one of two Linux drivers for the hardware.
The RadeonSI OpenGL and OpenCL driver supports AMD’s Southern Island GPUs and later. It’s officially supported by AMD, and is one of two Linux drivers for the hardware.
The AMD RADV Vulkan driver supports AMD’s Southern Island GPUs and later. It’s not officially supported by AMD, but it’s based on public information provided by AMD.
The V3D OpenGL driver supports Broadcom’s VC5 and later GPUs, which is found in the Raspberry Pi 4. It’s officially supported by Broadcom, and is the official Linux driver for the hardware. More information…
The V3DV Vulkan driver supports Broadcom’s VC5 and later GPUs, similar to the V3D driver.
The VC4 driver supports Broadcom’s VC4 GPU, which is found among other other things in most of the Raspberry Pis. It’s officially supported by Broadcom, and is one of two Linux drivers for the hardware. More information…
The Etnaviv driver supports the Vivante GCxxx series of embedded GPUs. It’s a reverse-engineered, community-developed driver, and is not endorsed by Vivante. More information…
The Freedreno driver supports the Qualcomm Adreno GPUs, from the A2xx series to the A6xx series. It’s a reverse-engineered, community-developed driver, and is not endorsed by Qualcomm. More information…
The ANV vulkan driver supports Intel’s Gen 7 hardware and later. It’s officially supported by Intel and is their official Vulkan driver for Linux. More information…
The i965 driver supports Intel’s Gen 4 hardware and later. It’s officially supported by Intel and is their default OpenGL driver for Linux. More information…
The Iris driver supports Intel’s Gen 8 hardware and later. It’s officially supported by Intel and is their next-generation Linux OpenGL driver. More information…
Lima is a free and open source driver for the ARM Mali-4xx family of GPUs. It’s a reverse-engineered, community-developed driver, and is not endorsed by ARM. More information…
The Nouveau drivers supports a large set of NVIDIA chips, ranging from NV04 found in the Riva TNT card to NVF0 found in the GeForce GTX 780, as well as most of the Tegra GPUs. It’s a reverse-engineered, community-developed driver, and is not endorsed by NVIDIA. More information…
Panfrost is a free and open source driver for the ARM Mali Midgard and Bifrost GPUs. It’s a reverse-engineered, community-developed driver, and is not endorsed by ARM. More information…
Layered Drivers
The D3D12 driver is a Gallium driver that emits D3D12 API calls instead of targeting a specific GPU architecture. This can be used to get full desktop OpenGL support on devices that only support D3D12, as well as providing hardware acceleration for applications running under WSL. More information…
The SVGA3D driver gives a Linux virtual machine access to the host GPU for hardware-accellerated 3D when running either on VMware hypervisors (Workstation, Fusion, and ESX). It’s officially supported by VMware. More information…
The Venus driver is a virtual Vulkan GPU driver for sharing a GPU with a host for virtual machines. It uses Vulkan on the host to accelerate rendering.
The VirGL driver is a virtual OpenGL GPU driver for sharing a GPU with a host for virtual machines. It uses OpenGL or OpenGL ES on the host to accelerate rendering. More information…
The Zink driver is a Gallium driver that emits Vulkan API calls instead of targeting a specific GPU architecture. This can be used to get full desktop OpenGL support on devices that only support Vulkan. More information…
Software rendering
The LLVMPipe driver is a high-performance software renderer. It’s useful for systems without a dedicated GPU, or in the process of bringing up a platform. It uses LLVM as a code-generator to dynamically compile efficient machine code for the CPU. More information…
The OpenSWR driver is a high performance, highly scalable software renderer targeted towards visualization workloads. More information…
The Softpipe driver is a reference software rasterizer; it’s slow but accurate. It’s mostly useful for testing, and on systems that lacks support for LLVM.
Legacy Hardware
Due to the age of the hardware, these drivers are no longer very actively developed, and they are entirely community maintained.
The R200 driver supports AMD’s Radeon R200 GPU series.
The R300 driver supports AMD’s Radeon R300 GPU series.
The i915 driver supports Intel’s GMA 916G as well as the i830, i845 and i865 integrated GPU series.
Источник