Name: pocketds-userspace Version: 20260507 Release: 20260506215220%{?dist} Summary: AYANEO Pocket DS userspace integration (udev hwdb, InputPlumber, ALSA, /etc/skel) License: GPL-2.0-or-later URL: https://github.com/ROCKNIX/distribution # ── upstream ROCKNIX-derived bits ── Source0: 10-ayaneo.hwdb Source1: 01-ayaneo-controller.yaml Source2: 01-ayaneo-controller-japanese.yaml Source3: ayaneo_mcu_xbox.yaml Source4: ayaneo_mcu_japanese.yaml Source5: 99-namehints.conf # ── pocketds extras (toggle scripts, profiles, helpers) ── Source11: pocketds-toggle-joymouse Source12: pocketds-mode-listener Source13: pocketds-mode-listener.service Source14: pocketds-joymouse.yaml Source18: pocketds-gamepad.yaml Source15: pocketds-touchscreen-map Source16: pocketds-touchscreen-map.desktop # ── system drop-ins / configs ── Source20: 61-pocketds-touchscreens.rules Source21: 50-pocketds-printk.conf Source22: 10-wheel-nopasswd Source23: 10-pocketds-manage-all-devices.conf Source24: 10-pocketds-autologin.conf # ── ALSA UCM (SM8550-APS) ── Source30: SM8550-APS.conf Source31: SM8550-APS-HiFi.conf # ── /etc/skel ── Source40: kwinoutputconfig.json Source41: khotkeysrc # ── /etc/systemd ── Source42: zram-generator.conf BuildArch: noarch # `%%{_udevhwdbdir}` lives in systemd-rpm-macros; the COPR minimal aarch64 # buildroot doesn't pull it in implicitly, so we ask for it explicitly. BuildRequires: systemd-rpm-macros Requires: systemd-udev Recommends: inputplumber # Python deps for pocketds-mode-listener. Requires: python3-dbus Requires: python3-gobject-base # zram-generator reads /etc/systemd/zram-generator.conf at boot. Requires: zram-generator-defaults %description Device-specific userspace integration for the AYANEO Pocket DS: * /usr/lib/udev/hwdb.d/10-ayaneo.hwdb — volume rocker keysyms * /usr/share/inputplumber/devices/*.yaml — composite gamepad (incl. AYANEO Controller vendor 4001/0428) * /usr/share/inputplumber/capability_maps/*.yaml — MCU button remapping * /usr/share/inputplumber/profiles/pocketds-joymouse.yaml — switchroot-style joymouse * /etc/alsa/conf.d/99-namehints.conf — extended PCM namehints * /usr/share/alsa/ucm2/Qualcomm/sm8550/APS/ — SM8550-APS UCM profile * /etc/skel/.config/{kwinoutputconfig,khotkeysrc} — first-login KWin layout + Meta+G/Meta+M shortcuts * /usr/bin/pocketds-{toggle-joymouse,touchscreen-map,mode-listener} * /etc/systemd/system/inputplumber.service.d/ — ManageAllDevices=true * /usr/lib/systemd/system/pocketds-mode-listener.service * /etc/sysctl.d, /etc/sudoers.d — printk + wheel nopasswd %prep # nothing — sources are dropped in directly %build # nothing to build %install # ── udev hwdb + InputPlumber composite + capability_maps ── install -D -m 0644 %{SOURCE0} %{buildroot}%{_udevhwdbdir}/10-ayaneo.hwdb install -d %{buildroot}%{_datadir}/inputplumber/devices install -d %{buildroot}%{_datadir}/inputplumber/capability_maps install -m 0644 %{SOURCE1} %{buildroot}%{_datadir}/inputplumber/devices/01-ayaneo-controller.yaml install -m 0644 %{SOURCE2} %{buildroot}%{_datadir}/inputplumber/devices/01-ayaneo-controller-japanese.yaml install -m 0644 %{SOURCE3} %{buildroot}%{_datadir}/inputplumber/capability_maps/ayaneo_mcu_xbox.yaml install -m 0644 %{SOURCE4} %{buildroot}%{_datadir}/inputplumber/capability_maps/ayaneo_mcu_japanese.yaml install -D -m 0644 %{SOURCE5} %{buildroot}%{_sysconfdir}/alsa/conf.d/99-namehints.conf # ── pocketds toggle scripts + helpers + custom InputPlumber profile ── install -D -m 0755 %{SOURCE11} %{buildroot}%{_bindir}/pocketds-toggle-joymouse install -D -m 0755 %{SOURCE12} %{buildroot}%{_bindir}/pocketds-mode-listener install -D -m 0644 %{SOURCE13} %{buildroot}%{_unitdir}/pocketds-mode-listener.service install -D -m 0644 %{SOURCE14} %{buildroot}%{_datadir}/inputplumber/profiles/pocketds-joymouse.yaml install -D -m 0644 %{SOURCE18} %{buildroot}%{_datadir}/inputplumber/profiles/pocketds-gamepad.yaml install -D -m 0755 %{SOURCE15} %{buildroot}%{_bindir}/pocketds-touchscreen-map install -D -m 0644 %{SOURCE16} %{buildroot}%{_sysconfdir}/xdg/autostart/pocketds-touchscreen-map.desktop # ── system drop-ins ── install -D -m 0644 %{SOURCE20} %{buildroot}%{_sysconfdir}/udev/rules.d/61-pocketds-touchscreens.rules install -D -m 0644 %{SOURCE21} %{buildroot}%{_sysconfdir}/sysctl.d/50-pocketds-printk.conf install -D -m 0440 %{SOURCE22} %{buildroot}%{_sysconfdir}/sudoers.d/10-wheel-nopasswd install -D -m 0644 %{SOURCE23} %{buildroot}%{_sysconfdir}/systemd/system/inputplumber.service.d/10-pocketds-manage-all-devices.conf install -D -m 0644 %{SOURCE24} %{buildroot}%{_sysconfdir}/plasmalogin.conf.d/10-pocketds-autologin.conf # ── ALSA UCM profile for SM8550-APS ── # Pocket DS hardware reports its sound card as 'SM8550-APS'; the # upstream alsa-ucm-conf only ships SM8550-HDK and HDK's mixer-control # layout doesn't match this card (RX_CODEC_DMA_RX_0 absent, # MultiMedia3 routes via VA_CODEC_DMA_TX_0 not TX_3). Ship a # minimal HiFi.conf that uses only controls present on this card # (WSA → MultiMedia2 speaker path with wsa-macro routing) and a # conf.d entry pointing into the new Qualcomm/sm8550/APS dir. install -D -m 0644 %{SOURCE30} %{buildroot}%{_datadir}/alsa/ucm2/Qualcomm/sm8550/APS/SM8550-APS.conf install -D -m 0644 %{SOURCE31} %{buildroot}%{_datadir}/alsa/ucm2/Qualcomm/sm8550/APS/HiFi.conf install -d %{buildroot}%{_datadir}/alsa/ucm2/conf.d/sm8550 ln -sf ../../Qualcomm/sm8550/APS/SM8550-APS.conf \ %{buildroot}%{_datadir}/alsa/ucm2/conf.d/sm8550/SM8550-APS.conf # ── /etc/skel — defaults for every new user ── install -d %{buildroot}%{_sysconfdir}/skel/.config install -m 0644 %{SOURCE40} %{buildroot}%{_sysconfdir}/skel/.config/kwinoutputconfig.json install -m 0644 %{SOURCE41} %{buildroot}%{_sysconfdir}/skel/.config/khotkeysrc # ── /etc/systemd/zram-generator.conf ── # Picked up by zram-generator (zram-generator-defaults rpm) at # boot to allocate /dev/zram0 sized RAM/2. install -D -m 0644 %{SOURCE42} %{buildroot}%{_sysconfdir}/systemd/zram-generator.conf %files # upstream-derived bits %{_udevhwdbdir}/10-ayaneo.hwdb %{_datadir}/inputplumber/devices/01-ayaneo-controller.yaml %{_datadir}/inputplumber/devices/01-ayaneo-controller-japanese.yaml %{_datadir}/inputplumber/capability_maps/ayaneo_mcu_xbox.yaml %{_datadir}/inputplumber/capability_maps/ayaneo_mcu_japanese.yaml %config(noreplace) %{_sysconfdir}/alsa/conf.d/99-namehints.conf # pocketds toggle scripts + helpers + custom InputPlumber profile + doc %{_bindir}/pocketds-toggle-joymouse %{_bindir}/pocketds-mode-listener %{_unitdir}/pocketds-mode-listener.service %{_datadir}/inputplumber/profiles/pocketds-joymouse.yaml %{_datadir}/inputplumber/profiles/pocketds-gamepad.yaml %{_bindir}/pocketds-touchscreen-map %{_sysconfdir}/xdg/autostart/pocketds-touchscreen-map.desktop # system drop-ins %{_sysconfdir}/udev/rules.d/61-pocketds-touchscreens.rules %{_sysconfdir}/sysctl.d/50-pocketds-printk.conf %{_sysconfdir}/sudoers.d/10-wheel-nopasswd %{_sysconfdir}/systemd/system/inputplumber.service.d/10-pocketds-manage-all-devices.conf %config(noreplace) %{_sysconfdir}/plasmalogin.conf.d/10-pocketds-autologin.conf # ALSA UCM profile %{_datadir}/alsa/ucm2/Qualcomm/sm8550/APS/SM8550-APS.conf %{_datadir}/alsa/ucm2/Qualcomm/sm8550/APS/HiFi.conf %{_datadir}/alsa/ucm2/conf.d/sm8550/SM8550-APS.conf # /etc/skel %{_sysconfdir}/skel/.config/kwinoutputconfig.json %{_sysconfdir}/skel/.config/khotkeysrc # /etc/systemd/zram-generator.conf — see install comment %config(noreplace) %{_sysconfdir}/systemd/zram-generator.conf %post %{?systemd_post} /usr/bin/systemd-hwdb update >/dev/null 2>&1 || : %postun %{?systemd_postun} if [ $1 -eq 0 ]; then /usr/bin/systemd-hwdb update >/dev/null 2>&1 || : fi %changelog * Wed May 06 2026 Pocket DS Maintainers - %{version}-%{release} - Release auto-stamped from build_timestamp; full history in git log