You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
if pactl info &>/dev/null; then
echo "🔊 PipeWire Sound-Check..."
./sound-fix.sh
check_status "Sound-Fix"
else
echo "⚠️ Kein PipeWire erkannt oder nicht gestartet"
fi
Xorg-Check
if ! xrandr --listmonitors &>/dev/null; then
echo "🖥️ Kein Xorg-Display erkannt – Starte Xorg-Reparatur..."
./xorg-fix.sh
check_status "Xorg-Fix"
else
echo "✅ Xorg-Display aktiv"
fi
echo "🏁 Reparatur abgeschlossen. System sollte jetzt bereit sein."
################ in english ########################
fixmodule/
#!/bin/bash# Module script – called by main-install.sh# Sets up network, sound, Xorg & Broadcom fix if necessary.# 1. Set network drivers & basicsecho"[1/6] Starting network fix..."
./netzwerk-fix.sh
# 2. Broadcom optional (if present – check manually)echo"[2/6] Broadcom fix (optional)..."
./broadcom-fix.sh
# 3. Fix sound issues (e.g. no output, PipeWire problems)echo"[3/6] Starting sound fix..."
./sound-fix.sh
# 4. Xorg driver (only if using X11 or Nvidia etc.)echo"[4/6] Starting Xorg fix..."
./xorg-fix.sh
# 5. Repair script for emergencies or cleanupecho"[5/6] Running repair..."
./repair-all.sh
# 6. Finished messageecho"[6/6] Module.sh finished running."
netzwerk-fix.sh
#!/bin/bashecho"=== Network Repair Mode (All-in-One) ==="# 1. Broadcom check (incl. DKMS / AUR / wl module)if lspci | grep -i broadcom | grep -iq "network";thenecho"🔍 Broadcom WLAN detected – applying driver fix..."# DKMS + headers
sudo pacman -Sy --needed dkms linux-zen-headers || sudo pacman -Sy --needed linux-headers
# Reinstall packageif pacman -Qs broadcom-wl | grep -q installed;thenecho"⚠️ Removing old broadcom-wl package..."
sudo pacman -Rns --noconfirm broadcom-wl
fi# Reinstall via yay
yay -S --noconfirm broadcom-wl-dkms
# Remove old modules, insert wl
sudo rmmod b43 b43legacy bcm43xx bcma brcm80211 brcmfmac brcmsmac ssb tg3 wl 2>/dev/null
sudo modprobe wl
echo"✅ Broadcom driver repaired."fi# 2. Unblock via rfkillecho"🔓 Unblocking WLAN via rfkill..."
sudo rfkill unblock all
# 3. Check/install standard networking toolsecho"🔧 Ensuring iproute2, iw & NetworkManager are present..."
sudo pacman -S --noconfirm iproute2 iw networkmanager
# 4. Start servicesecho"🔁 Enabling & starting NetworkManager..."
sudo systemctl enable NetworkManager --now
# 5. Show active interfaces for diagnosticsecho"🌐 Active network devices:"
ip link show | grep -Ei "^[0-9]+:|wl|en"# 6. WLAN scan (if nmcli is available)ifcommand -v nmcli >/dev/null 2>&1;thenecho"📡 Available WLANs:"
nmcli device wifi list
elseecho"⚠️ 'nmcli' not available – install with: sudo pacman -S networkmanager"fiecho"✅ Network repair completed."
#!/bin/bashecho"=== Sound Repair Module (PipeWire/ALSA) ==="# Check if PipeWire is runningif! systemctl --user is-active pipewire &>/dev/null;thenecho"⚠️ PipeWire is not running – trying to start it..."
systemctl --user start pipewire pipewire-pulse wireplumber
sleep 1
fi# Reinstall PipeWire if still inactiveif! systemctl --user is-active pipewire &>/dev/null;thenecho"🛠️ Reinstalling PipeWire..."
sudo pacman -Sy --noconfirm pipewire pipewire-alsa pipewire-pulse wireplumber
fiecho"✅ Sound system checked and repaired (if needed)."
latewriting:
I'm currently working on turning your Jakoolit setup (via git clone) into a fully-fledged Arch Hyprland ISO. I'd like to continue using your repo as the package source for this project.
However, some essential first-boot repair modules, especially Wi-Fi driver fixes, are missing. I'd like to suggest adding a more sophisticated solution that includes support for all common network hardware, so users don't end up with a finished Jakoolit desktop but no working Wi-Fi, relying only on LAN.
The module scripts I’ve written aim to cover several common fixes that might be needed during or after installation — especially as a general repair toolkit. They've been running reliably on three different devices using the Hyprland Jakoolit setup, so I believe they could work well as part of the full package or even as modular components.
The first script controls the sequence — the rest follows.
You could even integrate this specific functionality into the dotfiles and make it a permanent part of the Oh My Zsh setup — as a terminal function that runs automatically when the shell starts.
That way, the user would just need to type something like:
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
da es bei jakoolit immer zu problemen mit wlan treiber kommt nach einem frischen archinstall im tty und dann der start des script per git clone
möchte ich diese lösung als idee vorschlagen :
fixmodule/
#!/bin/bash
Modul-Skript – wird von main-install.sh aufgerufen
Setzt Netzwerk, Sound, Xorg & Broadcom-Fix wenn nötig.
1. Netzwerktreiber & Basis setzen
echo "[1/6] Netzwerk-Fix wird gestartet..."
./netzwerk-fix.sh
2. Broadcom optional (falls vorhanden – manuell checken)
echo "[2/6] Broadcom-Fix (optional)..."
./broadcom-fix.sh
3. Sound-Probleme fixen (z. B. kein Output, PipeWire zickt)
echo "[3/6] Sound-Fix wird gestartet..."
./sound-fix.sh
4. Xorg-Treiber (nur wenn man was mit X11 oder Nvidia etc. macht)
echo "[4/6] Xorg-Fix wird gestartet..."
./xorg-fix.sh
5. Reparatur-Skript für Notfälle oder Cleanup
echo "[5/6] Reparatur läuft..."
./repair-all.sh
6. Fertigmeldung
echo "[6/6] Module.sh komplett durchgelaufen."
#!/bin/bash
echo "=== Netzwerk Repair-Modus (All-in-One) ==="
1. Broadcom-Check (inkl. DKMS / AUR / wl-Modul)
if lspci | grep -i broadcom | grep -iq "network"; then
echo "🔍 Broadcom WLAN erkannt – führe Treiber-Fix durch..."
DKMS + Header
sudo pacman -Sy --needed dkms linux-zen-headers || sudo pacman -Sy --needed linux-headers
Paket neu installieren
if pacman -Qs broadcom-wl | grep -q installed; then⚠️ Entferne altes broadcom-wl Paket..."
echo "
sudo pacman -Rns --noconfirm broadcom-wl
fi
Neuinstallation via yay
yay -S --noconfirm broadcom-wl-dkms
Alte Module raus, wl rein
sudo rmmod b43 b43legacy bcm43xx bcma brcm80211 brcmfmac brcmsmac ssb tg3 wl 2>/dev/null
sudo modprobe wl
echo "✅ Broadcom-Treiber repariert."
fi
2. rfkill-Entsperrung
echo "🔓 Entsperre WLAN via rfkill..."
sudo rfkill unblock all
3. Standard-Netzwerktools checken/installieren
echo "🔧 Stelle sicher, dass iproute2, iw & NetworkManager da sind..."
sudo pacman -S --noconfirm iproute2 iw networkmanager
4. Dienste starten
echo "🔁 Aktiviere & starte NetworkManager..."
sudo systemctl enable NetworkManager --now
5. IP-Link zeigen zur Diagnose
echo "🌐 Aktive Netzwerkgeräte:"
ip link show | grep -Ei "^[0-9]+:|wl|en"
6. WLAN-Scan (wenn nmcli da)
if command -v nmcli >/dev/null 2>&1; then⚠️ 'nmcli' nicht verfügbar – installiere mit: sudo pacman -S networkmanager"
echo "📡 Verfügbare WLANs:"
nmcli device wifi list
else
echo "
fi
echo "✅ Netzwerk-Reparatur abgeschlossen."
#!/bin/bash
echo "=== Broadcom WLAN Autoinstaller ==="
Prüfen, ob Broadcom WLAN vorhanden ist
if ! lspci | grep -i broadcom | grep -iq "network"; then
echo "❌ Kein Broadcom WLAN-Gerät gefunden. Abbruch."
exit 1
fi
echo "✅ Broadcom WLAN erkannt"
Installiere DKMS & Kernel-Header (Zen oder Standard)
echo "✅ Installiere DKMS & Header (zen)"
sudo pacman -Sy --needed dkms linux-zen-headers || sudo pacman -Sy --needed linux-headers
Entferne altes Paket, wenn nötig
if pacman -Qs broadcom-wl | grep -q installed; then⚠️ Entferne altes broadcom-wl Paket..."
echo "
sudo pacman -Rns --noconfirm broadcom-wl
fi
Installiere broadcom-wl-dkms aus dem AUR
echo "✅ Installiere broadcom-wl-dkms aus dem AUR"
yay -S --noconfirm broadcom-wl-dkms
Entferne mögliche Konfliktmodule
echo "⚙️ Entlade alte WLAN-Module..."
sudo rmmod b43 b43legacy bcm43xx bcma brcm80211 brcmfmac brcmsmac ssb tg3 wl 2>/dev/null
Lade das neue Modul
echo "⚙️ Lade Modul wl..."
sudo modprobe wl
Netzwerkdienst neustarten (wenn NetworkManager läuft)
if systemctl is-active --quiet NetworkManager; then
echo "🔁 Starte NetworkManager neu..."
sudo systemctl restart NetworkManager
fi
echo "✅ Broadcom WLAN-Treiber installiert & aktiviert."
#!/bin/bash
echo "=== Sound Reparatur-Modul (PipeWire/ALSA) ==="
Prüfen, ob PipeWire läuft
if ! systemctl --user is-active pipewire &>/dev/null; then⚠️ PipeWire läuft nicht – versuche zu starten..."
echo "
systemctl --user start pipewire pipewire-pulse wireplumber
sleep 1
fi
Wenn PipeWire noch immer nicht aktiv ist, dann neu installieren
if ! systemctl --user is-active pipewire &>/dev/null; then
echo "🛠️ PipeWire wird (re)installiert..."
sudo pacman -Sy --noconfirm pipewire pipewire-alsa pipewire-pulse wireplumber
systemctl --user daemon-reexec
systemctl --user restart pipewire pipewire-pulse wireplumber
fi
Sicherstellen, dass ALSA da ist
echo "🔧 Stelle sicher, dass ALSA funktioniert..."
sudo pacman -S --noconfirm alsa-utils
Volume aufdrehen
echo "🔊 Setze Master-Volume auf 80%"
amixer sset Master 80% unmute &>/dev/null || pactl set-sink-volume @DEFAULT_SINK@ 80%
Testton abspielen
echo "🔉 Führe Soundtest durch..."
speaker-test -t wav -l 1 &>/dev/null &
sleep 2
pkill speaker-test
echo "✅ Sound-Modul abgeschlossen."
#!/bin/bash
echo "=== Xorg/Wayland Monitor-Reparatur ==="
log_and_continue() {⚠️ FEHLER: $1"
echo "
echo "↪️ Debug-Ausgabe:"
echo "----------------------------------"
echo "$2"
echo "----------------------------------"
}
Prüfe, ob ein Monitor erkannt wurde
XRANDR_OUTPUT=$(xrandr --listmonitors 2>&1)
if ! xrandr --listmonitors &>/dev/null; then
log_and_continue "Kein aktives Display erkannt." "$XRANDR_OUTPUT"
echo "🔁 Versuche Neustart des Display-Servers..."
Wayland oder Xorg?
if [ "$XDG_SESSION_TYPE" == "wayland" ]; then⚠️ Hyprland läuft nicht – versuche Start mit Wayland env..."⚠️ Keine ~/.xinitrc gefunden. Erstelle Basisdatei..."
echo "🌀 Wayland erkannt – prüfe Hyprland socket..."
if ! pgrep -x "Hyprland" &>/dev/null; then
echo "
HYPR_START=$(dbus-run-session Hyprland 2>&1 &)
sleep 3
if ! pgrep -x "Hyprland" &>/dev/null; then
log_and_continue "Hyprland konnte nicht gestartet werden." "$HYPR_START"
else
echo "✅ Hyprland erfolgreich gestartet."
fi
else
echo "✅ Hyprland läuft bereits."
fi
else
echo "📺 X11/Xorg erkannt – versuche Neustart von Xorg..."
if [ -f ~/.xinitrc ]; then
echo "🔁 Starte Xorg via startx..."
STARTX_LOG=$(startx 2>&1)
if [[ $? -ne 0 ]]; then
log_and_continue "startx schlug fehl." "$STARTX_LOG"
else
echo "✅ Xorg erfolgreich gestartet."
fi
else
echo "
echo 'exec startplasma-x11' > ~/.xinitrc
chmod +x ~/.xinitrc
STARTX_LOG=$(startx 2>&1)
if [[ $? -ne 0 ]]; then
log_and_continue "startx mit neuer xinitrc schlug fehl." "$STARTX_LOG"
else
echo "✅ Xorg erfolgreich gestartet (neu)."
fi
fi
fi
else
echo "✅ Monitor/Display erkannt: $XRANDR_OUTPUT"
fi
GPU erkennen
echo "🔍 Erkenne aktive GPU:"
GPU_INFO=$(lspci | grep -E "VGA|3D")
if [[ -z "$GPU_INFO" ]]; then
log_and_continue "Keine GPU gefunden." "$(lspci)"
else
echo "$GPU_INFO"
fi
Mesa- und DRM-Komponenten prüfen
echo "🔧 Prüfe Mesa & DRM..."
MESA_LIST=$(pacman -Qs mesa 2>&1)
DRM_MODULES=$(lsmod | grep drm)
if [[ -z "$MESA_LIST" ]]; then
log_and_continue "Mesa-Pakete fehlen scheinbar." "$MESA_LIST"
else
echo "$MESA_LIST"
fi
if [[ -z "$DRM_MODULES" ]]; then
log_and_continue "Keine DRM-Module aktiv." "$(lsmod)"
else
echo "$DRM_MODULES"
fi
Reinstall bei Bedarf
read -p "🔄 Möchtest du Mesa & DRM-Komponenten neu installieren? [y/N] " reinstall$reinstall =~ ^[Yy]$ ]]; then
if [[
REINSTALL_LOG=$(sudo pacman -S --noconfirm mesa vulkan-icd-loader xf86-video-intel libdrm 2>&1)
if [[ $? -ne 0 ]]; then
log_and_continue "Fehler beim Reinstall von Mesa & DRM." "$REINSTALL_LOG"
else
echo "✅ Mesa + Treiber erfolgreich neu installiert."
fi
fi
Abschluss
echo "🏁 Xorg/Wayland-Reparatur abgeschlossen. Weiter mit dem nächsten Modul."
#!/bin/bash
echo "=== Universal Arch Reparatur-Skript ==="
Funktion für Fehlerausgabe, ohne Abbruch
check_status() {
if [ $? -ne 0 ]; then
echo "❌ Fehler bei: $1"
else
echo "✅ OK: $1"
fi
}
Broadcom WLAN-Check
if lspci | grep -i broadcom &>/dev/null; then
echo "🔍 Broadcom WLAN erkannt – Starte Reparatur..."
./broadcom-fix.sh
check_status "Broadcom WLAN Reparatur"
fi
Netzwerk-Check
echo "🔧 Starte Netzwerk-Reparatur..."
./netzwerk-fix.sh
check_status "Netzwerk Reparatur"
Sound-Check
if pactl info &>/dev/null; then⚠️ Kein PipeWire erkannt oder nicht gestartet"
echo "🔊 PipeWire Sound-Check..."
./sound-fix.sh
check_status "Sound-Fix"
else
echo "
fi
Xorg-Check
if ! xrandr --listmonitors &>/dev/null; then
echo "🖥️ Kein Xorg-Display erkannt – Starte Xorg-Reparatur..."
./xorg-fix.sh
check_status "Xorg-Fix"
else
echo "✅ Xorg-Display aktiv"
fi
echo "🏁 Reparatur abgeschlossen. System sollte jetzt bereit sein."
################ in english ########################
fixmodule/
netzwerk-fix.sh
broadcom-fix.sh
sound-fix.sh
(cut-off part restored)latewriting:
I'm currently working on turning your Jakoolit setup (via
git clone
) into a fully-fledged Arch Hyprland ISO. I'd like to continue using your repo as the package source for this project.However, some essential first-boot repair modules, especially Wi-Fi driver fixes, are missing. I'd like to suggest adding a more sophisticated solution that includes support for all common network hardware, so users don't end up with a finished Jakoolit desktop but no working Wi-Fi, relying only on LAN.
The module scripts I’ve written aim to cover several common fixes that might be needed during or after installation — especially as a general repair toolkit. They've been running reliably on three different devices using the Hyprland Jakoolit setup, so I believe they could work well as part of the full package or even as modular components.
The first script controls the sequence — the rest follows.
You could even integrate this specific functionality into the dotfiles and make it a permanent part of the Oh My Zsh setup — as a terminal function that runs automatically when the shell starts.
That way, the user would just need to type something like:
┌[bandino@archhyprland] [/dev/pts/0]
└[~]> fixmodus
…and the modules would run through once automatically.
That’s my suggestion — I really think this would be a smart and useful addition.
Beta Was this translation helpful? Give feedback.
All reactions