-
Notifications
You must be signed in to change notification settings - Fork 103
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Vulkan support? #244
Comments
I've been using this fork from @zzywysm, which has had Vulkan support for a couple of weeks. It also includes several noticeable performance improvements which could not be upstreamed, notably:
It has been pretty much plug and play after I updated my CPU features list to the M2's. Boot times are decreased and I've noticed longer battery life, so until @tpwrules adds Vulkan support I recommend trying it! It should be clear how to add Honeykrisp to the kernel from looking at that repo. There is also the separate, and more difficult, issue of how to package Fedora's userspace microvm/FEX/WINE/DXVK stack--I have been struggling to get this to work. Right now only running (a specific version of) Steam is supported and my impression is that it still fairly buggy, so it might make sense to wait until it is in a less-alpha state to consider packaging. |
@waltmck How did you packaged MicroVM/FEX/WINE/DXVK? I've looked to the fork you mentioned, but I've not found it. I've also looked at your fork and your config. |
@matteocavestri Nothing you listed is packaged. Those have nothing to do with vulkan support. |
@rowanG077 I know it, but @waltmck spoke about that stack and It could be interesting to adopt here since fedora asahi remix have packaged that. |
@matteocavestri I haven't tried packaging "the right way" with Nix, but should be possible to get working in a Fedora distrobox with their packaging (and I managed to run Steam with FEX and the microvm this way). However, I haven't had time to figure out why mesa drivers are not visible inside of the container (I tried symlinking in several different files from the Nix store but |
This comment was marked as resolved.
This comment was marked as resolved.
You can also try my fork, vulkan works perfectly (e.g zeditor now runs). Contrary to zzywysm, I have not changed anything from tpwrules repository, except mesa & kernel. |
This comment was marked as resolved.
This comment was marked as resolved.
What problem do you have? This looks fine. If you want to try vulkan you can run vkgears -info |
This comment was marked as resolved.
This comment was marked as resolved.
I can compare once I am home. My efi stub is from a similar time. I assume you're on Wayland, not in xorg? I am using gnome as compositor. |
This comment was marked as resolved.
This comment was marked as resolved.
The vkgears output is exactly the same, except mine is a m1 pro, not a m2. I will push an update to nixpkgs & kernel soonish, maybe that helps. |
Updated the fork to use nixpkgs |
thank you i successfully updated, in the meantime I found the issue!
Thanks for helping, without you i assumed there was something wrong with my nix config and didn’t thought i had to tweak some obscure option in hyprland. |
@waltmck To use Vulkan, you need to use the Asahi Mesa drivers within the Fedora container. I've tested this with #!/bin/bash
sudo dnf upgrade --refresh
sudo dnf install 'dnf-command(copr)'
# Asahi Mesa (Optional: Change the filename according to your release)
cat <<EOF | sudo tee /etc/yum.repos.d/group_asahi-mesa-fedora-rawhide.repo > /dev/null
[copr:copr.fedorainfracloud.org:group_asahi:mesa]
name=Copr repo for mesa owned by @asahi
baseurl=https://download.copr.fedorainfracloud.org/results/@asahi/mesa/fedora-\$releasever-\$basearch/
type=rpm-md
skip_if_unavailable=True
gpgcheck=1
gpgkey=https://download.copr.fedorainfracloud.org/results/@asahi/mesa/pubkey.gpg
repo_gpgcheck=0
enabled=1
enabled_metadata=1
EOF
# Asahi Mesa x86_64 & i386 (Optional: Change the filename according to your release)
cat <<EOF | sudo tee /etc/yum.repos.d/group_asahi-mesa-fedora-rawhide-x86.repo > /dev/null
[copr:copr.fedorainfracloud.org:group_asahi:mesa:x86_64]
name=Copr repo for mesa owned by @asahi (x86_64)
baseurl=https://download.copr.fedorainfracloud.org/results/@asahi/mesa/fedora-\$releasever-x86_64/
type=rpm-md
skip_if_unavailable=True
gpgcheck=1
gpgkey=https://download.copr.fedorainfracloud.org/results/@asahi/mesa/pubkey.gpg
repo_gpgcheck=0
enabled=1
enabled_metadata=1
[copr:copr.fedorainfracloud.org:group_asahi:mesa:ml]
name=Copr repo for mesa owned by @asahi (i386)
baseurl=https://download.copr.fedorainfracloud.org/results/@asahi/mesa/fedora-\$releasever-i386/
type=rpm-md
skip_if_unavailable=True
gpgcheck=1
gpgkey=https://download.copr.fedorainfracloud.org/results/@asahi/mesa/pubkey.gpg
repo_gpgcheck=0
cost=1100
enabled=1
enabled_metadata=1
EOF
# Enable Asahi Steam Repository
sudo dnf copr enable @asahi/steam
sudo dnf upgrade --refresh
# Install Steam
sudo dnf install steam This setup provides working Mesa drivers and the Asahi-packaged version of Steam. If it helps, I also have benchmark comparisons between
The only remaining issue is linking
P.S. I know this discussion focuses on Vulkan, but since it’s somewhat resolved, this thread seems quite relevant to Vulkan support, especially as it’s been promoted by the Asahi community. |
Hi @matteocavestri, thanks for sharing this setup - I get comparable benchmarks with Is this something anyone's run into recently too? > steam
Using default interface naming scheme 'v257'.
steam.sh[315]: Running Steam on fedora 40 64-bit
steam.sh[315]: STEAM_RUNTIME is enabled automatically
setup.sh[364]: Steam runtime environment up-to-date!
steam.sh[315]: Steam client's requirements are satisfied
CProcessEnvironmentManager is ready, 6 preallocated environment variables.
[2024-12-21 14:08:23] Startup - updater built Dec 2 2024 21:26:10
[2024-12-21 14:08:23] Startup - Steam Client launched with: '[...]/.local/share/Steam/ubuntu12_32/steam' '-srt-logger-opened'
12/21 14:08:23 minidumps folder is set to /tmp/dumps
12/21 14:08:23 Init: Installing breakpad exception handler for appid(steam)/version(1733265492)/tid(423)
UABI mismatch: Kernel 1, Mesa 10011
glx: failed to create dri3 screen
failed to load driver: asahi
UABI mismatch: Kernel 1, Mesa 10011
glx: failed to create dri3 screen
failed to load driver: asahi
Looks like steam didn't shutdown cleanly, scheduling immediate update check
[2024-12-21 14:08:24] Loading cached metrics from disk ([...]/.local/share/Steam/package/steam_client_metrics.bin)
[2024-12-21 14:08:24] Using the following download hosts for Public, Realm steamglobal
[2024-12-21 14:08:24] 1. https://client-update.fastly.steamstatic.com, /, Realm 'steamglobal', weight was 900, source = 'update_hosts_cached.vdf'
[2024-12-21 14:08:24] 2. https://client-update.akamai.steamstatic.com, /, Realm 'steamglobal', weight was 100, source = 'update_hosts_cached.vdf'
[2024-12-21 14:08:24] 3. https://client-update.steamstatic.com, /, Realm 'steamglobal', weight was 1, source = 'baked in'
[2024-12-21 14:08:24] Checking for update on startup
[2024-12-21 14:08:24] Checking for available updates...
[2024-12-21 14:08:24] Downloading manifest: https://client-update.fastly.steamstatic.com/steam_client_ubuntu12
[2024-12-21 14:08:24] Manifest download: send request
[2024-12-21 14:08:24] Manifest download: waiting for download to finish
[2024-12-21 14:08:24] Manifest download: finished
[2024-12-21 14:08:24] Download skipped: /steam_client_ubuntu12 version 1733265492, installed version 1733265492, existing pending version 0
[2024-12-21 14:08:24] Nothing to do
[2024-12-21 14:08:24] Verifying installation...
[2024-12-21 14:08:24] Performing checksum verification of executable files
[2024-12-21 14:08:26] Verification complete
UpdateUI: skip show logo
Steam logging initialized: directory:[...]/.local/share/Steam/logs
pcilib: Cannot open /proc/bus/pci
lspci: Cannot find any working access method.
XRRGetOutputInfo Workaround: initialized with override: 0 real: 0xf5bb1e90
XRRGetCrtcInfo Workaround: initialized with override: 0 real: 0xf5bb05f0 |
Thank you all for the great information in this thread. I'm trying to run matteocavestri's script, but have not had success. I've run:
(I've also tested with rawhide)
I guess there are multiple problems here, but the most annoying is
that the steam updater doesn't get internet. This problem have been discussed multiple times over on reddit (supposed It seems like the same problem as AsahiLinux/muvm#77 (which waits for AsahiLinux/muvm#111). Did you face any of these problems @Lederstrumpf ? |
Vulkan support should be working for a bit now. Please open a new issue if you encounter problems. The emulation stack is not officially supported by this repo yet, but there's not any intrinsic reason it wouldn't work. |
HoneyKrisp is released, so I was wondering what steps need to be taken to port this over here, and what I can do to help.
My knowledge of this is pretty much "we need to update our mesa branch and update some kernel flags or smth, right?" so I don't know much, but I am very willing to help.
The text was updated successfully, but these errors were encountered: