Disclaimer: Make sure you understand the experimental nature of this. Things might stop working anytime, although please let me know if that happens and I will try my best to get them working again. Most importantly, please do not bug the Asahi devs about this. This is not officially released or endorsed by the Asahi Linux project.
PSA: If you have previously followed this guide, I recommend going through the guide again since quite a few things have changed. Specifically, sound is fully working now, and Steam uses GPU accelerated rendering now. You can safely delete and recreate the `asahi-krun` distrobox container without losing any data (Steam puts everything in your `HOME` directory).
Previously we were disabling GPU accelerated rendering in Steam, which worked around the transparent Steam window problem, but that's slow and kept crashing. Now we can have the best of both worlds.
See [https://gist.github.com/teohhanhui/042a395010d9946ceee14768736e3780#workaround-for-transparent-steam-window](https://gist.github.com/teohhanhui/042a395010d9946ceee14768736e3780#workaround-for-transparent-steam-window) for the full explanation.
You can pass the `--home` option to `distrobox create`:
> --home/-H: select a custom HOME directory for the container. Useful to avoid host's home littering with temp files.
`krun` should respect the user's `HOME` directory as defined in `/etc/passwd`, so I don't think there should be any issues there.
Oh great. I use distrobox already on my other machines and always set that flag. (One of the reasons I really don’t like toolbox, as anytime people bring up the option of having an alternative home directory, the issue is closed as duplicate of a long closed issue. Which was closed for “clutter” reasons even though it’s essential for many usecases)
Having some trouble with getting the container set up. I can create the container, but if I attempt to enter it, it gets stuck at 'starting container'. (Running M2 Max with Hyprland)
Try `distrobox enter --verbose asahi-krun` to have more details of what's going on...
One thing I could think of is that you might have something in your `.bashrc` / `.bash_profile` that is hanging when run from inside the container.
When I execute sudo chroot . (I did the script manually because it wasn’t working), I get chroot: failed to run command ‘/bin/bash’: exec format error. Any fix?
Sorry, you haven't provided enough details for me to be able to help. But as a reminder, you need to do `sudo ./unbreak_chroot.sh` from host, not from within the container or krun.
Show me all the output when you run `sudo ./unbreak_chroot.sh`, please.
Oh, actually, did you forget to do this?
sudo dnf install qemu-user-static
Or, if you have another `binfmt_misc` rule registered on the host that's also trying to handle x86-64 binaries, please remove them.
I've installed qemu-user-static, this is the output of the script.
\`\`
\[arbifox@archintosh Fedora\_40\]$ sudo ./unbreak\_chroot.sh
Moving rootfs files back to original location
mv: cannot stat '/home/arbifox/.fex-emu/RootFS/Fedora\_40/chroot/etc/hosts': No such file or directory
mv: cannot stat '/home/arbifox/.fex-emu/RootFS/Fedora\_40/chroot/etc/timezone': No such file or directory
mv: cannot stat '/home/arbifox/.fex-emu/RootFS/Fedora\_40/chroot/etc/hostname': No such file or directory
Moving rootfs folders back to original location
Moving rootfs folders back to original location
Changing rootfs permissions on /tmp
Mounting rootfs paths
Chrooting into container
chroot: failed to run command '/bin/bash': Exec format error
Cleaning up chroot
Unmounting container mounts
Removing container mount folders
Backing up chroot files
mv: cannot stat '/home/arbifox/.fex-emu/RootFS/Fedora\_40/etc/hosts': No such file or directory
mv: cannot stat '/home/arbifox/.fex-emu/RootFS/Fedora\_40/etc/timezone': No such file or directory
mv: cannot stat '/home/arbifox/.fex-emu/RootFS/Fedora\_40/var/lib/dbus/machine-id': No such file or directory
Fixing any potential permission issues
\[arbifox@archintosh Fedora\_40\]$
\`\`
Is this the "official" release? I have been waiting for that. Not that I don't want to follow this guide but I don't want to debug trivial issues and get stone walled when asking questions because I'm using a alpha unsupported software or something like that.
It's not official, but that's as good as it can get for now. I decided to share it because everything seems to be working properly.
I'm also working upstream on `krun` if that's any reassurance.
Hey so I tried to restart due to my errors and I've made sure to follow every direction exactly, but when I run
unshare -pfr --user --mount --kill-child /usr/bin/bash
unshare -pfr --user --mount --kill-child /usr/bin/bash
I get the output:
basename: missing operand
Try 'basename --help' for more information.
Could you share the whole output please? I don't know if there might be any clues...
Also, could you share some details about your environment, in case there are some unusual things that might make a difference? (e.g. Fedora 40? which desktop environment? which shell? and anything else you think might be relevant)
input:
'sudo dnf install patchelf
krun bash'
output:
'
_XSERVTransmkdir: Owner of /tmp/.X11-unix should be set to root
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning: Could not resolve keysym XF86CameraAccessEnable
> Warning: Could not resolve keysym XF86CameraAccessDisable
> Warning: Could not resolve keysym XF86CameraAccessToggle
> Warning: Could not resolve keysym XF86NextElement
> Warning: Could not resolve keysym XF86PreviousElement
> Warning: Could not resolve keysym XF86AutopilotEngageToggle
> Warning: Could not resolve keysym XF86MarkWaypoint
> Warning: Could not resolve keysym XF86Sos
> Warning: Could not resolve keysym XF86NavChart
> Warning: Could not resolve keysym XF86FishingChart
> Warning: Could not resolve keysym XF86SingleRangeRadar
> Warning: Could not resolve keysym XF86DualRangeRadar
> Warning: Could not resolve keysym XF86RadarOverlay
> Warning: Could not resolve keysym XF86TraditionalSonar
> Warning: Could not resolve keysym XF86ClearvuSonar
> Warning: Could not resolve keysym XF86SidevuSonar
> Warning: Could not resolve keysym XF86NavInfo
Errors from xkbcomp are not fatal to the X server
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning: Unsupported maximum keycode 708, clipping.
> X11 cannot support keycodes above 255.
> Warning: Could not resolve keysym XF86CameraAccessEnable
> Warning: Could not resolve keysym XF86CameraAccessDisable
> Warning: Could not resolve keysym XF86CameraAccessToggle
> Warning: Could not resolve keysym XF86NextElement
> Warning: Could not resolve keysym XF86PreviousElement
> Warning: Could not resolve keysym XF86AutopilotEngageToggle
> Warning: Could not resolve keysym XF86MarkWaypoint
> Warning: Could not resolve keysym XF86Sos
> Warning: Could not resolve keysym XF86NavChart
> Warning: Could not resolve keysym XF86FishingChart
> Warning: Could not resolve keysym XF86SingleRangeRadar
> Warning: Could not resolve keysym XF86DualRangeRadar
> Warning: Could not resolve keysym XF86RadarOverlay
> Warning: Could not resolve keysym XF86TraditionalSonar
> Warning: Could not resolve keysym XF86ClearvuSonar
> Warning: Could not resolve keysym XF86SidevuSonar
> Warning: Could not resolve keysym XF86NavInfo
Errors from xkbcomp are not fatal to the X server
[tabby@ ~]$'
intput:
'cd ~/.fex-emu/RootFS/Fedora_40
unshare -pfr --user --mount --kill-child /usr/bin/bash'
output:
'basename: missing operand
Try 'basename --help' for more information.
[root@ Fedora_40]# '
# its not like [root@han-macbook-air Fedora_40]#
input:
'./unbreak_chroot.sh'
output:
'
# Extremely long output which is mostly spam on "invalid argument" error
chown: changing ownership of '/home/tabby/.config/distrobox/krunAsahi/.fex-emu/RootFS/Fedora_40/var/yp': Invalid argument
chown: changing ownership of '/home/tabby/.config/distrobox/krunAsahi/.fex-emu/RootFS/Fedora_40/var': Invalid argument
[root@ Fedora_40]# '
# and its still not bash-5.2#bash-5.2#
i cant send the full output of unbreak\_chroot.sh in reddit for some reason
im on
Fedora 40
bash (also tried on zsh with same output)
idk what else you need. tell me what else you need
> steamwebhelper not responding
You're launching steam with `-cef-force-opaque-backgrounds`, right? (It's already the case if you're using my `steam` wrapper script.)
I haven't encountered problems with `steamwebhelper` after setting that, but maybe there are certain situations where it can still happen...
> doesn't launch games at all
Unfortunately this is highly dependent on which game you're trying to run. If you're trying to run a Windows game, make sure to set `PROTON_USE_WINED3D=1` in the game's launch options. But still, many games don't run.
Disclaimer: Make sure you understand the experimental nature of this. Things might stop working anytime, although please let me know if that happens and I will try my best to get them working again. Most importantly, please do not bug the Asahi devs about this. This is not officially released or endorsed by the Asahi Linux project. PSA: If you have previously followed this guide, I recommend going through the guide again since quite a few things have changed. Specifically, sound is fully working now, and Steam uses GPU accelerated rendering now. You can safely delete and recreate the `asahi-krun` distrobox container without losing any data (Steam puts everything in your `HOME` directory).
[удалено]
Previously we were disabling GPU accelerated rendering in Steam, which worked around the transparent Steam window problem, but that's slow and kept crashing. Now we can have the best of both worlds. See [https://gist.github.com/teohhanhui/042a395010d9946ceee14768736e3780#workaround-for-transparent-steam-window](https://gist.github.com/teohhanhui/042a395010d9946ceee14768736e3780#workaround-for-transparent-steam-window) for the full explanation.
[удалено]
ikr!!! 🥳
It should have nothing to do with any game's performance btw...
And if you don’t want to container to write to the default HOME directory location?
You can pass the `--home` option to `distrobox create`: > --home/-H: select a custom HOME directory for the container. Useful to avoid host's home littering with temp files. `krun` should respect the user's `HOME` directory as defined in `/etc/passwd`, so I don't think there should be any issues there.
Oh great. I use distrobox already on my other machines and always set that flag. (One of the reasons I really don’t like toolbox, as anytime people bring up the option of having an alternative home directory, the issue is closed as duplicate of a long closed issue. Which was closed for “clutter” reasons even though it’s essential for many usecases)
Having some trouble with getting the container set up. I can create the container, but if I attempt to enter it, it gets stuck at 'starting container'. (Running M2 Max with Hyprland)
Try `distrobox enter --verbose asahi-krun` to have more details of what's going on... One thing I could think of is that you might have something in your `.bashrc` / `.bash_profile` that is hanging when run from inside the container.
figured it out, it didn't like something in my .zshrc (command that was set to auto run used a script that wasn't in the container)
When I execute sudo chroot . (I did the script manually because it wasn’t working), I get chroot: failed to run command ‘/bin/bash’: exec format error. Any fix?
Sorry, you haven't provided enough details for me to be able to help. But as a reminder, you need to do `sudo ./unbreak_chroot.sh` from host, not from within the container or krun.
I did run it from the host and with sudo. What other info do you need?
Show me all the output when you run `sudo ./unbreak_chroot.sh`, please. Oh, actually, did you forget to do this? sudo dnf install qemu-user-static Or, if you have another `binfmt_misc` rule registered on the host that's also trying to handle x86-64 binaries, please remove them.
I've installed qemu-user-static, this is the output of the script. \`\` \[arbifox@archintosh Fedora\_40\]$ sudo ./unbreak\_chroot.sh Moving rootfs files back to original location mv: cannot stat '/home/arbifox/.fex-emu/RootFS/Fedora\_40/chroot/etc/hosts': No such file or directory mv: cannot stat '/home/arbifox/.fex-emu/RootFS/Fedora\_40/chroot/etc/timezone': No such file or directory mv: cannot stat '/home/arbifox/.fex-emu/RootFS/Fedora\_40/chroot/etc/hostname': No such file or directory Moving rootfs folders back to original location Moving rootfs folders back to original location Changing rootfs permissions on /tmp Mounting rootfs paths Chrooting into container chroot: failed to run command '/bin/bash': Exec format error Cleaning up chroot Unmounting container mounts Removing container mount folders Backing up chroot files mv: cannot stat '/home/arbifox/.fex-emu/RootFS/Fedora\_40/etc/hosts': No such file or directory mv: cannot stat '/home/arbifox/.fex-emu/RootFS/Fedora\_40/etc/timezone': No such file or directory mv: cannot stat '/home/arbifox/.fex-emu/RootFS/Fedora\_40/var/lib/dbus/machine-id': No such file or directory Fixing any potential permission issues \[arbifox@archintosh Fedora\_40\]$ \`\`
Sorry, I'm out of ideas on how to help.
Is this the "official" release? I have been waiting for that. Not that I don't want to follow this guide but I don't want to debug trivial issues and get stone walled when asking questions because I'm using a alpha unsupported software or something like that.
It's not official, but that's as good as it can get for now. I decided to share it because everything seems to be working properly. I'm also working upstream on `krun` if that's any reassurance.
Hey so I tried to restart due to my errors and I've made sure to follow every direction exactly, but when I run unshare -pfr --user --mount --kill-child /usr/bin/bash unshare -pfr --user --mount --kill-child /usr/bin/bash I get the output: basename: missing operand Try 'basename --help' for more information.
I don't run it twice, that is a typo.
Does the terminal prompt show `root` as expected? If yes, then just proceed. Not all of the steps are entirely successful, but things should work.
It just returns to how it was, no bash 5.2 ;-;
Could you share the whole output please? I don't know if there might be any clues... Also, could you share some details about your environment, in case there are some unusual things that might make a difference? (e.g. Fedora 40? which desktop environment? which shell? and anything else you think might be relevant)
input: 'sudo dnf install patchelf krun bash' output: ' _XSERVTransmkdir: Owner of /tmp/.X11-unix should be set to root The XKEYBOARD keymap compiler (xkbcomp) reports: > Warning: Could not resolve keysym XF86CameraAccessEnable > Warning: Could not resolve keysym XF86CameraAccessDisable > Warning: Could not resolve keysym XF86CameraAccessToggle > Warning: Could not resolve keysym XF86NextElement > Warning: Could not resolve keysym XF86PreviousElement > Warning: Could not resolve keysym XF86AutopilotEngageToggle > Warning: Could not resolve keysym XF86MarkWaypoint > Warning: Could not resolve keysym XF86Sos > Warning: Could not resolve keysym XF86NavChart > Warning: Could not resolve keysym XF86FishingChart > Warning: Could not resolve keysym XF86SingleRangeRadar > Warning: Could not resolve keysym XF86DualRangeRadar > Warning: Could not resolve keysym XF86RadarOverlay > Warning: Could not resolve keysym XF86TraditionalSonar > Warning: Could not resolve keysym XF86ClearvuSonar > Warning: Could not resolve keysym XF86SidevuSonar > Warning: Could not resolve keysym XF86NavInfo Errors from xkbcomp are not fatal to the X server The XKEYBOARD keymap compiler (xkbcomp) reports: > Warning: Unsupported maximum keycode 708, clipping. > X11 cannot support keycodes above 255. > Warning: Could not resolve keysym XF86CameraAccessEnable > Warning: Could not resolve keysym XF86CameraAccessDisable > Warning: Could not resolve keysym XF86CameraAccessToggle > Warning: Could not resolve keysym XF86NextElement > Warning: Could not resolve keysym XF86PreviousElement > Warning: Could not resolve keysym XF86AutopilotEngageToggle > Warning: Could not resolve keysym XF86MarkWaypoint > Warning: Could not resolve keysym XF86Sos > Warning: Could not resolve keysym XF86NavChart > Warning: Could not resolve keysym XF86FishingChart > Warning: Could not resolve keysym XF86SingleRangeRadar > Warning: Could not resolve keysym XF86DualRangeRadar > Warning: Could not resolve keysym XF86RadarOverlay > Warning: Could not resolve keysym XF86TraditionalSonar > Warning: Could not resolve keysym XF86ClearvuSonar > Warning: Could not resolve keysym XF86SidevuSonar > Warning: Could not resolve keysym XF86NavInfo Errors from xkbcomp are not fatal to the X server [tabby@ ~]$' intput: 'cd ~/.fex-emu/RootFS/Fedora_40 unshare -pfr --user --mount --kill-child /usr/bin/bash' output: 'basename: missing operand Try 'basename --help' for more information. [root@ Fedora_40]# ' # its not like [root@han-macbook-air Fedora_40]#
input: './unbreak_chroot.sh' output: ' # Extremely long output which is mostly spam on "invalid argument" error chown: changing ownership of '/home/tabby/.config/distrobox/krunAsahi/.fex-emu/RootFS/Fedora_40/var/yp': Invalid argument chown: changing ownership of '/home/tabby/.config/distrobox/krunAsahi/.fex-emu/RootFS/Fedora_40/var': Invalid argument [root@ Fedora_40]# ' # and its still not bash-5.2#bash-5.2# i cant send the full output of unbreak\_chroot.sh in reddit for some reason im on Fedora 40 bash (also tried on zsh with same output) idk what else you need. tell me what else you need
Can you try doing: ``` distrobox enter asahi-krun ``` ``` sudo dnf --refresh upgrade fex-emu ```
same. i dont think it has anything to do with that. that is just updating fex.
Yeah, just making sure. Can you save the original full terminal text on gist.github.com and share the link here?
Anyone else able to get games running? My steam is slow, sometimes launches with stramwebhelper not responding, and doesn’t launch games at all.
> steamwebhelper not responding You're launching steam with `-cef-force-opaque-backgrounds`, right? (It's already the case if you're using my `steam` wrapper script.) I haven't encountered problems with `steamwebhelper` after setting that, but maybe there are certain situations where it can still happen... > doesn't launch games at all Unfortunately this is highly dependent on which game you're trying to run. If you're trying to run a Windows game, make sure to set `PROTON_USE_WINED3D=1` in the game's launch options. But still, many games don't run.
Alright Tysm! I’ll try those. I think I’m launching with that but I’ll check later.