You are not logged in.

#1 2024-01-31 17:36:19

Beuman
Member
Registered: 2018-06-10
Posts: 23

Unreal Engine 5 gamedev and mesa-git drivers

Unreal Engine works best with mesa-git, but after an update yesterday hardware acceleration is not working anymore with electron/CEF, and works fine without acceleration

What LLVM version should be the best for game dev ?
Between the 4 choices :
1 : aur llvm-minimal-git
2 : aur llvm-git
3: llvm-git from LordHeavy' unofficial repo
4: llvm from extra repo

I am wondering if I have not built against stable llvm instead of trunk master, how can I verify that ?

Offline

#2 2024-01-31 19:09:44

WorMzy
Forum Moderator
From: Scotland
Registered: 2010-06-16
Posts: 11,899
Website

Re: Unreal Engine 5 gamedev and mesa-git drivers

After an update of *what*?

Mod note: moving to AUR Issues.


Sakura:-
Mobo: MSI MAG X570S TORPEDO MAX // Processor: AMD Ryzen 9 5950X @4.9GHz // GFX: AMD Radeon RX 5700 XT // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 6x 1TB SSD, 2x 120GB SSD, 1x 275GB M2 SSD

Making lemonade from lemons since 2015.

Online

#3 2024-01-31 19:53:47

Lone_Wolf
Forum Moderator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,961

Re: Unreal Engine 5 gamedev and mesa-git drivers

Several people have reported issues after yesterday's mesa-git update, see if disabling lto helps .

I am wondering if I have not built against stable llvm instead of trunk master, how can I verify that ?

mesa-git uses the env variable MESA_WHICH_LLVM to determine which llvm variant to use.
From your build environment run PRINTENV MESA_WHICH_LLVM .
If that doesn't show a value, the default of 4 (repo llvm)  is used.

Added

What LLVM version should be the best for game dev ?

That entirely depends on which hardware & software environment your target audience uses.

some example :
Do you expect them to use opencl-clover-mesa or opencl-rusticl-mesa ?
If yes, don't use llvm-git .

Would they be crosscompiling for arm systems ?
If yes, don't use llvm-minimal-git .

Last edited by Lone_Wolf (2024-01-31 20:09:03)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#4 2024-02-04 16:23:21

Beuman
Member
Registered: 2018-06-10
Posts: 23

Re: Unreal Engine 5 gamedev and mesa-git drivers

Hey, in my case I don't need openCL but need compiling for arm. PRINTENV MESA_WHICH_LLVM but I installed mesa-git with yay so I don't know if it could read that value on the PKGBUILD thus not building against stable llvm

Offline

#5 2024-02-05 12:27:36

Lone_Wolf
Forum Moderator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,961

Re: Unreal Engine 5 gamedev and mesa-git drivers

but I installed mesa-git with yay

From the (currently) 3rd pinned comment on aur mesa-git page

https://aur.archlinux.org/packages/mesa-git#comment-699927 wrote:

    choosing which llvm variant to build against

WARNING : aur helpers don't support this method at all. They check .SRCINFO and that doesn't include this variable so it will use the default which is hardcoded to build against repo llvm.

As far as I know all Aur helpers don't source the PKGBUILD as makepkg does, but rely on .SRCINFO .
So by using yay you are limiting yourself to building mesa-git against repo llvm.

unreal-engine PKGBUILD wrote:

# Change this to true or 1 for a potentially smaller package size
## Note: We can't guarantee that enabling this won't affect cross-distro compatibility given that Epic provides their own toolchain specifically
## based on the claim that it helps with compatibility...
## Though, you could just distribute your game as an AppImage if you decide to publish on a game store... tongue
_use_system_clang=false

I assume you haven't changed that and are building unreal engine with Epic's own llvm/clang toolchain ?


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#6 2024-02-14 03:40:45

Beuman
Member
Registered: 2018-06-10
Posts: 23

Re: Unreal Engine 5 gamedev and mesa-git drivers

I used Lord Heavy repo to reinstall my drivers

[mesa-git]
Server = https://pkgbuild.com/~lcarlier/$repo/$arch

3D app working better than before.
Steam crashing on startup, output of glxinfo :


name of display: :0.0
Error: couldn't find RGB GLX visual or fbconfig

Offline

#7 2024-02-14 13:15:11

Lone_Wolf
Forum Moderator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,961

Re: Unreal Engine 5 gamedev and mesa-git drivers

That usually means you don't have the llvm version installed that was used to built mesa.

please post the output of

$ lddtree /usr/lib/dri/radeonsi_dri.so

(lddtree comes from the pax-utils package)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#8 2024-02-14 14:11:41

Beuman
Member
Registered: 2018-06-10
Posts: 23

Re: Unreal Engine 5 gamedev and mesa-git drivers

Lone_Wolf wrote:

That usually means you don't have the llvm version installed that was used to built mesa.

please post the output of

$ lddtree /usr/lib/dri/radeonsi_dri.so

(lddtree comes from the pax-utils package)

I thought installing from LordHeavy repo would include the right llvm version.
I am getting this output :

lddtree /usr/lib/dri/radeonsi_dri.so
/usr/lib/dri/radeonsi_dri.so (interpreter => None)
    libglapi.so.0 => /usr/lib/libglapi.so.0
    libdrm.so.2 => /usr/lib/libdrm.so.2
    libLLVM-19git.so => /usr/lib/libLLVM-19git.so
        libffi.so.8 => /usr/lib/libffi.so.8
        libedit.so.0 => /usr/lib/libedit.so.0
        libncursesw.so.6 => /usr/lib/libncursesw.so.6
        libxml2.so.2 => /usr/lib/libxml2.so.2
            liblzma.so.5 => /usr/lib/liblzma.so.5
            libicuuc.so.74 => /usr/lib/libicuuc.so.74
                libicudata.so.74 => /usr/lib/libicudata.so.74
        ld-linux-x86-64.so.2 => /usr/lib/ld-linux-x86-64.so.2
    libexpat.so.1 => /usr/lib/libexpat.so.1
    libz.so.1 => /usr/lib/libz.so.1
    libzstd.so.1 => /usr/lib/libzstd.so.1
    libxcb-dri3.so.0 => /usr/lib/libxcb-dri3.so.0
        libxcb.so.1 => /usr/lib/libxcb.so.1
            libXau.so.6 => /usr/lib/libXau.so.6
            libXdmcp.so.6 => /usr/lib/libXdmcp.so.6
    libsensors.so.5 => /usr/lib/libsensors.so.5
    libdrm_radeon.so.1 => /usr/lib/libdrm_radeon.so.1
    libelf.so.1 => /usr/lib/libelf.so.1
    libdrm_amdgpu.so.1 => /usr/lib/libdrm_amdgpu.so.1
    libdrm_nouveau.so.2 => /usr/lib/libdrm_nouveau.so.2
    libstdc++.so.6 => /usr/lib/libstdc++.so.6
    libm.so.6 => /usr/lib/libm.so.6
    libgcc_s.so.1 => /usr/lib/libgcc_s.so.1
    libc.so.6 => /usr/lib/libc.so.6

Last edited by Beuman (2024-02-14 14:36:32)

Offline

#9 2024-02-14 14:41:27

Lone_Wolf
Forum Moderator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,961

Re: Unreal Engine 5 gamedev and mesa-git drivers

That output looks good, looking specific at glxinfo now.

Output of

$ LIBGL_DEBUG=verbose glxinfo -B

Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#10 2024-02-14 15:23:30

Beuman
Member
Registered: 2018-06-10
Posts: 23

Re: Unreal Engine 5 gamedev and mesa-git drivers

getting

name of display: :0.0
Error: couldn't find RGB GLX visual or fbconfig

Cannot start an Unreal project anymore "Cannot find a compatible Vulkan device that supports surface presentation"

Edit : After

pacman -S mesagit
error: failed retrieving file 'vulkan-mesa-git-1:21.0.0_devel.132340.296316b5dec-1-x86_64.pkg.tar.zst' from pkgbuild.com : The requested URL returned error: 404

vulkan-mesa-git is not on the repo so I don't have it

I installed packages 1-6 8 11-17 19 20 23 from this list :

   1) clang-git  2) compiler-rt-git  3) lib32-libdrm-git  4) lib32-llvm-git
   5) lib32-llvm-libs-git  6) lib32-mesa-git  7) lib32-vulkan-intel-git
   8) lib32-vulkan-mesa-layers-git  9) lib32-vulkan-radeon-git  10) libclc-git
   11) libdrm-git  12) lld-git  13) lldb-git  14) llvm-git  15) llvm-libs-git
   16) llvm-ocaml-git  17) mesa-git  18) opencl-mesa-git  19) polly-git
   20) spirv-llvm-translator-git  21) vulkan-intel-git  22) vulkan-mesa-git
   23) vulkan-mesa-layers-git  24) vulkan-nouveau-git  25) vulkan-radeon-git
   26) vulkan-swrast-git
less /var/log/Xorg.0.log | grep error

Output :

(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    31.952] (EE) AIGLX error: dlopen of /usr/lib/dri/swrast_dri.so failed (/usr/lib/dri/swrast_dri.so: undefined symbol: amdgpu_va_get_start_addr)
[    31.952] (EE) AIGLX error: unable to load driver swrast

It looked like that to me I don't need this package as I intent to run everything on my GPU and not my CPU. Anyway I installed it along mesagit to try and it failed





A bit more info :

lsmod | grep amd

edac_mce_amd           53248  0
kvm_amd               204800  0
kvm                  1376256  1 kvm_amd
ccp                   163840  1 kvm_amd
amdgpu              13352960  4
video                  77824  1 amdgpu
amdxcp                 12288  1 amdgpu
i2c_algo_bit           20480  2 igb,amdgpu
drm_ttm_helper         12288  1 amdgpu
ttm                   110592  2 amdgpu,drm_ttm_helper
drm_exec               12288  1 amdgpu
gpu_sched              65536  1 amdgpu
drm_suballoc_helper    12288  1 amdgpu
drm_buddy              20480  1 amdgpu
drm_display_helper    229376  1 amdgpu

pacman -Qs mesa output :

local/lib32-libdrm-git 2.4.116.r23.g6abc1640-1 (mesagit)
    Userspace interface to kernel DRM services (32-bit) (git version)
local/libdrm-git 2.4.116.r23.g6abc1640-1 (mesagit)
    Userspace interface to kernel DRM services (git version)
dktuser@dktpan ~ % pacman -Qs mesa
local/clang-git 19.0.0_r489391.7f40c5cc4e15-1 (mesagit)
    C language family frontend for LLVM (git version)
local/compiler-rt-git 19.0.0_r489391.7f40c5cc4e15-1 (mesagit)
    Compiler runtime libraries for clang (git version)
local/glu 9.0.3-1
    Mesa OpenGL utility library
local/lib32-libdrm-git 2.4.116.r23.g6abc1640-1 (mesagit)
    Userspace interface to kernel DRM services (32-bit) (git version)
local/lib32-llvm-git 19.0.0_r489396.b221b9733688-1 (mesagit)
    Low Level Virtual Machine (32-bit)(git version)
local/lib32-llvm-libs-git 19.0.0_r489396.b221b9733688-1 (mesagit)
    Low Level Virtual Machine library (runtime library)(32-bit)(git version)
local/lib32-mesa-git 1:24.1.0_devel.184401.72886cbefaa-1 (mesagit)
    an open-source implementation of the OpenGL specification (32-bit) (git version)
local/lib32-vulkan-mesa-layers-git 1:24.1.0_devel.184401.72886cbefaa-1 (mesagit)
    Mesa's Vulkan overlay layers (32-bit) (git version)
local/libdrm-git 2.4.116.r23.g6abc1640-1 (mesagit)
    Userspace interface to kernel DRM services (git version)
local/lld-git 19.0.0_r489391.7f40c5cc4e15-1 (mesagit)
    Linker from the LLVM project (git version)
local/lldb-git 19.0.0_r489391.7f40c5cc4e15-1 (mesagit)
    Next generation, high-performance debugger (git version)
local/llvm-git 19.0.0_r489391.7f40c5cc4e15-1 (mesagit)
    Collection of modular and reusable compiler and toolchain technologies (git version)
local/llvm-libs-git 19.0.0_r489391.7f40c5cc4e15-1 (mesagit)
    LLVM runtime libraries (git version)
local/llvm-ocaml-git 19.0.0_r489391.7f40c5cc4e15-1 (mesagit)
    OCaml bindings for LLVM (git version)
local/mesa-git 1:24.1.0_devel.184400.62fa5c8d0f0-1 (mesagit)
    an open-source implementation of the OpenGL specification (git version)
local/mesa-utils 9.0.0-3
    Essential Mesa utilities
local/polly-git 19.0.0_r489391.7f40c5cc4e15-1 (mesagit)
    High-level loop and data-locality optimizer and optimization infrastructure for LLVM (git version)
local/spirv-llvm-translator-git 19.0.0_r489391.7f40c5cc4e15-1 (mesagit)
    Tool and a library for bi-directional translation between SPIR-V and LLVM IR
local/vulkan-mesa-layers-git 1:24.1.0_devel.184400.62fa5c8d0f0-1 (mesagit)
    Mesa's Vulkan overlay layers (git version)

pacman -Qs vulkan output :

local/lib32-vulkan-icd-loader-git 1.3.277.r2.ge0d594e-1
    Vulkan Installable Client Driver (ICD) Loader (32-bit) (git version)
local/lib32-vulkan-icd-loader-git-debug 1.3.277.r2.ge0d594e-1
    Detached debugging symbols for lib32-vulkan-icd-loader-git
local/lib32-vulkan-mesa-layers-git 1:24.1.0_devel.184401.72886cbefaa-1 (mesagit)
    Mesa's Vulkan overlay layers (32-bit) (git version)
local/spirv-tools 2023.5-1 (vulkan-devel)
    API and commands for processing SPIR-V modules
local/vulkan-headers-git 1.3.277.r1.g5ac3626-1 (vulkan-devel)
    Vulkan header files
local/vulkan-icd-loader-git 1.3.277.r2.ge0d594e-1
    Vulkan Installable Client Driver (ICD) Loader (git version)
local/vulkan-icd-loader-git-debug 1.3.277.r2.ge0d594e-1
    Detached debugging symbols for vulkan-icd-loader-git
local/vulkan-mesa-layers-git 1:24.1.0_devel.184400.62fa5c8d0f0-1 (mesagit)
    Mesa's Vulkan overlay layers (git version)
local/vulkan-utility-libraries-git 1.3.277.r0.g86de0a0-1
    Vulkan Utility Libraries (git version)
local/vulkan-validation-layers-git 1.3.277.r64.gf9e921c-1
    Vulkan Validation Layers (git version)

Last edited by Beuman (2024-02-14 22:49:19)

Offline

#11 2024-02-15 03:09:46

Beuman
Member
Registered: 2018-06-10
Posts: 23

Re: Unreal Engine 5 gamedev and mesa-git drivers

I am installing linux-drm-next-git and headers, and will test tomorrow as it takes quite some time

Offline

#12 2024-02-15 10:56:26

Lone_Wolf
Forum Moderator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,961

Re: Unreal Engine 5 gamedev and mesa-git drivers

beumann wrote:

I am installing linux-drm-next-git and headers, and will test tomorrow as it takes quite some time

That won't help as the error is in your graphics setup .

pacman -S mesagit

error: failed retrieving file 'vulkan-mesa-git-1:21.0.0_devel.132340.296316b5dec-1-x86_64.pkg.tar.zst' from pkgbuild.com : The requested URL returned error: 404


vulkan-mesa-git is not on the repo so I don't have it

I have no idea what mesagit is and where it comes from, maybe it's  a package group ?  .
I also have no idea what vulkan-mesa-git is, but the version clarifies it is from the  first quarter of 2021 so 3 years old !

You have seen https://wiki.archlinux.org/title/Unoffi … s#mesa-git and noticed the description says that repo is built against archlinux testing repos ?
while that doesn't always give trouble, it should make you think twice about using it.

local/vulkan-icd-loader-git 1.3.277.r2.ge0d594e-1
local/vulkan-utility-libraries-git 1.3.277.r0.g86de0a0-1
local/vulkan-validation-layers-git 1.3.277.r64.gf9e921c-1

Where do those 3 come from ?

please post your pacman.conf .

Last edited by Lone_Wolf (2024-02-15 10:57:25)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#13 2024-02-15 16:11:20

Beuman
Member
Registered: 2018-06-10
Posts: 23

Re: Unreal Engine 5 gamedev and mesa-git drivers

Yes I am not fan using testing repo. I am thinking about just compiling drivers myself.
Maybe those packages comes from the old install back when I was using stable mesa.

/etc/pacman.conf :

#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives

#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir     = /
#DBPath      = /var/lib/pacman/
#CacheDir    = /var/cache/pacman/pkg/
#LogFile     = /var/log/pacman.log
#GPGDir      = /etc/pacman.d/gnupg/
#HookDir     = /etc/pacman.d/hooks/
HoldPkg     = pacman glibc
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = auto

# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg   =
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options
#UseSyslog
Color
#NoProgressBar
CheckSpace
#VerbosePkgLists
ParallelDownloads = 8

# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel    = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required

# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Arch Linux
# packagers with `pacman-key --populate archlinux`.

#
# REPOSITORIES
#   - can be defined here or included from another file
#   - pacman will search repositories in the order defined here
#   - local/custom mirrors can be added here or in separate files
#   - repositories listed first will take precedence when packages
#     have identical names, regardless of version number
#   - URLs will have $repo replaced by the name of the current repo
#   - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
#       [repo-name]
#       Server = ServerName
#       Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#

# The testing repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.

[testing]
Include = /etc/pacman.d/mirrorlist

[core]
Include = /etc/pacman.d/mirrorlist

[extra]
Include = /etc/pacman.d/mirrorlist

[community-testing]
Include = /etc/pacman.d/mirrorlist

[community]
Include = /etc/pacman.d/mirrorlist

# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.

[multilib-testing]
Include = /etc/pacman.d/mirrorlist

[multilib]
Include = /etc/pacman.d/mirrorlist

# An example of a custom package repository.  See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs

[mesa-git]
Server = https://pkgbuild.com/~lcarlier/$repo/$arch
SigLevel = PackageOptional

I am having the same errors as https://bbs.archlinux.org/viewtopic.php?id=276657 so I may have done a partial upgrade. How can I know what's the full list of packages to update when using LordHeavy repo ?

Last edited by Beuman (2024-02-15 20:38:21)

Offline

#14 2024-02-16 11:05:32

Lone_Wolf
Forum Moderator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,961

Re: Unreal Engine 5 gamedev and mesa-git drivers

Your pacman.conf still has community & community testing in them , which have been merged into extra & extra testing sometime last year (june ? ) after the repos were moved from svn to git.

You also don't have all necessary testing repositories enabled.

How can I know what's the full list of packages to update when using LordHeavy repo ?

If you only update those packages, that will be another partial update.

When was your last full update by running pacman -Syu ?


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#15 2024-02-16 13:33:09

Beuman
Member
Registered: 2018-06-10
Posts: 23

Re: Unreal Engine 5 gamedev and mesa-git drivers

Thanks I didn't knew for my pacman.conf
I update with pacman -Syu several times a day and after each install attempt

Here is my new pacman.conf file :

#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives

#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir     = /
#DBPath      = /var/lib/pacman/
#CacheDir    = /var/cache/pacman/pkg/
#LogFile     = /var/log/pacman.log
#GPGDir      = /etc/pacman.d/gnupg/
#HookDir     = /etc/pacman.d/hooks/
HoldPkg     = pacman glibc
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = auto

# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg   =
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options
#UseSyslog
Color
#NoProgressBar
CheckSpace
#VerbosePkgLists
ParallelDownloads = 8

# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel    = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required

# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Arch Linux
# packagers with `pacman-key --populate archlinux`.

#
# REPOSITORIES
#   - can be defined here or included from another file
#   - pacman will search repositories in the order defined here
#   - local/custom mirrors can be added here or in separate files
#   - repositories listed first will take precedence when packages
#     have identical names, regardless of version number
#   - URLs will have $repo replaced by the name of the current repo
#   - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
#       [repo-name]
#       Server = ServerName
#       Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#

# The testing repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.



[core-testing]
Include = /etc/pacman.d/mirrorlist

[core]
Include = /etc/pacman.d/mirrorlist

[extra-testing]
Include = /etc/pacman.d/mirrorlist

[extra]
Include = /etc/pacman.d/mirrorlist

[multilib-testing]
Include = /etc/pacman.d/mirrorlist

[multilib]
Include = /etc/pacman.d/mirrorlist







# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.





#Custom Repo :
# An example of a custom package repository.  See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs



[mesa-git]
Server = [url]https://pkgbuild.com/~lcarlier/$repo/$arch[/url]
SigLevel = PackageOptional

I removed everything and reinstalled mesagit with sudo pacman -S mesagit and selected the right packages 1 2 3 4 5 6 8 10 11 12 13 14 15 16 17 19 20 23 from

   1) clang-git  2) compiler-rt-git  3) lib32-libdrm-git  4) lib32-llvm-git  5) lib32-llvm-libs-git  6) lib32-mesa-git
   7) lib32-vulkan-intel-git  8) lib32-vulkan-mesa-layers-git  9) lib32-vulkan-radeon-git  10) libclc-git  11) libdrm-git  12) lld-git
   13) lldb-git  14) llvm-git  15) llvm-libs-git  16) llvm-ocaml-git  17) mesa-git  18) opencl-mesa-git  19) polly-git
   20) spirv-llvm-translator-git  21) vulkan-intel-git  22) vulkan-mesa-git  23) vulkan-mesa-layers-git  24) vulkan-nouveau-git
   25) vulkan-radeon-git  26) vulkan-swrast-git

glxinfo still output a "couldn't find RGB GLX visual or fbconfig", vulkan apps still don't work.

Lone_Wolf would you recommend me not to use LordHeavy mesagit repo and install build drivers by myself ? with MESA_WHICH_LLVM=2

Last edited by Beuman (2024-02-17 00:29:18)

Offline

#16 2024-02-17 16:06:21

Lone_Wolf
Forum Moderator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,961

Re: Unreal Engine 5 gamedev and mesa-git drivers

Several of those packages are not needed for most users, especiailly if you just want mesa/OpenGL/vulkan .

regardless of which mesa variant you choose, you should first change how you select stuff to instalI.
In general* stay away from package groups, they tend to install to much and every package in the group will have explicit as install reason thus obscuring dependency relations.

Follow a high level approach.
example :
my notes for installing on a new system have a short list of stuff I want.
firefox, thunderbird, libreoffice-still, krusader, k3b and okular are on that list.
I don't care much what those programs need to work, so i instruct pacman to install them .
pacman informs me it will install several hundred pacakges.

for every mesa variant it should go like this :

remove the mesa-git group with pacman from a root tty

start with the 64-bit stuff, leave lib32 for later.

libdrm or libdrm-git doesn't matter much unless you have very new hardware.

You will need mesa-git itself, but other packages depend on your hardware and expected usage.
You mentioned vulkan , so let's add that.

amd videocard : vulkan-radeon-git
intel videocard: vulkan-intel-git
general vulkan stuff : vulkan-mesa-layers, vulkan-tools

The list for an amd only system would have 4 entries : mesa-git (the package, not the group) + vulkan-radeon-git + vulkan-mesa-layers + vulkan-tools .
install those with pacman and let pacman pull in needed dependencies.


* base-devel & multilib-devel are very handy groups to have installed when you build stuff yourself.

Sidenote :
I have maintained aur mesa-git and aur llvm-git for years (still help out with them)  , created my own variant mesa-minimal-git/llvm-minimal-git a while ago and am far from an impartial source for determining which of the 3 llvm/mesa trunk variants is best.
They all have pros & cons.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

Board footer

Powered by FluxBB