# Set up Asahi Linux for Scientific Work and My Comfort ## Comfort ### Update, Non-Free and DRM After first boot run ```zsh sudo dnf update --refresh ``` For Web Spotify run ```zsh sudo widevine-installer ``` Netflix will still not work, follow the [Asahi Docs FAQ](https://docs.fedoraproject.org/en-US/fedora-asahi-remix/faq/#_how_do_i_access_protected_content_in_browsers_widevine_drm) [RPM Fusion](https://docs.fedoraproject.org/en-US/quick-docs/rpmfusion-setup/) for restricted codecs (H.265/HEVC,AC-4, etc.) ```zsh sudo dnf install \ https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \ https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm ``` ### Reactivate the Notch Use this command ```zsh grubby --args=apple_dcp.show_notch=1 --update-kernel=ALL ``` Or edit `/etc/default/grub` and add `apple_dcp.show_notch=1` to `GRUB_CMDLINE_LINUX_DEFAULT`. Then use the command ```zsh sudo grub2-mkconfig -o /etc/grub2.cfg reboot ``` For more info read about the [Unified Grub Config](https://fedoraproject.org/wiki/Changes/UnifyGrubConfig) ### Install zsh with plugins and make it default ``` sudo dnf install zsh chsh ``` Follow the process and enter `/bin/zsh`. This changed the login shell ``` chsh -s /opt/bin/zsh ``` To change the interactive shell. Now logout and in again for changes to take effect. Install [oh-my-zsh](https://ohmyz.sh/) ```zsh sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" ``` Install the plugin [zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions) for fish like suggestions Clone ``` git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions ``` Add the plugin to the list of plugins for Oh My Zsh to load inside the `~/.zshrc`: ```.zshrc plugins=( # other plugins... zsh-autosuggestions ) ``` ## Science Stuff ### Install Zotero - Download Zorero [pre built binary](https://repo.archlinuxcn.org/aarch64/) - extract - move content with `rsync -avz $PATH_TO_EXTRACTED_TAR/usr/lib/zotero /opt/` - create a `zotero.desktop` file in `.local/share/applications/` and fill with the follwing: ```.desktop #!/usr/bin/env xdg-open [Desktop Entry] Encoding=UTF-8 Version=1.0 Type=Application Terminal=false Exec=/opt/zotero/zotero Name=Zotero Icon=/opt/zotero/icons/icon128.png ``` - (optional) install the firefox extension ### Julia ``` curl -fsSL https://install.julialang.org | sh ``` ### List of Software available via dnf - thunderbird: A mail Client - alacritty: A terminal emulator - vim-X11: Vim that support the global clipboard, maybe
# How to build a C++ project with OpenMP dependence on Mac Arm arch64 Have homebrew installed ```bash export OpenMP_ROOT=$(brew --prefix)/opt/libomp export LDFLAGS=-L$(brew --prefix)/lib export CPPFLAGS=-I$(brew --prefix)/include ``` As of 02.07.2025
# Pi Pico Projects ## Installation of Pi Pico C/C++ SDK for Asahi Linux F41 This is a setup guide oriented at the offical Getting Started Guide from Pi Pico C/C++ SDK. As Asahi Linux is a Fedora System as of now, these instructions should also work on other Fedota systems, however I have not tested it. Start by creating a pico project dir and install the necessary toolchain for cross compilation. ```bash cd ~ mkdir pico && cd pico git clone https://github.com/raspberrypi/pico-sdk.git --branch maste cd pico-sdk git submodule update --init cd .. git clone https://github.com/raspberrypi/pico-examples.git --branch master sudo dnf install arm-none-eabi-gcc-cs arm-none-eabi-newlib arm-none-eabi-gcc-cs-c++ ``` Also make sure, that Developer tools are installed, i.e. cmake Then adding the pi pico sdk to path in `.zshrc` ```zsh vim ~/.zshenv ``` Then add a line with ```zsh export PICO_SDK_PATH=$HOME/pico/pico-sdk ``` and source the `.zshenv` file or reopen a new terminal. For building an example: ```bash cd ~/pico/pico-examples mkdir build && cd build cmake .. cd blink make -j4 ``` When everything runs without errors, there will be a `blink.uf2`, which can be copied to a RP Pi Pico. When running the first cmake command, you will get the warning that picotools is not installed. ## Installation of picotool picotool is used to interact with a RP2040 that is connected via usb. ```bash cd ~/pico git clone https://github.com/raspberrypi/picotool.git cd picotool mkdir build && cd build cmake .. make ``` Now you can run `picotool` from the current directory. If you want global acces cp the `picotool` executable to a place that is availabel on `$PATH`. For me this is ```bash cp picotool $HOME/.local/bin ``` ### References - [Getting started with Raspberry Pi Pico-series C/C++](https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf) - [C/C++ SDK Documentation](https://www.raspberrypi.com/documentation/microcontrollers/c_sdk.html)