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

Evgenii Shatokhin eugene.shatokhin at yandex.ru
Wed Sep 14 09:04:50 UTC 2016


On 13.09.2016 21:27, Romain Failliot wrote:
> Thanks a lot! I'll try that tonight!
>
> I have a 64-bit distrib, I don't think so but do I need to compile the 32-bit
> version of llvm as well (is it because Steam is using 32-bit libraries?).

Yes, you likely need both 64-bit and 32-bit LLVM and Mesa. 32-bit 
libraries are needed for Steam itself but some games launched from Steam 
seem to use 64-bit ones.

For this reason, I am now actually building both 64-bit and 32-bit 
versions for our Linux distro, ROSA.

I do not know whether it is possible to get away with only 64-bit 
versions somehow.

By the way, many thanks to Marek Olšák for the build instructions!

Regards,
Evgenii

>
> 2016-09-13 13:53 GMT-04:00 Marek Olšák <maraeo at gmail.com>:
>> 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.
>>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>



More information about the mesa-dev mailing list