blob: d708baaa61c83a88124e45fb8bcb2ece14a7c126 [file] [log] [blame] [view]
# Creating the Mesa Intel Linux driver asset (which supports Vulkan)
Using the automated asset python scripts requires that Docker be installed.
$ sk asset upload mesa_intel_driver_linux_22
See below for steps on just building the driver.
## WARNING
This asset is `mesa_intel_driver_linux_22`.
There is also `mesa_intel_driver_linux`, which contains pre-version
22 copies of the Mesa drivers, that's because in v22 Mesa dropped support for
"legacy" drivers which covers many of our existing Intel jobs.
## Using Docker
It is easiest to just use the Dockerfile provided:
docker build -t mesa-driver-builder:latest ./mesa-driver-builder/
docker run --volume /tmp/out:/OUT --env MESA_VERSION=22.1.3 mesa-driver-builder:latest
You may change `/tmp/out` to be the desired output directory and `22.1.3` to be the desired
version of the mesa driver.
Finally, use `/tmp/out` as the input directory to the upload script.
## Testing
Testing both the Vulkan and GLX drivers is done via setting environment variables.
For example, if the above is run and the build drivers are in `/tmp/out/` then they can be tested via:
cd /tmp/out
LIBGL_DRIVERS_PATH=`pwd` glxinfo | grep -i Mesa
VK_ICD_FILENAMES="./intel_icd.x86_64.json" vulkaninfo | grep Mesa
N.B. Make sure to pick a version of Mesa that your desktop is not currently
using and then run both commands above both with and w/o the environment
variables set to confirm that the drivers are really being picked up. For example:
With the 22.1.3 drivers:
~~~console
chrome-bot@skia-e-linux-600:~/mesa/foo$ VK_ICD_FILENAMES="./intel_icd.x86_64.json" vulkaninfo | grep Mesa
VK_LAYER_MESA_overlay (Mesa Overlay layer) Vulkan version 1.3.211, layer version 1:
driverName = Intel open-source Mesa driver
driverInfo = Mesa 22.1.3
driverName = Intel open-source Mesa driver
driverInfo = Mesa 22.1.3
~~~
Compared to the installed 22.0.5 drivers:
~~~console
chrome-bot@skia-e-linux-600:~/mesa/foo$ vulkaninfo | grep Mesa
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
VK_LAYER_MESA_overlay (Mesa Overlay layer) Vulkan version 1.3.211, layer version 1:
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
driverName = Intel open-source Mesa driver
driverInfo = Mesa 22.0.5
driverName = Intel open-source Mesa driver
driverInfo = Mesa 22.0.5
driverInfo = Mesa 22.0.5 (LLVM 14.0.4)
driverInfo = Mesa 22.0.5 (LLVM 14.0.4)
~~~