Arch Linux + ZFS + GNOME appliance for ASUS G771JM. Family media center and retro gaming machine.
  • Shell 86%
  • Python 14%
Find a file
Fredrick Amnehagen d53cdb0ad1 Switch display manager from SDDM to GDM 50 for GNOME 50 Wayland support
- Replace SDDM with GDM 50 (Wayland-native) to properly support GNOME 50's
  Wayland-only architecture
- Update install_arch.sh: install gdm instead of sddm, configure GDM PAM
  for nopasswdlogin passwordless login, remove SDDM X11 config and theme
- Update ansible: new gdm role replaces sddm role, enables gdm service,
  deploys nopasswdlogin PAM config for gdm-password
- Update AGENTS.md: document GDM 50 + Wayland architecture, passwordless
  login via nopasswdlogin group, DRM master handoff via logind
- Remove catppuccin-sddm-theme-macchiato from AUR packages
- Remove GNOME X11 session file creation (not needed for GDM Wayland)
- Update power role: rename task from 'non-SDDM-greeter' to 'non-GDM-greeter'
2026-07-11 20:35:00 +02:00
ansible Switch display manager from SDDM to GDM 50 for GNOME 50 Wayland support 2026-07-11 20:35:00 +02:00
archiso Switch display manager from SDDM to GDM 50 for GNOME 50 Wayland support 2026-07-11 20:35:00 +02:00
docs Initial: archbox entertainment appliance plan 2026-07-07 18:34:05 +02:00
images Switch display manager from SDDM to GDM 50 for GNOME 50 Wayland support 2026-07-11 20:35:00 +02:00
scripts Switch display manager from SDDM to GDM 50 for GNOME 50 Wayland support 2026-07-11 20:35:00 +02:00
.gitignore 2-disk ZFS mirror, creative apps/datasets, inner_build.sh, LXC+Ansible planning in AGENTS.md 2026-07-10 09:40:18 +02:00
AGENTS.md Switch display manager from SDDM to GDM 50 for GNOME 50 Wayland support 2026-07-11 20:35:00 +02:00
README.md Initial: archbox entertainment appliance plan 2026-07-07 18:34:05 +02:00

archbox — ASUS G771JM Entertainment Appliance

Arch Linux + ZFS + GNOME on an ASUS ROG G771JM laptop. Family media center and retro gaming box for the living room.

Kids must never fail to boot. Dad must never get a call during work.

Specs

Component Detail Driver
CPU i7-4710HQ (Haswell, 4C/8T)
iGPU Intel HD Graphics 4600 i915 (in-kernel)
dGPU NVIDIA GTX 860M (GM107, 2 GB) Nouveau + NVK + Zink
RAM 16 GB DDR3L
SSD Single SATA SSD
Ethernet Realtek RTL8111 r8169 (in-kernel)
Audio Realtek ALC668 snd_hda_intel + sof-firmware

Architecture

GNOME Wayland → Intel HD 4600 (i915)
                    ↑
DRI_PRIME=1   → GTX 860M (Nouveau + NVK + Zink)

Desktop, Kodi, Moonlight decode on Intel. Games on NVIDIA via PRIME offload. If the dGPU driver breaks, the machine is still a fully functional media center.

Key Decisions

  • GPU: Nouveau + NVK + Zink (open source). Not nvidia-580xx-dkms — Arch rolling + DKMS is a maintenance trap, and flickering is reported on Maxwell.
  • WiFi: Unused (ethernet-only). Broadcom BCM43142 has no FOSS driver anyway.
  • Video decode: Intel VA-API for H.264. HEVC is software decode on CPU (Haswell has no HEVC block; Nouveau doesn't expose NVDEC).
  • Moonlight: Force H.264 on the server. Intel hardware-decodes H.264 with microsecond latency.
  • No Steam: Offline/LAN games only. Lutris + Wine for game management.
  • ZFSBootMenu: Boot environments with automatic rollback on failed boot.
  • Zero DKMS: No broadcom-wl, no nvidia. All drivers in-kernel or in Mesa.

App Stack

App Purpose GPU
Kodi + Bingie skin Movies, TV, IPTV Intel (VA-API)
Moonlight-qt Game streaming from server Intel (VA-API H.264)
RetroArch + Dolphin NESGameCube emulation Intel (light cores), NVIDIA (Dolphin/N64)
Wine + Lutris Classic PC games NVIDIA
ScummVM + DOSBox Point-and-click adventures Intel
Waydroid Android kids' apps NVIDIA (GLES passthrough)

Repo Structure

archbox/
├── README.md              This file
├── AGENTS.md              AI context: commands, traps, architecture
├── docs/
│   ├── ARCH_INSTALL_PLAN.md    Full install plan + package list
│   ├── FOSS_ANALYSIS.md        Driver audit for every component
│   └── HARDWARE_ASUS_G771JM.md Full hardware spec
├── scripts/
│   ├── install_arch.sh         Automated Arch installer
│   └── nouveau-pstate.service  GPU reclocking systemd unit
├── archiso/
│   ├── build.sh                Builds custom archiso (podman)
│   ├── packages.x86_64         ISO package list
│   └── pacman.conf             With archzfs repo
└── .gitignore

Build Pipeline

Debian (current)
  └── podman Arch container
        └── archiso build
              └── QEMU test (vm)
                    └── USB boot → bare metal G771JM

See Also

  • docs/ARCH_INSTALL_PLAN.md — detailed install steps
  • docs/FOSS_ANALYSIS.md — why we chose each driver
  • AGENTS.md — commands, traps, architecture for AI assistant