diff options
| author | Nippy <nippy@Nippy-Mac-mini.local> | 2026-10-17 15:21:25 +0200 |
|---|---|---|
| committer | Nippy <nippy@Nippy-Mac-mini.local> | 2026-10-17 15:21:25 +0200 |
| commit | cd98303dd1582dc79f66868a0d44fba72c5ddbe8 (patch) | |
| tree | 3f5109fcd756112b026a0838113d2d8d488078f4 | |
| parent | d955a4c361fc90cbf9e3af163f767cec7f7d87d0 (diff) | |
| download | RaveOS-PKGBUILD-main.tar.gz RaveOS-PKGBUILD-main.zip | |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ChrmEpbQDL1pFBydMzBaCx
| -rw-r--r-- | .forgejo/scripts/mirror-core-repo.sh | 14 | ||||
| -rw-r--r-- | raveos-calamares-theme/PKGBUILD | 2 | ||||
| -rw-r--r-- | raveos-calamares-theme/etc/calamares/modules/calamares-gpu-drivers.sh | 85 | ||||
| -rw-r--r-- | raveos-calamares-theme/etc/calamares/modules/partition.conf | 7 |
4 files changed, 79 insertions, 29 deletions
diff --git a/.forgejo/scripts/mirror-core-repo.sh b/.forgejo/scripts/mirror-core-repo.sh index 9c6d5e0..20ee1dc 100644 --- a/.forgejo/scripts/mirror-core-repo.sh +++ b/.forgejo/scripts/mirror-core-repo.sh @@ -46,14 +46,12 @@ for f in *.pkg.tar.zst; do [ -n "$pkgname" ] || continue while IFS=$'\t' read -r aid aname; do [ -n "$aid" ] || continue - case "$aname" in - "${pkgname}-"*.pkg.tar.zst | "${pkgname}-"*.pkg.tar.zst.sig) - if [ "$aname" != "$f" ] && [ "$aname" != "${f}.sig" ]; then - curl -sf -X DELETE -H "@${HDRFILE}" "${API}/releases/assets/${aid}" || true - echo "torolve (regi verzio): $aname" - fi - ;; - esac + aname_nosig="${aname%.sig}" + apkg=$(echo "$aname_nosig" | sed -E 's/-[0-9][^-]*-[^-]*-[^-]*\.pkg\.tar\.zst$//') + if [ "$apkg" = "$pkgname" ] && [ "$aname" != "$f" ] && [ "$aname" != "${f}.sig" ]; then + curl -sf -X DELETE -H "@${HDRFILE}" "${API}/releases/assets/${aid}" || true + echo "torolve (regi verzio): $aname" + fi done <<< "$existing_names" done diff --git a/raveos-calamares-theme/PKGBUILD b/raveos-calamares-theme/PKGBUILD index f27527f..9474c43 100644 --- a/raveos-calamares-theme/PKGBUILD +++ b/raveos-calamares-theme/PKGBUILD @@ -1,7 +1,7 @@ # Maintainer: nippy <nippy@tuta.io> pkgname=raveos-calamares-theme pkgver=2.0.0 -pkgrel=75 +pkgrel=76 pkgdesc="RaveOS Calamares Theme" arch=('any') url="https://git.rp1.hu/RaveOS" diff --git a/raveos-calamares-theme/etc/calamares/modules/calamares-gpu-drivers.sh b/raveos-calamares-theme/etc/calamares/modules/calamares-gpu-drivers.sh index 462a289..7038237 100644 --- a/raveos-calamares-theme/etc/calamares/modules/calamares-gpu-drivers.sh +++ b/raveos-calamares-theme/etc/calamares/modules/calamares-gpu-drivers.sh @@ -7,16 +7,17 @@ GPU_INFO="$(lspci -nn | grep -E 'VGA|3D|Display' || true)" echo ">>> [gpu] Detected devices:" echo "$GPU_INFO" +pacman -Syy --noconfirm || true + install_pkgs() { - pacman -Syy --noconfirm || true - pacman -S --noconfirm "$@" || true + pacman -S --needed --noconfirm "$@" || true } install_pkgs mesa libglvnd vulkan-icd-loader if echo "$GPU_INFO" | grep -qi "Intel"; then echo ">>> [gpu] Installing Intel stack..." - install_pkgs mesa vulkan-intel intel-media-driver + install_pkgs mesa vulkan-intel intel-media-driver fi if echo "$GPU_INFO" | grep -qi "AMD\|ATI"; then @@ -25,41 +26,93 @@ if echo "$GPU_INFO" | grep -qi "AMD\|ATI"; then fi if echo "$GPU_INFO" | grep -qi "NVIDIA"; then - echo ">>> [gpu] Installing NVIDIA DKMS stack..." + echo ">>> [gpu] NVIDIA detected -> driver kivalasztasa..." + + NV_IDS=$( { lspci -n -d 10de::0300; lspci -n -d 10de::0302; lspci -n -d 10de::0380; } | awk '{print $3}' | cut -d: -f2 | sort -u || true ) + + driver_family() { + local id="$1" dec + [[ "$id" =~ ^[0-9a-fA-F]{4}$ ]] || { echo unsupported; return; } + dec=$((16#$id)) + if [ "$dec" -ge $((0x1E00)) ]; then echo open; return; fi + if [ "$dec" -ge $((0x1340)) ] && [ "$dec" -le $((0x13FF)) ]; then echo 580xx; return; fi + if [ "$dec" -ge $((0x1400)) ] && [ "$dec" -le $((0x1DFF)) ]; then echo 580xx; return; fi + if [ "$dec" -ge $((0x0FC0)) ] && [ "$dec" -le $((0x103F)) ]; then echo 470xx; return; fi + if [ "$dec" -ge $((0x1180)) ] && [ "$dec" -le $((0x11FF)) ]; then echo 470xx; return; fi + if [ "$dec" -ge $((0x1280)) ] && [ "$dec" -le $((0x12BF)) ]; then echo 470xx; return; fi + echo unsupported + } + + BESTFAM=unsupported + BESTRANK=0 + for id in $NV_IDS; do + fam=$(driver_family "$id") + echo ">>> [gpu] NVIDIA ${id} -> ${fam}" + rank=0 + case "$fam" in + open) rank=4 ;; + 580xx) rank=3 ;; + 470xx) rank=2 ;; + esac + if [ "$rank" -gt "$BESTRANK" ]; then BESTRANK=$rank; BESTFAM=$fam; fi + done - install_pkgs dkms linux-cachyos-headers nvidia-dkms nvidia-utils nvidia-settings lib32-nvidia-utils + case "$BESTFAM" in + open) + echo ">>> [gpu] Turing+ -> nvidia-open-dkms" + install_pkgs dkms linux-cachyos-headers nvidia-open-dkms nvidia-utils nvidia-settings lib32-nvidia-utils + ;; + 580xx) + echo ">>> [gpu] Pascal/Maxwell/Volta -> nvidia-580xx-dkms (legacy)" + install_pkgs dkms linux-cachyos-headers nvidia-580xx-dkms nvidia-580xx-utils nvidia-580xx-settings lib32-nvidia-580xx-utils + ;; + 470xx) + echo ">>> [gpu] Kepler -> nvidia-470xx-dkms (legacy, unsupported)" + install_pkgs dkms linux-cachyos-headers nvidia-470xx-dkms nvidia-470xx-utils nvidia-470xx-settings lib32-nvidia-470xx-utils + ;; + *) + echo ">>> [gpu] Nem tamogatott NVIDIA (Fermi vagy regebbi) -> nouveau marad" + ;; + esac if echo "$GPU_INFO" | grep -qi "Intel\|AMD\|ATI"; then echo ">>> [gpu] Hybrid laptop detected -> installing nvidia-prime" install_pkgs nvidia-prime fi - echo ">>> [gpu] Enabling NVIDIA module autoload..." - mkdir -p /etc/modules-load.d - cat > /etc/modules-load.d/nvidia.conf <<EOF + NV_MODULE_OK=0 + if [ "$BESTFAM" != unsupported ] && modinfo -k "$(ls /usr/lib/modules | head -1)" nvidia >/dev/null 2>&1; then + NV_MODULE_OK=1 + fi + + if [ "$NV_MODULE_OK" -eq 1 ]; then + echo ">>> [gpu] NVIDIA modul elerheto -> beallitasok..." + + mkdir -p /etc/modules-load.d + cat > /etc/modules-load.d/nvidia.conf <<'EOF' nvidia nvidia_modeset nvidia_uvm nvidia_drm EOF - echo ">>> [gpu] Enabling NVIDIA DRM modeset..." - mkdir -p /etc/modprobe.d - cat > /etc/modprobe.d/nvidia-drm.conf <<'EOF' + mkdir -p /etc/modprobe.d + cat > /etc/modprobe.d/nvidia-drm.conf <<'EOF' options nvidia_drm modeset=1 EOF - echo ">>> [gpu] Disabling nouveau (blacklist in /etc so initramfs keeps it)..." - cat > /etc/modprobe.d/99-nvidia-blacklist.conf <<'EOF' + cat > /etc/modprobe.d/99-nvidia-blacklist.conf <<'EOF' blacklist nouveau options nouveau modeset=0 EOF - echo ">>> [gpu] Embedding NVIDIA modules into initramfs..." - mkdir -p /etc/mkinitcpio.conf.d - cat > /etc/mkinitcpio.conf.d/raveos-nvidia.conf <<'EOF' + mkdir -p /etc/mkinitcpio.conf.d + cat > /etc/mkinitcpio.conf.d/raveos-nvidia.conf <<'EOF' MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm) EOF + else + echo ">>> [gpu] NVIDIA modul NEM erheto el -> nouveau marad (nincs blacklist)" + fi if pacman -Q plasma-desktop >/dev/null 2>&1; then echo ">>> [gpu] NVIDIA + Plasma -> installing X11 session (plasma-x11-session)" diff --git a/raveos-calamares-theme/etc/calamares/modules/partition.conf b/raveos-calamares-theme/etc/calamares/modules/partition.conf index 732a5df..2b460a9 100644 --- a/raveos-calamares-theme/etc/calamares/modules/partition.conf +++ b/raveos-calamares-theme/etc/calamares/modules/partition.conf @@ -123,10 +123,9 @@ defaultPartitionTableType: gpt # # If nothing is specified, Calamares defaults to both "msdos" and "gpt". # -requiredPartitionTableType: gpt -# requiredPartitionTableType: -# - msdos -# - gpt +requiredPartitionTableType: + - msdos + - gpt # Default filesystem type, used when a "new" partition is made. # |