Include Multilib #125

Closed
opened 2022-05-22 22:08:50 +02:00 by RubenKelevra · 10 comments
Contributor

Is there a particular reason that this project doesn't include multilib packages?

I mean, they are mostly used for gaming (and run some older 32 bit applications) so they could definitily consume a significant amount of the used CPU time on a system - so kinda worth doing optimizations. :)

Is there a particular reason that this project doesn't include multilib packages? I mean, they are mostly used for gaming (and run some older 32 bit applications) so they could definitily consume a significant amount of the used CPU time on a system - so kinda worth doing optimizations. :)
anonfunc added the
enhancement
label 2022-05-23 14:10:17 +02:00
Owner

Sure, we can tackle that. Need to do dome researching, but it should not be that complicated.

Sure, we can tackle that. Need to do dome researching, but it should not be that complicated.
Author
Contributor

Cool :)

What do we need to research? :)

Cool :) What do we need to research? :)
Owner

Multilib builds use a different makepkg.conf iirc. Just need to adjust some flags and some logic choosing correct flags (e.g. which makepkg.conf to use; that's probably almost everything that needs to be done) for multilib repos.

Multilib builds use a different makepkg.conf iirc. Just need to adjust some flags and some logic choosing correct flags (e.g. which makepkg.conf to use; that's probably almost everything that needs to be done) for multilib repos.
Author
Contributor

This is an interesting observation:

# If using -march=native and the CPU supports AVX, launching a d3d9
# game can cause an Unhandled exception. The cause seems to be the
# combination of AVX instructions and tree vectorization (implied by O3),
# all tested archictures from sandybridge to haswell are affected.
# Since Wine 5.16 AVX is supported. Testing showed 32bit applications
# crashing with AVX regardless, but 64bit applications worked just fine.
# Relevant Wine issues
# https://bugs.winehq.org/show_bug.cgi?id=45289
# https://bugs.winehq.org/show_bug.cgi?id=43516
# AVX is "hard" disabled for 32bit in any case.
# AVX2 for 64bit is disabled below

Source: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=proton-ge-custom

This is an interesting observation: ``` # If using -march=native and the CPU supports AVX, launching a d3d9 # game can cause an Unhandled exception. The cause seems to be the # combination of AVX instructions and tree vectorization (implied by O3), # all tested archictures from sandybridge to haswell are affected. # Since Wine 5.16 AVX is supported. Testing showed 32bit applications # crashing with AVX regardless, but 64bit applications worked just fine. # Relevant Wine issues # https://bugs.winehq.org/show_bug.cgi?id=45289 # https://bugs.winehq.org/show_bug.cgi?id=43516 # AVX is "hard" disabled for 32bit in any case. # AVX2 for 64bit is disabled below ``` Source: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=proton-ge-custom
Owner

Well, that does affect wine only as far as I can tell? No problems then, we can just exclude it (if that is even necessary, most people probably do not use system wine to launch games).

Well, that does affect wine only as far as I can tell? No problems then, we can just exclude it (if that is even necessary, most people probably do not use system wine to launch games).
Author
Contributor

@anonfunc it doesn't affect wine at all, as wine will just not honer the system flags at all. :)

In this package the honering of system flags is patched in and they discovered why they are not honered :D

@anonfunc it doesn't affect wine at all, as wine will just not honer the system flags at all. :) In this package the honering of system flags is patched in and they discovered why they are not honered :D
Author
Contributor

I feel like we should just try to build everything "as is" and have a look at the outcome.

As adding the multilib-repo to the system is a manual operation we can just flag it as experimental for a while, to make sure people just don't assume everything "just works" :)

I feel like we should just try to build everything "as is" and have a look at the outcome. As adding the multilib-repo to the system is a manual operation we can just flag it as experimental for a while, to make sure people just don't assume everything "just works" :)
Owner

Sounds good, I'll see when I have time to add it.

Sounds good, I'll see when I have time to add it.
Owner

I added multilib support in 43db75f1f9. I'll activate it as soon as the current buildcycle is finished.

I added multilib support in https://somegit.dev/ALHP/ALHP.GO/commit/43db75f1f949ef0be062701cd5d17cf0df1404d7. I'll activate it as soon as the current buildcycle is finished.
Owner

First multilib buildcycle finished. We'll test them for a couple of days, maybe a week, to make sure everything works as expected.

If anyone wants to test them, add the new multilib repo above your current vanilla multilib entry in your pacman.conf:

[multilib-x86-64-v3]
Include = /etc/pacman.d/alhp-mirrorlist

[multilib]
Include = /etc/pacman.d/mirrorlist
First `multilib` buildcycle finished. We'll test them for a couple of days, maybe a week, to make sure everything works as expected. If anyone wants to test them, add the new multilib repo above your current vanilla multilib entry in your pacman.conf: ``` [multilib-x86-64-v3] Include = /etc/pacman.d/alhp-mirrorlist [multilib] Include = /etc/pacman.d/mirrorlist
Sign in to join this conversation.
No description provided.