[Mesa-dev] Problem with RX 480 on Alien: Isolation and Dota 2

Marek Olšák maraeo at gmail.com
Tue Sep 13 17:53:34 UTC 2016


LLVM 64-bit:

mkdir -p build
cd build
cmake .. -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/llvm/x86_64-linux-gnu
-DLLVM_TARGETS_TO_BUILD="X86;AMDGPU" -DLLVM_ENABLE_ASSERTIONS=O
                  -DCMAKE_BUILD_TYPE=RelWithDebInfo
-DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON \
                  -DCMAKE_C_FLAGS_RELWITHDEBINFO="-O2 -g -DNDEBUG
-fno-omit-frame-pointer" \
                  -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O2 -g -DNDEBUG
-fno-omit-frame-pointer".
ninja
sudo ninja install


LLVM 32-bit:

mkdir -p build32
cd build32
cmake .. -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/llvm/i386-linux-gnu
-DLLVM_TARGETS_TO_BUILD="X86;AMDGPU" -DLLVM_ENABLE_ASSERTIONS=ON
                  -DCMAKE_BUILD_TYPE=RelWithDebInfo
-DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON \
                  -DCMAKE_C_FLAGS_RELWITHDEBINFO="-O2 -g -DNDEBUG
-fno-omit-frame-pointer" \
                  -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O2 -g -DNDEBUG
-fno-omit-frame-pointer" \
                  -DLLVM_BUILD_32_BITS=ON
ninja
sudo ninja install
# then add /usr/llvm/x86_64-linux-gnu and /usr/llvm/i386-linux-gnu to
ld.conf


Mesa configure helper script, it will overwrite the /usr/lib/ files on
Ubuntu (run as-is for 64-bit, or use "-32" for 32-bit):

if test x$1 = x-32; then
    dir=i386-linux-gnu
    build=i686-linux-gnu
    export CFLAGS="-m32 -O2 -g"
    export CXXFLAGS="$CFLAGS"
    export LDFLAGS="-L/usr/lib/$dir"
    export PKG_CONFIG_PATH="/usr/lib/$dir/pkgconfig"
else
    dir=x86_64-linux-gnu
    build=$dir
fi

./autogen.sh \
 --build=$build --prefix=/usr --libdir=/usr/lib/$dir
--with-llvm-prefix=/usr/llvm/$dir \
 --enable-glx-tls --enable-texture-float --enable-debug --enable-vdpau \
 --disable-xvmc --disable-va --enable-nine --with-sha1=libnettle \
 --with-gallium-drivers=radeonsi,r600,swrast --with-dri-drivers= \
 --with-egl-platforms=x11,drm --enable-gles1 --enable-gles2

make -j4
sudo make install

You'll probably want to delete /usr/lib/$dir/*mesa*/*. That's Ubuntu's
invention that will prevent you from using installed libGL and libEGL.

It's all kind of a mess, but I don't know of a better way.

Marek


On Tue, Sep 13, 2016 at 7:33 PM, Romain Failliot <
romain.failliot at foolstep.com> wrote:
> 2016-09-13 12:41 GMT-04:00 Marek Olšák <maraeo at gmail.com>:
>>
>> BTW, If you update LLVM to a newer version, you also have to re-build
>> Mesa, because the LLVM version used by Mesa is determined while Mesa
>> is being built.
>>
>> Also, the chance to rage-quit while building LLVM+Mesa is pretty high
>> if you've never done it before.
>
> I see, is there a tutorial somewhere maybe on how to do that?
> I know how to compile projects, that's not a problem. It's more about the
> little details to make everything work once it's compiled.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160913/b3694d7c/attachment.html>


More information about the mesa-dev mailing list