Skip to content

Latest commit

 

History

History
805 lines (486 loc) · 22.3 KB

FAQ.md

File metadata and controls

805 lines (486 loc) · 22.3 KB

Frequently Asked Questions (FAQ)

Last Updated: December 2025


General Questions

Q: What is ArchStarterPack?

A: ArchStarterPack is a curated collection of configuration files, setup guides, and optimization scripts specifically designed for Arch Linux-based systems. It provides battle-tested configurations for system optimization, hardware peripherals, and development environments.


Q: Do I need to use all the modules?

A: No! Each module is independent. You can use:

  • Only CachyOS configuration for system optimization
  • Only LogiOps for mouse configuration
  • Only Node.js setup for development
  • Any combination you need

Q: Will these configurations work on my system?

A: The configurations are tested on ASUS X507UF hardware running CachyOS, but they should work on:

  • ✅ Any Arch-based distribution (Manjaro, EndeavourOS, etc.)
  • ✅ Systems with similar Intel + NVIDIA Optimus setups
  • ⚠️ Other hardware with modifications
  • ❌ Non-Arch distributions (will need significant adaptation)

Run ./check-prerequisites.sh to verify compatibility.


Q: Is this safe for beginners?

A: The guides are written to be beginner-friendly with:

  • Detailed explanations
  • Safety checks before critical operations
  • Backup instructions
  • Rollback procedures

However, system configuration always carries some risk. We recommend:

  1. Reading the full guide before starting
  2. Creating backups
  3. Testing on non-critical systems first
  4. Understanding what each command does

Q: Do I need to back up my system first?

A: YES! Always create backups before making system changes. Each guide includes backup commands, but at minimum:

# Backup critical configs
sudo cp /etc/default/grub /etc/default/grub.backup
sudo cp -r /etc/modprobe.d /etc/modprobe.d.backup
sudo cp /etc/mkinitcpio.conf /etc/mkinitcpio.conf.backup

CachyOS Module Questions

Q: Will the CachyOS configurations work on vanilla Arch?

A: Yes! The configurations work on any Arch-based distribution. The name "CachyOS" refers to the distribution we tested on, but the settings are generic.


Q: How much will battery life improve?

A: Results vary by usage, but typical improvements:

  • Light usage: 20-30% longer battery life
  • Web browsing: 15-25% improvement
  • Video playback: 10-20% improvement

The configurations optimize power management but don't perform miracles. Battery health and age also affect results.


Q: Will performance mode make my laptop overheat?

A: No, the configurations include thermal management via thermald. Your laptop's BIOS fan control will automatically increase cooling when needed. We've tested under heavy load without thermal issues.


Q: Can I undo the CachyOS configurations?

A: Yes! Every guide includes rollback instructions. You can restore from backups or manually remove changes. See the "Rollback Instructions" section in each guide.


Q: Why are there two NVIDIA guides (main and deprecated)?

A:

  • Main guide (asus_x_507_uf_readme.md): Recommended for most users, maintains display flexibility
  • Deprecated guide (asus_x_507_uf_nvidia_deprecated.md): For users who only use external monitors and want to completely disable the internal screen

Use the main guide unless you have a specific reason to use the deprecated one.


Q: Do I need NVIDIA drivers for the power optimizations?

A: The Intel CPU and GPU optimizations work independently. NVIDIA-specific parameters only affect NVIDIA GPUs. If you don't have an NVIDIA GPU, simply omit those parameters.


LogiOps Module Questions

Q: Which Logitech mice are supported?

A: LogiOps supports many Logitech mice, including:

  • MX Master series (3S, 3, 2S, 1)
  • MX Anywhere series
  • MX Ergo
  • Many others with HID++ protocol

Check the LogiOps GitHub for full compatibility.


Q: My mouse model isn't MX Master 3S. Can I still use this?

A: Yes! The configuration file works as a template. You'll need to:

  1. Change the device name to match your mouse
  2. Find the CID codes for your mouse buttons (see readme.md)
  3. Adjust button mappings as needed

Q: How do I find CID codes for my mouse buttons?

A:

# Stop the service
sudo systemctl stop logid

# Run in debug mode
sudo logid -v

# Press buttons on your mouse and observe the CID values in the output

Q: The gestures aren't working. What's wrong?

A: Common issues:

  1. Wrong CID codes: Verify with sudo logid -v
  2. Config syntax error: Test with sudo logid -t
  3. KDE shortcuts conflict: Check System Settings → Shortcuts
  4. Service not running: sudo systemctl status logid

Q: Can I use LogiOps with other desktop environments?

A: Yes! The button mappings work on any Linux desktop. You may need to adjust keyboard shortcuts in the gestures section to match your DE's shortcuts (the config uses KDE/Plasma shortcuts by default).


Node.js Module Questions

Q: Why not use fisher or bass for Fish + NVM?

A: Our minimal approach:

  • ✅ No third-party plugin managers
  • ✅ Works with system package manager (pacman)
  • ✅ Easier to understand and maintain
  • ✅ Faster shell startup time
  • ✅ Fewer dependencies

You can use fisher/bass if you prefer, but this approach is simpler.


Q: Does this work in VSCode's integrated terminal?

A: Yes! The configuration is designed to work in:

  • Native Fish terminals
  • VSCode integrated terminal
  • Alacritty, Kitty, etc.

If you have issues, see nvm-fish-readme.md troubleshooting section.


Q: How do I switch Node versions?

A:

# List available versions
nvm list-remote

# Install a specific version
nvm install 18

# Use a version
nvm use 18

# Set default version
nvm alias default 18

Q: Can I use this with other shells (bash, zsh)?

A: This module is specifically for Fish shell. For bash/zsh, use standard NVM installation:

# Standard NVM works directly with bash/zsh
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

Q: The node command is not found after setup. Why?

A:

  1. Ensure you've set a default Node version:

    bash -ic 'source /usr/share/nvm/init-nvm.sh && nvm install --lts && nvm alias default lts/*'
  2. Reload Fish:

    exec fish
  3. Manually load NVM:

    nvm-load
    node -v

Technical Questions

Q: What's the difference between TLP and thermald?

A:

  • TLP: Manages power profiles, CPU governors, USB autosuspend, battery thresholds (power management)
  • thermald: Manages thermal zones and cooling devices (thermal management)

They work together: TLP optimizes power, thermald keeps temperatures safe.


Q: What's the difference between Intel P-State and CPUFreq?

A:

  • Intel P-State: Modern Intel driver (6th gen+), hardware-managed frequencies, better efficiency
  • CPUFreq: Legacy driver, software-managed frequencies, works on older CPUs

Use P-State on modern Intel CPUs (Skylake and newer).


Q: Do I need to reboot after applying configurations?

A: Usually yes, especially for:

  • GRUB/kernel parameter changes
  • Graphics driver changes
  • Power management service changes

Some settings can be applied without rebooting (like TLP configs), but rebooting ensures everything is properly loaded.


Q: Can I mix-and-match settings from different guides?

A: Generally yes, but be careful with:

  • ❌ Conflicting kernel parameters
  • ❌ Overlapping power management (TLP vs power-profiles-daemon)
  • ✅ Combining mouse config with system optimization
  • ✅ Using Node.js setup with any other module

When in doubt, ask in the Issues section.


Troubleshooting Questions

Q: My system won't boot after changing GRUB settings. Help!

A:

  1. At GRUB menu, press e to edit boot entry
  2. Remove the problematic parameters from the line starting with linux
  3. Press Ctrl+X to boot
  4. Once booted, restore from backup:
    sudo cp /etc/default/grub.backup /etc/default/grub
    sudo grub-mkconfig -o /boot/grub/grub.cfg

See TROUBLESHOOTING.md for more details.


Q: How do I get help with a specific issue?

A:

  1. Check TROUBLESHOOTING.md
  2. Run diagnostics (shows executed commands):
    • Full system: ./cachy_os_config/diagnostics.sh
    • DRM/power/USB: ./cachy_os_config/drm-power-diagnostics.sh
  3. Search existing GitHub Issues
  4. Open a new issue with:
    • Your hardware specs
    • Distribution and kernel version
    • Diagnostics output
    • Steps you've taken
    • Error messages

Q: The configurations made things worse. What should I do?

A:

  1. Don't panic! Everything is reversible
  2. Follow the rollback instructions in the guide you used
  3. Restore from backups:
    sudo cp /etc/default/grub.backup.* /etc/default/grub
    sudo grub-mkconfig -o /boot/grub/grub.cfg
    sudo reboot
  4. If still stuck, boot from a live USB and restore configurations

Contributing Questions

Q: Can I contribute my configurations for different hardware?

A: Yes! We welcome contributions for:

  • Different laptop models
  • Different mice/peripherals
  • Different desktop environments
  • Additional optimization guides

See CONTRIBUTING.md for guidelines.


Q: I found a bug or error. Where do I report it?

A: Open an issue on GitHub with:

  • Description of the bug
  • Steps to reproduce
  • Expected vs actual behavior
  • Your system information (run ./check-prerequisites.sh)

Q: Can I translate the guides to other languages?

A: Absolutely! Translations are welcome. Please:

  1. Fork the repository
  2. Create a language directory (e.g., docs/es/ for Spanish)
  3. Translate the documentation
  4. Submit a pull request

License & Legal Questions

Q: Can I use these configurations in my own projects?

A: Yes! This project is open source under the MIT License. You can:

  • ✅ Use configurations in personal/commercial projects
  • ✅ Modify and adapt to your needs
  • ✅ Redistribute with attribution
  • ✅ Create derivatives

See LICENSE for full details.


Q: Do you provide warranty or support?

A: No. This is a community project provided "as-is" without warranty. See the disclaimer in README.md. We help where we can, but cannot guarantee support.


Brother Printer Module Questions

Q: Which Brother printers are supported?

A: The guide is written for Brother DCP-T820DW, but the general setup process works for most Brother printers. Check the AUR for your specific model's driver:

paru -Ss brother

Q: Should I use WiFi or USB for my printer?

A:

  • WiFi (Recommended): More flexible, can print from any device on network
  • USB: More reliable, faster for large jobs, good for single computer

You can set up both and choose based on needs.


Q: Why use digiKam instead of Simple Scan?

A:

  • Simple Scan: Basic scanning, quick and simple
  • digiKam: Professional photo management, editing, organization, tagging, face detection, RAW support

Use Simple Scan for quick scans, digiKam for photo library management.


Q: Can I use this guide for other scanner brands?

A: The CUPS and SANE setup is universal. Only the Brother-specific driver installation differs. Check manufacturer documentation for your scanner model.


Pi-hole Module Questions

Q: Do I need a secondary DNS in DHCP?

A: No. Set only the Pi-hole IP as DHCP DNS. A secondary DNS lets clients bypass Pi-hole. Redundancy belongs inside Pi-hole via multiple upstreams (e.g., Unbound + Cloudflare) not in DHCP.


Q: How do I use Pi-hole with Unbound?

A: Install Unbound on the Pi, listen on 127.0.0.1#5335, then set Pi-hole’s upstream DNS to 127.0.0.1#5335. See pi-hole/docs/unbound.md for the config snippet and diagram.


Q: Is Pi-hole safe with IPv6 enabled?

A: Yes, if the router advertises only Pi-hole as IPv6 DNS (RDNSS/DHCPv6). Ensure Pi-hole has a stable IPv6, and don’t hand out public IPv6 resolvers. See pi-hole/docs/ipv6.md.


Q: Some apps still show ads—are they bypassing Pi-hole?

A: Likely. Block outbound DNS (53/853) to anything except Pi-hole, and disable router DoH/DoT. For stubborn clients/browsers, enforce policies or block common DoH endpoints. See pi-hole/docs/hardcoded-dns.md.


Q: Where can I learn the networking basics to keep Pi-hole authoritative?

A: Start with the dedicated networking module (reading path + practice drills): networking/README.md.


VM Module Questions

Q: Do I need hardware virtualization support?

A: Yes! Your CPU must support hardware virtualization:

  • Intel: VT-x (check with lscpu | grep -i vmx)
  • AMD: AMD-V / SVM (check with lscpu | grep -i svm)

If nothing appears, enable virtualization in BIOS/UEFI. There's no software workaround.

Learn more: ../vm/docs/installation-setup.md


Q: Why can't I manage VMs without sudo?

A: You need to add your user to the libvirt group:

sudo usermod -aG libvirt $(whoami)

⚠️ You must log out and log back in for this to take effect.

Learn more: ../vm/docs/installation-setup.md, ../shell-commands/02-commands/usermod.md


Q: My VM has no internet. What's wrong?

A: Common causes:

  1. libvirt default network inactive: sudo virsh net-start default
  2. Firewall blocking VM traffic: Add UFW rules for virbr0
  3. Guest interface not configured: Check interface name and create NetworkManager profile

Learn more: ../vm/docs/networking.md, ../vm/docs/troubleshooting.md


Q: Ping works but apt update hangs. Why?

A: This is usually an IPv6 issue in NAT networking. Disable IPv6 in the VM:

sudo nano /etc/sysctl.d/99-disable-ipv6.conf

Add:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

Apply: sudo sysctl --system

Learn more: ../vm/docs/networking.md


Q: My VM feels slow despite low CPU usage. Why?

A: VM performance is dominated by graphics, not CPU. Try:

  1. Use Virtio-GPU instead of QXL (if supported)
  2. Disable 3D acceleration (often causes lag)
  3. Reduce desktop animations (GNOME/KDE/XFCE)
  4. Enable host CPU passthrough in virt-manager

Learn more: ../vm/docs/performance.md, ../vm/docs/video-display.md


Q: What's the difference between NAT and bridged networking?

A:

  • NAT (default): VM hidden behind host, works out of the box, safe
  • Bridged: VM on same network as host, appears as separate machine, requires bridge setup

Use NAT for learning/testing, bridged for servers/labs.

Learn more: ../vm/docs/networking.md, ../vm/docs/advanced.md


Q: Should I install qemu-guest-agent?

A: Yes! It provides:

  • Accurate IP reporting in virt-manager
  • Clean shutdown/reboot
  • Better display resizing
  • Clipboard integration

Install inside VM: sudo apt install -y qemu-guest-agent

Learn more: ../vm/docs/performance.md


Android Module Questions

Q: Do I need root to debloat?

A: No. The Android module focuses on safer “no-root” debloating:

  • Uninstall for user 0 (removes for the main user, not the system partition)
  • Disable packages (prevents them from running)

Start here: android/README.md.


Q: What does “uninstall for user 0” mean?

A: It removes the app for the main Android user (user 0), but usually does not delete the system APK. This makes it more reversible than deleting system apps.

Rollback/restore: android/docs/safety-rollback.md.


Q: How do I restore something I removed/disabled?

A: Use the rollback recipes:

  • Reinstall: adb shell cmd package install-existing <package>
  • Re-enable: adb shell pm enable <package>

See: android/docs/safety-rollback.md.


Q: Pi-hole shows a domain, but how do I know which Android app caused it?

A: Pi-hole shows “what domain was resolved,” not “which app did it.” Use ADB/logcat to map UID → package, then debloat/disable the responsible package.

See: android/docs/investigation.md.


Q: Some apps still bypass Pi-hole. Why?

A: Some apps/devices use hardcoded DNS or DoH/DoT. Fix by enforcing DNS on the router/firewall (allow DNS only to Pi-hole; block/redirect other DNS).

See: pi-hole/docs/hardcoded-dns.md.


Shell Commands Module Questions

Q: What is the Shell Commands module?

A: The Shell Commands module is a comprehensive learning guide covering Unix/Linux command-line tools. It includes:

  • 80+ hands-on practice exercises (beginner → expert)
  • 40+ command tutorials with real-world examples
  • Piping patterns and command combinations
  • Salesforce CLI integration patterns
  • Generic Linux system administration examples

It's designed for self-paced learning over 4-6 weeks.


Q: Do I need shell knowledge to use ArchStarterPack?

A:

  • For configuration modules (CachyOS, LogiOps, Node.js, Printer): Basic copy-paste command knowledge is enough. The guides provide all commands.
  • For advanced customization: Shell command knowledge is helpful but not required.
  • For the Shell Commands module itself: No prerequisites! It starts from fundamentals.

The Shell Commands module is an optional learning resource to enhance your Linux skills.


Q: Can I use the Shell Commands module on non-Arch systems?

A: Yes! The shell commands are universal across all Unix/Linux systems:

  • ✅ Works on: Ubuntu, Debian, Fedora, CentOS, macOS, WSL, etc.
  • ✅ Generic Linux examples work everywhere
  • ⚠️ Salesforce CLI examples require SF CLI installation (works on any OS)
  • ⚠️ Some Arch-specific examples use pacman, but concepts apply to any package manager

Only the system configuration modules (CachyOS, LogiOps) are Arch-specific.


Q: How long does it take to complete the Shell Commands course?

A:

  • Minimum: 4 weeks (1-2 hours/week) - Following the structured learning path
  • Comfortable: 6 weeks - With thorough practice and experimentation
  • Self-paced: As long as you need - Use as reference material

Breakdown:

  • Week 1: Basics and beginner exercises (6-8 hours)
  • Week 2: Core commands and intermediate exercises (6-8 hours)
  • Week 3: Combinations and advanced exercises (6-8 hours)
  • Week 4+: Expert exercises and real-world application (variable)

You can also use it as a quick reference without completing all exercises.


Q: What's the difference between the Shell Commands module and shell scripting?

A:

  • Shell Commands Module: Learn individual commands and how to combine them interactively
  • Shell Scripting: Write automated scripts (.sh files) using those commands

The Shell Commands module teaches you the building blocks. Once you master the commands, writing scripts becomes much easier. The module does include some scripting patterns in the Salesforce deployment section.


Q: Is this module useful for Salesforce developers?

A: Absolutely! It includes Salesforce-specific sections:

  • SF CLI integration patterns (deployments, queries, tests)
  • Apex log analysis techniques
  • Deployment automation scripts
  • JSON processing with jq for SF CLI output
  • Real-world deployment workflows

Plus, shell command knowledge is essential for CI/CD pipelines, log analysis, and workflow automation in Salesforce development.


Q: Can I contribute my own command patterns?

A: Yes! We welcome contributions:

  1. Fork the repository
  2. Add your patterns to relevant sections
  3. Follow the existing format (examples + explanations)
  4. Submit a pull request

See CONTRIBUTING.md for guidelines.


Q: Do I need to complete all 80 exercises?

A: No! The exercises are optional practice:

  • Selective approach: Pick exercises relevant to your work
  • Complete approach: Do all 80 to master the material
  • Reference approach: Use exercises as examples when needed

However, completing exercises significantly improves retention and practical skills.


Q: What if I get stuck on an exercise?

A: Each practice section includes:

  1. Clear problem descriptions
  2. Expected output examples
  3. Hints for complex problems
  4. Solutions (check the solutions file)

If still stuck:

  • Search for the command's man page: man grep
  • Check the command's tutorial in 02-commands/
  • Review the patterns in 03-combinations/
  • Open an issue with your question

Q: Are the examples real-world or just theoretical?

A: Real-world! Examples include:

  • Actual Salesforce CLI workflows
  • Production log analysis patterns
  • Docker container monitoring
  • Web server log parsing
  • Git repository analysis
  • Network troubleshooting
  • System administration tasks

All patterns are used in production environments.


Still Have Questions?


Pro Tip: Before asking a question, try running:

./check-prerequisites.sh                           # Check system compatibility
./cachy_os_config/diagnostics.sh --redact          # Full system diagnostics (personal info masked)
./cachy_os_config/drm-power-diagnostics.sh --redact # DRM/power/USB diagnostics (personal info masked)

These tools often reveal the answer to your question! Use --redact to safely share output.