Changeset d2f50ba


Ignore:
Timestamp:
04/05/2019 07:23:27 PM (3 years ago)
Author:
Ken Moffat <ken@…>
Branches:
10.0, 10.1, 11.0, 9.0, 9.1, ken/refactor-virt, lazarus, qt5new, trunk, upgradedb, xry111/git-date, xry111/git-date-for-trunk, xry111/git-date-test
Children:
a409004
Parents:
8381f5e
Message:

Mesa-19.0.1.

Now using a release build.
Drivers are limited to those which can be built on linux in the X86 architecture,
but all available drivers, even for old radeon versions, are again listed.

Note that tests now exist, and also that reducing the number of drivers will not save much time or space.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@21425 af4574ff-66df-0310-9fd7-8a98e5e911e0

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • general.ent

    r8381f5e rd2f50ba  
    11<!-- $LastChangedBy$ $Date$ -->
    22
    3 <!ENTITY day          "04">                   <!-- Always 2 digits -->
     3<!ENTITY day          "05">                   <!-- Always 2 digits -->
    44<!ENTITY month        "04">                   <!-- Always 2 digits -->
    55<!ENTITY year         "2019">
     
    77<!ENTITY copyholder   "The BLFS Development Team">
    88<!ENTITY version      "&year;-&month;-&day;">
    9 <!ENTITY releasedate  "April 4th, &year;">
     9<!ENTITY releasedate  "April 5th, &year;">
    1010<!ENTITY pubdate      "&year;-&month;-&day;"> <!-- metadata req. by TLDP -->
    1111<!ENTITY blfs-version "svn">                  <!-- svn|[release #] -->
  • introduction/welcome/changelog.xml

    r8381f5e rd2f50ba  
    4242    </listitem>
    4343-->
     44    <listitem>
     45      <para>April 5th, 2019</para>
     46      <itemizedlist>
     47        <listitem>
     48          <para>[ken] - Update to mesa-19.0.1.  Fixes
     49          <ulink url="&blfs-ticket-root;11866">#11866</ulink>.</para>
     50        </listitem>
     51      </itemizedlist>
     52    </listitem>
     53
    4454    <listitem>
    4555      <para>April 4th, 2019</para>
  • packages.ent

    r8381f5e rd2f50ba  
    654654<!ENTITY xkeyboard-config-version     "2.26">
    655655<!ENTITY mesa-major-minor             "19.0">
    656 <!ENTITY mesa-version                 "&mesa-major-minor;.0">
     656<!ENTITY mesa-version                 "&mesa-major-minor;.1">
    657657<!ENTITY xcb-util-version             "0.4.0">
    658658<!ENTITY xcb-util-image-version       "0.4.0">
  • x/installing/mesa.xml

    r8381f5e rd2f50ba  
    77  <!ENTITY mesa-download-http "https://mesa.freedesktop.org/archive/mesa-&mesa-version;.tar.xz">
    88  <!ENTITY mesa-download-ftp  "ftp://ftp.freedesktop.org/pub/mesa/mesa-&mesa-version;.tar.xz">
    9   <!ENTITY mesa-md5sum        "d0d76cd8b00bc1308e37985d4a45d3c5">
    10   <!ENTITY mesa-size          "11 MB">
    11   <!ENTITY mesa-buildsize     "1.6 GB (with demos and docs)">
    12   <!ENTITY mesa-time          "2.3 SBU (with parallelism=4, demos, and docs)">
     9  <!ENTITY mesa-md5sum        "19636bb3da35c21f43040d31e575d5ce">
     10  <!ENTITY mesa-size          "12 MB">
     11  <!ENTITY mesa-buildsize     "473 MB (with demos and docs), add 141 MB if tests are enabled ">
     12  <!ENTITY mesa-time          "2.4 SBU (with parallelism=4, demos, and docs), add 0.4 SBU if tests are enabled">
    1313]>
    1414
     
    8484          Recommended patch:
    8585          <ulink
    86             url="&patch-root;/mesa-&mesa-version;-add_xdemos-2.patch"/>
     86            url="&patch-root;/mesa-&mesa-version;-add_xdemos-1.patch"/>
    8787          (installs 2 demo programs for testing Mesa - not needed if you
    8888          install the <ulink url="ftp://ftp.freedesktop.org/pub/mesa/demos/">
     
    103103    <bridgehead renderas="sect4">Recommended</bridgehead>
    104104    <para role="recommended">
    105      
    106       <phrase revision="systemd"><xref linkend="libva"/> (to build drivers for
    107       supported hardware, note that there is a circular dependency. You must
     105
     106      <xref linkend="libva"/> (to provide VA-API support for some gallium
     107      drivers, note that there is a circular dependency. You must
    108108      build <application>libva</application> first without EGL and GLX support,
    109       install this package, and rebuild <application>libva</application>.),</phrase>
    110      
     109      install this package, and rebuild <application>libva</application>.),
    111110      <xref linkend="libvdpau"/> (to build VDPAU drivers),
    112      
    113       <xref linkend="llvm"/> (required for Gallium3D, r300, and radeonsi
    114       drivers and for the llvmpipe software rasterizer. See <ulink role="nodep"
     111      <xref linkend="llvm"/> (required for Gallium3D, nouveau, r300, and radeonsi
     112      drivers and for swrast, the software rasterizer which is sometimes referred
     113      to as llvmpipe. See <ulink role="nodep"
    115114      url="http://www.mesa3d.org/systems.html"/> for more information), and
    116115      <xref linkend="wayland-protocols"/> (required for
    117116        <xref role="nodep" linkend='plasma5-build'/>,
    118117        <!-- <xref role="nodep" linkend='lxqt'/>, -->
    119         GNOME, and
    120         recommended for  <xref role="nodep" linkend='gtk3'/>)
     118        GNOME, and recommended for  <xref role="nodep" linkend='gtk3'/>)
    121119    </para>
    122120
     
    140138      <para>
    141139        The instructions below assume that
    142         <application>LLVM</application> with the r600/amdgpu and host
    143         backends are installed. You will need to modify the instructions if you
    144         choose not to install it.  For an explanation of Gallium3D see
     140        <application>LLVM</application> with the r600/amdgpu and host backends
     141        and run-time type information (RTTI - needed for nouveau) are installed.
     142        You will need to modify the instructions if you
     143        choose not to install all of these. For an explanation of Gallium3D see
    145144        <ulink url="https://en.wikipedia.org/wiki/Gallium3D"/>.
    146145      </para>
     
    164163
    165164   <!-- Note that freedreno, vc4, and virgl all need special support from
    166         libdrm - renodr -->
    167 
    168    <para>Now, select the drivers you wish to install. 
    169    The gallium available drivers are
    170      kmsro, radeonsi, r300, r600, nouveau, freedreno,
    171      swrast, v3d, vc4, etnaviv, tegra, i915, svga, virgl, and
    172      swr.
    173 
    174    The DRI drivers available are
    175      i915, i965, r100, r200, nouveau, and swrast. 
    176    The platforms available are
    177      x11, wayland, drm, surfaceless, haiku, and android.
    178    
    179    Modify the commands
    180    below for any desired drivers.  The listed drivers below will cover most
    181    modern video cards.  For help in selecting drivers see <ulink
    182    url='http://www.mesa3d.org/systems.html'/>.</para>
    183 
    184 <screen><userinput>GALLIUM_DRV="nouveau,radeonsi,svga,swrast"
    185 DRI_DRIVERS="i915,i965,nouveau"
    186 PLATFORMS="x11,wayland,drm"</userinput></screen>
     165        libdrm - renodr
     166        For me, libdrm does not mention virgl, but mesa accepts it. AFAICS
     167        freedreno is for qualcom hardware, libdrm will build for it on suitable
     168        systems. VC4 is for the Broadcom VC4 used in the raspberry pi - ken -->
     169
     170    <note>
     171      <para>
     172        The measurements above, and the Contents below, are for a full build.
     173        Many people will not wish to install drivers they cannot use, so the
     174        following paragraphs explain how to limit the drivers, and give an
     175        example which can be be reduced or amended as necessary.
     176      </para>
     177    </note>
     178
     179    <para>
     180      Now, select the drivers you wish to install. For the X86 architecture, the
     181      available gallium drivers are auto, <emphasis>or alternatively a choice
     182      from</emphasis> i915, nouveau, r300, r600, radeonsi, svga, swrast, and
     183      virgl. The latter is recommended if you intend to run the system under
     184      <xref linkend="qemu"/>. If you wish to build all available gallium drivers,
     185      use 'auto'.
     186    </para>
     187
     188    <para>
     189      The (non-gallium) DRI drivers available in X86 are auto, <emphasis>or
     190      alternatively a choice from</emphasis> i915, i965, nouveau, r100, r200,
     191      and swrast. Use 'auto' to build all available DRI drivers, or use an
     192      empty string (DRI_DRIVERS="") if you wish to only build gallium drivers.
     193    </para>
     194
     195    <para>
     196      The platforms ("window systems") available for X86 linux are x11, wayland,
     197      drm, and surfaceless. By not specifying anything, the meson build-system
     198      will build for all these platforms if you have the dependencies, identical
     199      to if you had specified '-Dplatforms=auto'.
     200    </para>
     201
     202    <para>
     203      Modify the commands below for your desired drivers.  The drivers listed
     204      below will cover most modern video cards and virtual machines.  For help in
     205      selecting drivers see <ulink url='http://www.mesa3d.org/systems.html'/>.
     206    </para>
     207
     208    <note>
     209      <para>
     210        Although the nouveau drivers can be built for both gallium and dri, the
     211        i915 driver can only be built for one or the other.
     212      </para>
     213    </note>
     214
     215<screen><userinput>GALLIUM_DRV="i915,nouveau,r600,radeonsi,svga,swrast,virgl"
     216DRI_DRIVERS="i965,nouveau"</userinput></screen>
    187217
    188218    <para>
     
    195225
    196226meson --prefix=$XORG_PREFIX          \
    197       --sysconfdir=/etc              \
    198       -Dvalgrind=false               \
     227      -Dbuildtype=release            \
     228      -Ddri-drivers=$DRI_DRIVERS     \
     229      -Dgallium-drivers=$GALLIUM_DRV \
     230      -Dgallium-nine=true            \
    199231      -Dglx=dri                      \
    200232      -Dosmesa=gallium               \
    201       -Dgallium-nine=true            \
    202       -Ddri-drivers=$DRI_DRIVERS     \
    203       -Dgallium-drivers=$GALLIUM_DRV \
    204       -Dplatforms=$PLATFORMS         \
     233      -Dvalgrind=false               \
    205234      ..                             &amp;&amp;
    206235
    207 unset GALLIUM_DRV DRI_DRIVERS PLATFORMS &amp;&amp;
     236unset GALLIUM_DRV DRI_DRIVERS &amp;&amp;
    208237
    209238ninja</userinput></screen>
     
    215244
    216245<screen><userinput>make -C ../xdemos DEMOS_PREFIX=$XORG_PREFIX LIBRARY_PATH=$PWD/src/glx</userinput></screen>
    217 <!--
    218     <para>
    219       To test the results, issue: <command>make -k check</command>.
    220     </para>
    221 -->
    222     <para>
    223       This package does not come with a test suite.
     246
     247    <para>
     248      If you built the tests (see 'Command Explanations'), to run them issue:
     249      <command>ninja test</command>.
    224250    </para>
    225251
     
    251277  <sect2 role="commands">
    252278    <title>Command Explanations</title>
     279
     280    <para>
     281      <parameter>-Dbuildtype=release</parameter>: This switch ensures a
     282      fully-optimized build, and disables debug assertions which will
     283      severely slow down the libraries in certain use-cases.
     284    </para>
     285
     286    <para>
     287      <parameter>-Ddri-drivers="..."</parameter>: This parameter
     288      controls which (non-gallium) dri drivers should be built.
     289    </para>
     290
     291    <para>
     292      <parameter>-Dgallium-drivers="..."</parameter>: This parameter
     293      controls which Gallium3D drivers should be built.
     294    </para>
     295
     296    <para>
     297      <parameter>-Dgallium-nine=true</parameter>: This switch provides
     298      support for (MS Windows) games designed for DX9. It requires swrast.
     299    </para>
     300
     301    <para>
     302      <parameter>-Dosmesa=gallium</parameter>: This switch enables building
     303      the <filename class="libraryfile">libOSMesa</filename> library and
     304      provides Gallium3D support in it.
     305    </para>
    253306<!--
    254     <para>
    255       <parameter>CFLAGS="-O2" CXXFLAGS="-O2"</parameter>: By default,
    256       <application>Autoconf</application> sets CFLAGS and CXXFLAGS to
    257       "-g -O2". That results in binaries and libraries being built with
    258       debugging symbols which make them bigger. Override the default
    259       flags to omit the -g compiler flag so the final libraries are smaller.
    260     </para>
    261 
    262     <para>
    263       <parameter>LDFLAGS=-lLLVM</parameter>: This environment variable
    264       specifies the LLVM libraries that are not automatically included
    265       for some of the package components.
    266     </para>
    267 -->
    268 <!--
    269     <para>
    270       <parameter>- -enable-texture-float</parameter>: This switch enables
    271       floating-point textures and render buffers. Please consult
    272       <filename>docs/patents.txt</filename> to see if there are
    273       any legal issues if you use this feature.
    274     </para>
    275     Removed in 18.2.0
    276 -->
    277 <!--
    278     <para>
    279       <parameter>-Dosmesa=gallium</parameter>: This switch enables building
    280       the <filename class="libraryfile">libOSMesa</filename> library.
    281     </para>
    282 
    283     <para>
    284       <parameter>- -enable-xa</parameter>: This switch enables building the
    285       XA X Acceleration API (Required for VMware 3D Driver).
    286     </para>
    287 
    288     <para>
    289       <parameter>- -enable-gbm</parameter>: This switch enables building the
    290       <application>Mesa</application> Graphics Buffer Manager library.
    291     </para>
    292 
    293     <para>
    294       <parameter>- -enable-glx-tls</parameter>: This switch enables TLS (Thread Local
    295       Storage) support in GLX.
    296     </para>
    297 -->
    298307    <para>
    299308      <parameter>-Dplatforms="..."</parameter>: This parameter
    300309      controls which platforms EGL will be built for. Available
    301       platforms are drm, x11, surfaceless, haiku, android,  and wayland.
    302     </para>
    303 
    304     <para>
    305       <parameter>-Dgallium-drivers="..."</parameter>: This parameter
    306       controls which Gallium3D drivers should be built. Available drivers
    307       are pl111, radeonsi, r300, r600, nouveau, and freedreno.
    308     </para>
    309 
    310     <para>
    311       <parameter>-Ddri-drivers="..."</parameter>: This parameter
    312       controls which platforms should be supported. Available platforms
    313       are i915, i965, r100, r200, nouveau, and swrast.
    314     </para>
    315 
     310      linux X86 platforms are drm, x11, wayland, and surfaceless.
     311    </para>
     312-->
    316313    <para>
    317314      <parameter>-Dvalgrind=false</parameter>: This parameter disables
    318315      the usage of Valgrind during the build process. Remove this parameter
    319316      if you have Valgrind installed, and wish to check for memory leaks.
     317    </para>
     318
     319<!--
     320    <para>
     321      <parameter>- -enable-xa</parameter>: This switch enables building the
     322      XA X Acceleration API (Required for VMware 3D Driver).
     323    </para>
     324
     325    <para>
     326      <parameter>- -enable-gbm</parameter>: This switch enables building the
     327      <application>Mesa</application> Graphics Buffer Manager library.
     328    </para>
     329    These two seem to be automatic in 19.0 - ken
     330
     331    <para>
     332      <parameter>- -enable-glx-tls</parameter>: This switch enables TLS (Thread Local
     333      Storage) support in GLX.
     334    </para>
     335-->
     336    <para>
     337      <option>-Dbuild-tests=true</option>: This option will cause the test code
     338      to be enabled.
    320339    </para>
    321340
     
    335354        </seg>
    336355        <seg>
    337           <!-- Begin DRI drivers -->
    338           d3dadapter9.so, <!-- For Windows? This is DirectX's Direct3D -->
     356          <!-- Begin DRI drivers : this is the full set from auto -->
     357          d3dadapter9.so, <!-- For Windows games. This is DirectX's Direct3D -->
    339358          i915_dri.so,
    340359          i965_dri.so,
    341360          kms_swrast_dri.so,
    342361          nouveau_dri.so,
     362          nouveau_drv_video.so,
    343363          nouveau_vieux_dri.so,
     364          r200_dri.so,
     365          r300_dri.so,
     366          r600_dri.so,
     367          r600_drv_video.so,
     368          radeon_dri.so,
    344369          radeonsi_dri.so,
    345370          radeonsi_drv_video.so,
    346371          swrast_dri.so,
     372          virtio_gpu_dri.so,
    347373          vmwgfx_dri.so
    348374          <!-- End DRI Drivers -->
     
    353379          libOSMesa.so,
    354380          libXvMCnouveau.so,
     381          libXvMCr600.so,
    355382          libgbm.so,
    356383          libglapi.so,
     
    361388          libxatracker.so,
    362389          <!-- Begin VDPAU drivers -->
    363           libvdpau_nouveau.so, and
     390          libvdpau_nouveau.so,
     391          libvdpau_r300.so,
     392          libvdpau_r600.so, and
    364393          libvdpau_radeonsi.so
    365394          <!-- End VDPAU drivers -->
     
    367396        <seg>
    368397          $XORG_PREFIX/{include/{EGL,GL,GLES,GLES2,GLES3,KHR,vulkan},lib/{d3d,dri,vdpau}}
     398          $XORG_PREFIX/share/drirc.d (contains workarounds for various applications,
     399          particularly browsers and games)
     400          $XORG_PREFIX/share/vulkan/icd.d,
    369401          and
    370402          /usr/share/doc/mesa-&mesa-version; (optional)
Note: See TracChangeset for help on using the changeset viewer.