Status

switch2pc runs Nintendo Switch homebrew natively on Linux ARM64. Generated from the sources by scripts/gen_status.py at c115c01 2026-10-26.

kernel calls35.2% shader instructions27.7% IPC commands465 homebrew working22/24 tests52 nightly homebrew25/26 render

Kernel calls: 35.25% (43/122)

Memory: 0x01 SetHeapSize Memory: 0x02 SetMemoryPermission Memory: 0x03 SetMemoryAttribute Memory: 0x04 MapMemory Memory: 0x05 UnmapMemory Memory: 0x06 QueryMemory Memory: 0x13 MapSharedMemory Memory: 0x14 UnmapSharedMemory Memory: 0x15 CreateTransferMemory Memory: 0x2c MapPhysicalMemory (missing) Memory: 0x2d UnmapPhysicalMemory (missing) Memory: 0x39 CreateIoPool (missing) Memory: 0x3a CreateIoRegion (missing) Memory: 0x46 MapIoRegion (missing) Memory: 0x47 UnmapIoRegion (missing) Memory: 0x48 MapPhysicalMemoryUnsafe (missing) Memory: 0x49 UnmapPhysicalMemoryUnsafe (missing) Memory: 0x4b CreateCodeMemory (missing) Memory: 0x4c ControlCodeMemory (missing) Memory: 0x50 CreateSharedMemory Memory: 0x51 MapTransferMemory (missing) Memory: 0x52 UnmapTransferMemory (missing) Memory: 0x54 QueryPhysicalAddress (missing) Memory: 0x55 QueryIoMapping (missing) Memory: 0x59 MapDeviceAddressSpaceByForce (missing) Memory: 0x5a MapDeviceAddressSpaceAligned (missing) Memory: 0x5b MapDeviceAddressSpace (missing) Memory: 0x5c UnmapDeviceAddressSpace (missing) Memory: 0x69 QueryDebugProcessMemory (missing) Memory: 0x6a ReadDebugProcessMemory (missing) Memory: 0x6b WriteDebugProcessMemory (missing) Memory: 0x73 SetProcessMemoryPermission (missing) Memory: 0x74 MapProcessMemory (missing) Memory: 0x75 UnmapProcessMemory (missing) Memory: 0x76 QueryProcessMemory (missing) Memory: 0x77 MapProcessCodeMemory (missing) Memory: 0x78 UnmapProcessCodeMemory (missing) Memory Debug: 0x07 ExitProcess Debug: 0x10 GetCurrentProcessorNumber Debug: 0x24 GetProcessId Debug: 0x26 Break Debug: 0x27 OutputDebugString Debug: 0x3c KernelDebug (missing) Debug: 0x3d ChangeKernelTraceState (missing) Debug: 0x4f SetProcessActivity (missing) Debug: 0x5d InvalidateProcessDataCache (missing) Debug: 0x5e StoreProcessDataCache (missing) Debug: 0x5f FlushProcessDataCache (missing) Debug: 0x60 DebugActiveProcess (missing) Debug: 0x61 BreakDebugProcess (missing) Debug: 0x62 TerminateDebugProcess (missing) Debug: 0x65 GetProcessList (missing) Debug: 0x6c SetHardwareBreakPoint (missing) Debug: 0x79 CreateProcess (missing) Debug: 0x7a StartProcess (missing) Debug: 0x7b TerminateProcess (missing) Debug: 0x7c GetProcessInfo (missing) Debug Threads: 0x08 CreateThread Threads: 0x09 StartThread Threads: 0x0a ExitThread Threads: 0x0b SleepThread Threads: 0x0c GetThreadPriority Threads: 0x0d SetThreadPriority Threads: 0x0e GetThreadCoreMask Threads: 0x0f SetThreadCoreMask Threads: 0x25 GetThreadId Threads: 0x2e GetDebugFutureThreadInfo (missing) Threads: 0x2f GetLastThreadInfo (missing) Threads: 0x32 SetThreadActivity (missing) Threads: 0x33 GetThreadContext3 (missing) Threads: 0x4d SleepSystem (missing) Threads: 0x66 GetThreadList (missing) Threads: 0x67 GetDebugThreadContext (missing) Threads: 0x68 SetDebugThreadContext (missing) Threads: 0x6d GetDebugThreadParam (missing) Threads System: 0x16 CloseHandle System: 0x1e GetSystemTick System: 0x28 ReturnFromException (missing) System: 0x29 GetInfo System: 0x2a FlushEntireDataCache System: 0x2b FlushDataCache System: 0x30 GetResourceLimitLimitValue (missing) System: 0x31 GetResourceLimitCurrentValue (missing) System: 0x37 GetResourceLimitPeakValue (missing) System: 0x56 CreateDeviceAddressSpace (missing) System: 0x57 AttachDeviceAddressSpace (missing) System: 0x58 DetachDeviceAddressSpace (missing) System: 0x6f GetSystemInfo (missing) System: 0x7d CreateResourceLimit (missing) System: 0x7e SetResourceLimitLimitValue (missing) System: 0x7f CallSecureMonitor (missing) System Synchronization: 0x11 SignalEvent Synchronization: 0x12 ClearEvent Synchronization: 0x17 ResetSignal Synchronization: 0x18 WaitSynchronization Synchronization: 0x19 CancelSynchronization Synchronization: 0x1a ArbitrateLock Synchronization: 0x1b ArbitrateUnlock Synchronization: 0x1c WaitProcessWideKeyAtomic Synchronization: 0x1d SignalProcessWideKey Synchronization: 0x34 WaitForAddress Synchronization: 0x35 SignalToAddress Synchronization: 0x45 CreateEvent Synchronization: 0x53 CreateInterruptEvent (missing) Synchronization: 0x63 GetDebugEvent (missing) Synchronization: 0x64 ContinueDebugEvent (missing) Synchronization IPC: 0x1f ConnectToNamedPort IPC: 0x20 SendSyncRequestLight (missing) IPC: 0x21 SendSyncRequest IPC: 0x22 SendSyncRequestWithUserBuffer (missing) IPC: 0x23 SendAsyncRequestWithUserBuffer (missing) IPC: 0x40 CreateSession (missing) IPC: 0x41 AcceptSession (missing) IPC: 0x42 ReplyAndReceiveLight (missing) IPC: 0x43 ReplyAndReceive (missing) IPC: 0x44 ReplyAndReceiveWithUserBuffer (missing) IPC: 0x70 CreatePort (missing) IPC: 0x71 ManageNamedPort (missing) IPC: 0x72 ConnectToPort (missing) IPC Other: 0x36 SynchronizePreemptionState (missing) Other: 0x4a SetUnsafeLimit (missing) Other: 0x4e ReadWriteRegister (missing)

GPU shader instructions: 27.70% (82/296 encodings, 44/146 mnemonics)

Integer: setlmembase (0xe2f0) (missing) Integer: setcrsptr (0xe2e0) (missing) Integer: getlmembase (0xe2d0) (missing) Integer: getcrsptr (0xe2c0) (missing) Integer: vmad (0x5f00) (missing) Integer: shf (0x5cf8) (missing) Integer: iadd3 (0x5cc0) (missing) Integer: shl (0x5c48) Integer: lop (0x5c40) Integer: imul (0x5c38) (missing) Integer: shr (0x5c28) Integer: imnmx (0x5c20) (missing) Integer: iscadd (0x5c18) Integer: iadd (0x5c10) Integer: popc (0x5c08) (missing) Integer: bfe (0x5c00) Integer: shf (0x5bf8) (missing) Integer: bfi (0x5bf0) (missing) Integer: lop3 (0x5be0) (missing) Integer: lea (0x5bd8) (missing) Integer: lea (0x5bd0) (missing) Integer: xmad (0x5b00) Integer: imadsp (0x5a80) (missing) Integer: imad (0x5a00) (missing) Integer: vshl (0x5700) (missing) Integer: vshr (0x5600) (missing) Integer: vabsdiff (0x5400) (missing) Integer: idp (0x53f8) (missing) Integer: bfi (0x53f0) (missing) Integer: idp (0x53d8) (missing) Integer: imadsp (0x5280) (missing) Integer: imad (0x5200) (missing) Integer: xmad (0x5100) (missing) Integer: vabsdiff4 (0x5000) (missing) Integer: xmad (0x4e00) (missing) Integer: iadd3 (0x4cc0) (missing) Integer: shl (0x4c48) Integer: lop (0x4c40) Integer: imul (0x4c38) (missing) Integer: shr (0x4c28) Integer: imnmx (0x4c20) (missing) Integer: iscadd (0x4c18) Integer: iadd (0x4c10) Integer: popc (0x4c08) (missing) Integer: bfe (0x4c00) Integer: bfi (0x4bf0) (missing) Integer: lea (0x4bd0) (missing) Integer: imadsp (0x4a80) (missing) Integer: imad (0x4a00) (missing) Integer: lop3 (0x3c00) (missing) Integer: vmnmx (0x3a00) (missing) Integer: shf (0x38f8) (missing) Integer: iadd3 (0x38c0) (missing) Integer: shl (0x3848) Integer: lop (0x3840) Integer: imul (0x3838) (missing) Integer: shr (0x3828) Integer: imnmx (0x3820) (missing) Integer: iscadd (0x3818) Integer: iadd (0x3810) Integer: popc (0x3808) (missing) Integer: bfe (0x3800) Integer: shf (0x36f8) (missing) Integer: bfi (0x36f0) (missing) Integer: lea (0x36d0) (missing) Integer: xmad (0x3600) Integer: imadsp (0x3480) (missing) Integer: imad (0x3400) (missing) Integer: vadd (0x2000) (missing) Integer: imul32i (0x1f00) (missing) Integer: iadd32i (0x1d80) (missing) Integer: iadd32i (0x1c00) (missing) Integer: lea (0x1800) (missing) Integer: iscadd32i (0x1400) (missing) Integer: imad32i (0x1000) (missing) Integer: lop32i (0x0400) Integer: lop3 (0x0200) (missing) Integer Float: hadd2 (0x7a00) (missing) Float: hadd2 (0x7a80) (missing) Float: hmul2 (0x7800) (missing) Float: hmul2 (0x7880) (missing) Float: hfma2 (0x7080) (missing) Float: hfma2 (0x7000) (missing) Float: hfma2 (0x6080) (missing) Float: hadd2 (0x5d10) (missing) Float: hmul2 (0x5d08) (missing) Float: hfma2 (0x5d00) (missing) Float: dmul (0x5c80) (missing) Float: dadd (0x5c70) (missing) Float: fmul (0x5c68) Float: fmnmx (0x5c60) Float: fadd (0x5c58) Float: dmnmx (0x5c50) (missing) Float: flo (0x5c30) (missing) Float: dfma (0x5b70) (missing) Float: ffma (0x5980) Float: dfma (0x5370) (missing) Float: ffma (0x5180) Float: dmul (0x4c80) (missing) Float: dadd (0x4c70) (missing) Float: fmul (0x4c68) Float: fmnmx (0x4c60) Float: fadd (0x4c58) Float: dmnmx (0x4c50) (missing) Float: flo (0x4c30) (missing) Float: dfma (0x4b70) (missing) Float: ffma (0x4980) Float: dmul (0x3880) (missing) Float: dadd (0x3870) (missing) Float: fmul (0x3868) Float: fmnmx (0x3860) Float: fadd (0x3858) Float: dmnmx (0x3850) (missing) Float: flo (0x3830) (missing) Float: dfma (0x3670) (missing) Float: ffma (0x3280) Float: hadd2_32i (0x2c00) (missing) Float: hmul2_32i (0x2a00) (missing) Float: hfma2_32i (0x2800) (missing) Float: fmul32i (0x1e00) Float: ffma32i (0x0c00) Float: fadd32i (0x0800) Float Control: sync (0xf0f8) Control: depbar (0xf0f0) (missing) Control: bar (0xf0a8) (missing) Control: membar (0xef98) (missing) Control: stp (0xeea0) (missing) Control: bpt (0xe3a0) (missing) Control: ide (0xe390) (missing) Control: ram (0xe380) (missing) Control: sam (0xe370) (missing) Control: rtt (0xe360) (missing) Control: cont (0xe350) Control: brk (0xe340) Control: kil (0xe330) (missing) Control: ret (0xe320) (missing) Control: longjmp (0xe310) (missing) Control: exit (0xe300) Control: pcnt (0xe2b0) (missing) Control: pcnt (0xe2b0) Control: pbk (0xe2a0) (missing) Control: pbk (0xe2a0) Control: ssy (0xe290) (missing) Control: ssy (0xe290) Control: plongjmp (0xe280) (missing) Control: plongjmp (0xe280) (missing) Control: pret (0xe270) (missing) Control: pret (0xe270) (missing) Control: cal (0xe260) (missing) Control: cal (0xe260) (missing) Control: brx (0xe250) (missing) Control: brx (0xe250) (missing) Control: bra (0xe240) (missing) Control: bra (0xe240) Control: pexit (0xe230) (missing) Control: jcal (0xe220) (missing) Control: jcal (0xe220) (missing) Control: jmp (0xe210) (missing) Control: jmp (0xe210) (missing) Control: jmx (0xe200) (missing) Control: jmx (0xe200) (missing) Control: vote (0x50e0) (missing) Control: vote (0x50d8) (missing) Control: lepc (0x50d0) (missing) Control: nop (0x50b0) Control Predicates: hsetp2 (0x7e80) (missing) Predicates: hsetp2 (0x7e00) (missing) Predicates: hset2 (0x7c80) (missing) Predicates: hset2 (0x7c00) (missing) Predicates: hsetp2 (0x5d20) (missing) Predicates: hset2 (0x5d18) (missing) Predicates: fchk (0x5c88) (missing) Predicates: fsetp (0x5bb0) Predicates: fcmp (0x5ba0) (missing) Predicates: dsetp (0x5b80) (missing) Predicates: isetp (0x5b60) Predicates: iset (0x5b50) (missing) Predicates: icmp (0x5b40) (missing) Predicates: dset (0x5900) (missing) Predicates: fset (0x5800) (missing) Predicates: fcmp (0x53a0) (missing) Predicates: icmp (0x5340) (missing) Predicates: vsetp (0x50f0) (missing) Predicates: csetp (0x50a0) (missing) Predicates: cset (0x5098) (missing) Predicates: psetp (0x5090) (missing) Predicates: pset (0x5088) (missing) Predicates: fchk (0x4c88) (missing) Predicates: fsetp (0x4bb0) Predicates: fcmp (0x4ba0) (missing) Predicates: dsetp (0x4b80) (missing) Predicates: isetp (0x4b60) Predicates: iset (0x4b50) (missing) Predicates: icmp (0x4b40) (missing) Predicates: dset (0x4900) (missing) Predicates: fset (0x4800) Predicates: vset (0x4000) (missing) Predicates: fchk (0x3888) (missing) Predicates: fsetp (0x36b0) Predicates: fcmp (0x36a0) (missing) Predicates: dsetp (0x3680) (missing) Predicates: isetp (0x3660) Predicates: iset (0x3650) (missing) Predicates: icmp (0x3640) (missing) Predicates: dset (0x3200) (missing) Predicates: fset (0x3000) (missing) Predicates Move and convert: mov (0xf0c8) Move and convert: r2b (0xf0c0) (missing) Move and convert: b2r (0xf0b8) (missing) Move and convert: r2p (0x5cf0) (missing) Move and convert: p2r (0x5ce8) (missing) Move and convert: i2i (0x5ce0) (missing) Move and convert: i2f (0x5cb8) Move and convert: f2i (0x5cb0) Move and convert: f2f (0x5ca8) (missing) Move and convert: sel (0x5ca0) Move and convert: mov (0x5c98) Move and convert: rro (0x5c90) Move and convert: prmt (0x5bc0) (missing) Move and convert: prmt (0x53c0) (missing) Move and convert: fswzadd (0x50f8) (missing) Move and convert: cs2r (0x50c8) (missing) Move and convert: mufu (0x5080) Move and convert: r2p (0x4cf0) (missing) Move and convert: p2r (0x4ce8) (missing) Move and convert: i2i (0x4ce0) (missing) Move and convert: i2f (0x4cb8) Move and convert: f2i (0x4cb0) Move and convert: f2f (0x4ca8) (missing) Move and convert: sel (0x4ca0) Move and convert: mov (0x4c98) Move and convert: rro (0x4c90) Move and convert: prmt (0x4bc0) (missing) Move and convert: r2p (0x38f0) (missing) Move and convert: p2r (0x38e8) (missing) Move and convert: i2i (0x38e0) (missing) Move and convert: i2f (0x38b8) Move and convert: f2i (0x38b0) Move and convert: f2f (0x38a8) (missing) Move and convert: sel (0x38a0) Move and convert: mov (0x3898) Move and convert: rro (0x3890) Move and convert: prmt (0x36c0) (missing) Move and convert: mov32i (0x0100) Move and convert Memory: out (0xfbe0) (missing) Memory: out (0xf6e0) (missing) Memory: st (0xeff0) Memory: pixld (0xefe8) (missing) Memory: ld (0xefd8) Memory: isberd (0xefd0) Memory: al2p (0xefa0) (missing) Memory: ld (0xef90) Memory: cctll (0xef80) Memory: cctl (0xef60) (missing) Memory: st (0xef58) (missing) Memory: st (0xef50) (missing) Memory: ld (0xef48) (missing) Memory: ld (0xef40) (missing) Memory: shfl (0xef10) (missing) Memory: atom (0xeef0) (missing) Memory: stg (0xeed8) Memory: ldg (0xeed0) Memory: ldg (0xeec8) (missing) Memory: atoms (0xee00) (missing) Memory: atom (0xed00) (missing) Memory: atoms (0xec00) (missing) Memory: red (0xebf8) (missing) Memory: cctlt (0xebf0) (missing) Memory: out (0xebe0) (missing) Memory: sured (0xeb40) (missing) Memory: sust (0xeb20) (missing) Memory: suld (0xeb00) (missing) Memory: suatom (0xeac0) (missing) Memory: suatom (0xea80) (missing) Memory: suatom (0xea60) (missing) Memory: suatom (0xea00) (missing) Memory: ipa (0xe000) Memory: ipa (0xe000) (missing) Memory: st (0xa000) (missing) Memory: ld (0x8000) (missing) Memory Texture: tmml (0xdf60) (missing) Texture: tmml (0xdf58) (missing) Texture: txq (0xdf50) (missing) Texture: txq (0xdf48) (missing) Texture: txa (0xdf40) (missing) Texture: tld4s (0xdf00) (missing) Texture: tld4 (0xdef8) (missing) Texture: tex (0xdeb8) (missing) Texture: txd (0xde78) (missing) Texture: txd (0xde38) (missing) Texture: tld (0xdd38) (missing) Texture: tld (0xdc38) (missing) Texture: tlds (0xd200) Texture: texs (0xd000) Texture: tld4 (0xc838) (missing) Texture: tex (0xc038) Texture

implemented known, not implemented. Hover a square for its name. Shader encodings are envytools' gm107 table; an encoding counts once the interpreter decodes some form of it.

History

0% 25% 50% 75% 100% Kernel calls 35.2% Shaders 27.7% 2026-10-092026-10-26 (99 commits)

IPC: 465 commands in 50 service interfaces

Each square is a command a service answers. HOS has thousands; the ones here are those homebrew has asked for so far.

os: acc:IProfile #0 os: acc:IProfile #1 os: acc:IProfile #2 os: acc:IProfile #3 os: acc:u0 #0 os: acc:u0 #1 os: acc:u0 #2 os: acc:u0 #3 os: acc:u0 #4 os: acc:u0 #5 os: acc:u0 #6 os: acc:u0 #7 os: acc:u0 #8 os: acc:u0 #9 os: acc:u0 #10 os: acc:u0 #11 os: acc:u0 #12 os: apm:ISession #0 os: apm:ISession #1 os: apm:ISession #2 os: apm #0 os: apm #1 os: apm #2 os: applet:ICommonStateGetter #0 os: applet:ICommonStateGetter #1 os: applet:ICommonStateGetter #2 os: applet:ICommonStateGetter #3 os: applet:ICommonStateGetter #4 os: applet:ICommonStateGetter #5 os: applet:ICommonStateGetter #6 os: applet:ICommonStateGetter #7 os: applet:ICommonStateGetter #8 os: applet:ICommonStateGetter #9 os: applet:ICommonStateGetter #10 os: applet:ICommonStateGetter #11 os: applet:ICommonStateGetter #12 os: applet:ICommonStateGetter #13 os: applet:ICommonStateGetter #14 os: applet:ICommonStateGetter #15 os: applet:ICommonStateGetter #16 os: applet:ICommonStateGetter #17 os: applet:ICommonStateGetter #18 os: applet:ICommonStateGetter #19 os: applet:ICommonStateGetter #20 os: applet:ICommonStateGetter #21 os: applet:ICommonStateGetter #22 os: applet:ICommonStateGetter #23 os: applet:ICommonStateGetter #24 os: applet:ICommonStateGetter #25 os: applet:ISelfController #0 os: applet:ISelfController #1 os: applet:ISelfController #2 os: applet:ISelfController #3 os: applet:ISelfController #4 os: applet:ISelfController #5 os: applet:ISelfController #6 os: applet:ISelfController #7 os: applet:ISelfController #8 os: applet:ISelfController #9 os: applet:ISelfController #10 os: applet:IWindowController #0 os: applet:IWindowController #1 os: applet:IWindowController #2 os: applet:IWindowController #3 os: applet:IWindowController #4 os: applet:IWindowController #5 os: applet:IWindowController #6 os: applet:IAudioController #0 os: applet:IAudioController #1 os: applet:IAudioController #2 os: applet:IAudioController #3 os: applet:IAudioController #4 os: applet:IApplicationFunctions #0 os: applet:IApplicationFunctions #1 os: applet:IApplicationFunctions #2 os: applet:IApplicationFunctions #3 os: applet:IApplicationFunctions #4 os: applet:IApplicationFunctions #5 os: applet:IApplicationFunctions #6 os: applet:IApplicationFunctions #7 os: applet:IApplicationFunctions #8 os: applet:IApplicationFunctions #9 os: applet:IApplicationFunctions #10 os: applet:IApplicationFunctions #11 os: applet:IApplicationFunctions #12 os: applet:IApplicationFunctions #13 os: applet:IApplicationFunctions #14 os: applet:IApplicationFunctions #15 os: applet:IApplicationFunctions #16 os: applet:IApplicationFunctions #17 os: applet:IApplicationFunctions #18 os: applet:IApplicationProxy #0 os: applet:IApplicationProxy #1 os: applet:IApplicationProxy #2 os: applet:IApplicationProxy #3 os: applet:IApplicationProxy #4 os: applet:IApplicationProxy #5 os: applet:IApplicationProxy #6 os: applet:IApplicationProxy #7 os: appletOE #0 os: appletOE #1 os: appletOE #2 os: appletOE #3 os: appletOE #4 os: appletOE #5 os: csrng #0 os: ns:IApplicationManagerInterface #0 os: ns:IApplicationManagerInterface #1 os: ns:IApplicationManagerInterface #2 os: ns:IApplicationManagerInterface #3 os: ns:IApplicationManagerInterface #4 os: ns:IReadOnlyApplicationControlDataInterface #0 os: ns:am2 #0 os: ns:am2 #1 os: pdm:qry #0 os: pdm:qry #1 os: pdm:qry #2 os: pdm:qry #3 os: pdm:qry #4 os: pdm:qry #5 os: pdm:qry #6 os: pl:u #0 os: pl:u #1 os: pl:u #2 os: pl:u #3 os: pl:u #4 os: pl:u #5 os: psm #0 os: psm #1 os: psm #2 os: psm #3 os: psm #4 os: psm #5 os: psm #6 os: set:sys #0 os: set:sys #1 os: set:sys #2 os: set:sys #3 os: set:sys #4 os: set:sys #5 os: set #0 os: set #1 os: set #2 os: set #3 os: set #4 os: set #5 os: set #6 os: set #7 os: time:ISystemClock #0 os: time:ISystemClock #1 os: time:ISystemClock #2 os: time:ISystemClock #3 os: time:ISystemClock #4 os: time:ISteadyClock #0 os: time:ISteadyClock #1 os: time:ISteadyClock #2 os: time:ISteadyClock #3 os: time:ISteadyClock #4 os: time:ISteadyClock #5 os: time:ISteadyClock #6 os: time:ITimeZoneService #0 os: time:ITimeZoneService #1 os: time:ITimeZoneService #2 os: time:ITimeZoneService #3 os: time:ITimeZoneService #4 os: time:ITimeZoneService #5 os: time:ITimeZoneService #6 os: time:ITimeZoneService #7 os: time:ITimeZoneService #8 os: time:ITimeZoneService #9 os: time #0 os: time #1 os: time #2 os: time #3 os: time #4 os: time #5 os: time #6 os: time #7 os: time #8 os: time #9 os: time #10 os: time #11 os: time #12 os: time #13 os net: bsd:u #0 net: bsd:u #1 net: bsd:u #2 net: bsd:u #3 net: bsd:u #4 net: bsd:u #5 net: bsd:u #6 net: bsd:u #7 net: bsd:u #8 net: bsd:u #9 net: bsd:u #10 net: bsd:u #11 net: bsd:u #12 net: bsd:u #13 net: bsd:u #14 net: bsd:u #15 net: bsd:u #16 net: bsd:u #17 net: bsd:u #18 net: bsd:u #19 net: bsd:u #20 net: bsd:u #21 net: bsd:u #22 net: bsd:u #23 net: bsd:u #24 net: bsd:u #25 net: bsd:u #26 net: bsd:u #27 net: nifm:IRequest #0 net: nifm:IRequest #1 net: nifm:IRequest #2 net: nifm:IRequest #3 net: nifm:IRequest #4 net: nifm:IRequest #5 net: nifm:IRequest #6 net: nifm:IRequest #7 net: nifm:IRequest #8 net: nifm:IRequest #9 net: nifm:IRequest #10 net: nifm:IRequest #11 net: nifm:IRequest #12 net: nifm:IRequest #13 net: nifm:IRequest #14 net: nifm:IRequest #15 net: nifm:IRequest #16 net: nifm:IRequest #17 net: nifm:IRequest #18 net: nifm:IGeneralService #0 net: nifm:IGeneralService #1 net: nifm:IGeneralService #2 net: nifm:IGeneralService #3 net: nifm:IGeneralService #4 net: nifm:IGeneralService #5 net: nifm:IGeneralService #6 net: nifm:IGeneralService #7 net: nifm:IGeneralService #8 net: nifm:IGeneralService #9 net: nifm:IGeneralService #10 net: nifm:IGeneralService #11 net: nifm:IGeneralService #12 net: nifm:IGeneralService #13 net: nifm:IGeneralService #14 net: nifm:IGeneralService #15 net: nifm #0 net: nifm #1 net: sfdnsres #0 net: sfdnsres #1 net: sfdnsres #2 net: sfdnsres #3 net: sfdnsres #4 net: ssl:ISslConnection #0 net: ssl:ISslConnection #1 net: ssl:ISslConnection #2 net: ssl:ISslConnection #3 net: ssl:ISslConnection #4 net: ssl:ISslConnection #5 net: ssl:ISslConnection #6 net: ssl:ISslConnection #7 net: ssl:ISslConnection #8 net: ssl:ISslConnection #9 net: ssl:ISslConnection #10 net: ssl:ISslConnection #11 net: ssl:ISslConnection #12 net: ssl:ISslConnection #13 net: ssl:ISslConnection #14 net: ssl:ISslConnection #15 net: ssl:ISslConnection #16 net: ssl:ISslConnection #17 net: ssl:ISslConnection #18 net: ssl:ISslConnection #19 net: ssl:ISslConnection #20 net: ssl:ISslConnection #21 net: ssl:ISslConnection #22 net: ssl:ISslContext #0 net: ssl:ISslContext #1 net: ssl:ISslContext #2 net: ssl:ISslContext #3 net: ssl:ISslContext #4 net: ssl:ISslContext #5 net: ssl:ISslContext #6 net: ssl:ISslContext #7 net: ssl:ISslContext #8 net: ssl #0 net: ssl #1 net: ssl #2 net: ssl #3 net: ssl #4 net: ssl #5 net: ssl #6 net: ssl #7 net: ssl #8 net fs: fs:IFile #0 fs: fs:IFile #1 fs: fs:IFile #2 fs: fs:IFile #3 fs: fs:IFile #4 fs: fs:IFile #5 fs: fs:IDirectory #0 fs: fs:IDirectory #1 fs: fs:IFileSystem #0 fs: fs:IFileSystem #1 fs: fs:IFileSystem #2 fs: fs:IFileSystem #3 fs: fs:IFileSystem #4 fs: fs:IFileSystem #5 fs: fs:IFileSystem #6 fs: fs:IFileSystem #7 fs: fs:IFileSystem #8 fs: fs:IFileSystem #9 fs: fs:IFileSystem #10 fs: fs:IFileSystem #11 fs: fs:IFileSystem #12 fs: fs:IFileSystem #13 fs: fs:IFileSystem #14 fs: fs:ISaveDataInfoReader #0 fs: fs:IStorage #0 fs: fs:IStorage #1 fs: fs:IStorage #2 fs: fs:IStorage #3 fs: fs:IStorage #4 fs: fs:IStorage #5 fs: fs:IDeviceOperator #0 fs: fs:IDeviceOperator #1 fs: fsp-srv #0 fs: fsp-srv #1 fs: fsp-srv #2 fs: fsp-srv #3 fs: fsp-srv #4 fs: fsp-srv #5 fs: fsp-srv #6 fs: fsp-srv #7 fs: fsp-srv #8 fs: fsp-srv #9 fs: fsp-srv #10 fs: fsp-srv #11 fs: fsp-srv #12 fs: fsp-srv #13 fs: fsp-srv #14 fs: fsp-srv #15 fs: fsp-srv #16 fs: fsp-srv #17 fs: fsp-srv #18 fs: fsp-srv #19 fs: fsp-srv #20 fs: fsp-srv #21 fs: fsp-srv #22 fs: fsp-srv #23 fs: fsp-srv #24 fs: fsp-srv #25 fs audio: audout:IAudioOut #0 audio: audout:IAudioOut #1 audio: audout:IAudioOut #2 audio: audout:IAudioOut #3 audio: audout:IAudioOut #4 audio: audout:IAudioOut #5 audio: audout:IAudioOut #6 audio: audout:IAudioOut #7 audio: audout:IAudioOut #8 audio: audout:IAudioOut #9 audio: audout:IAudioOut #10 audio: audout:IAudioOut #11 audio: audout:IAudioOut #12 audio: audout:IAudioOut #13 audio: audout:u #0 audio: audout:u #1 audio: audout:u #2 audio: audout:u #3 audio: audren:IAudioRenderer #0 audio: audren:IAudioRenderer #1 audio: audren:IAudioRenderer #2 audio: audren:IAudioRenderer #3 audio: audren:IAudioRenderer #4 audio: audren:IAudioRenderer #5 audio: audren:IAudioRenderer #6 audio: audren:IAudioRenderer #7 audio: audren:IAudioRenderer #8 audio: audren:IAudioRenderer #9 audio: audren:IAudioRenderer #10 audio: audren:IAudioRenderer #11 audio: audren:IAudioDevice #0 audio: audren:IAudioDevice #1 audio: audren:IAudioDevice #2 audio: audren:IAudioDevice #3 audio: audren:IAudioDevice #4 audio: audren:IAudioDevice #5 audio: audren:IAudioDevice #6 audio: audren:IAudioDevice #7 audio: audren:IAudioDevice #8 audio: audren:IAudioDevice #9 audio: audren:IAudioDevice #10 audio: audren:IAudioDevice #11 audio: audren:IAudioDevice #12 audio: audren:IAudioDevice #13 audio: audren:u #0 audio: audren:u #1 audio: audren:u #2 audio: audren:u #3 audio: audren:u #4 audio gpu: nvdrv #0 gpu: nvdrv #1 gpu: nvdrv #2 gpu: nvdrv #3 gpu: nvdrv #4 gpu: nvdrv #5 gpu: nvdrv #6 gpu: nvdrv #7 gpu: nvdrv #8 gpu: nvdrv #9 gpu: vi:IHOSBinderDriver #0 gpu: vi:IHOSBinderDriver #1 gpu: vi:IHOSBinderDriver #2 gpu: vi:IHOSBinderDriver #3 gpu: vi:IApplicationDisplayService #0 gpu: vi:IApplicationDisplayService #1 gpu: vi:IApplicationDisplayService #2 gpu: vi:IApplicationDisplayService #3 gpu: vi:IApplicationDisplayService #4 gpu: vi:IApplicationDisplayService #5 gpu: vi:IApplicationDisplayService #6 gpu: vi:IApplicationDisplayService #7 gpu: vi:IApplicationDisplayService #8 gpu: vi:IApplicationDisplayService #9 gpu: vi:IApplicationDisplayService #10 gpu: vi:IApplicationDisplayService #11 gpu: vi:IApplicationDisplayService #12 gpu: vi:IApplicationDisplayService #13 gpu: vi:IApplicationDisplayService #14 gpu: vi:IApplicationDisplayService #15 gpu: vi:IApplicationDisplayService #16 gpu: vi:ISystemDisplayService #0 gpu: vi:ISystemDisplayService #1 gpu: vi:ISystemDisplayService #2 gpu: vi:ISystemDisplayService #3 gpu: vi:ISystemDisplayService #4 gpu: vi:ISystemDisplayService #5 gpu: vi:IManagerDisplayService #0 gpu: vi:IManagerDisplayService #1 gpu: vi:IManagerDisplayService #2 gpu: vi:IManagerDisplayService #3 gpu input: hid #0 input: hid #1 input: hid #2 input: hid #3 input: hid #4 input: hid #5 input: hid #6 input: hid #7 input: hid #8 input: hid #9 input: hid #10 input: hid #11 input: hid #12 input: hid #13 input: hid #14 input: hid #15 input: hid #16 input: hid #17 input: hid #18 input: hid #19 input: hid #20 input: hid #21 input

Homebrew

ProgramKindStatusNotes
DOOM (doomgeneric)gameplayablelibnx framebuffer, keyboard, sound
Quake (SDL2)gameplayableunmodified SDL2 port, sound
OpenTyrian (SDL2)gameplayableunmodified SDL2 game
SDL2 test appsdlworksvideo, input, audio
libnx hellolibnxworks
libnx consolelibnxworks
libnx serviceslibnxworksaccount, set, time, psm
libnx romfslibnxworks
libnx inputlibnxworks
libnx socketslibnxworksbsd:u; no DNS yet (#41)
deko3d clear (M0/M1)gpuworks
deko3d trianglegpuworksmatches a reference
deko3d cubegpuworksmatches a reference
deko3d depth and blendinggpuworksmatches a reference
deko3d texturesgpuworksRGBA8 and BC1, matches a reference
deko_examples 01 Simple Setupgpuworks
deko_examples 02 Trianglegpuworks
deko_examples 03 Cubegpuworks
deko_examples 04 Textured Cubegpuworks
deko_examples 05 Tessellationgpubrokentessellation stages not implemented
deko_examples 06 Multisamplinggpuworks4x MSAA, 2D-engine resolve
deko_examples 07 Mesh and Lighting (sRGB)gpuworks
deko_examples 08 Deferred Shadinggpuworksthree render targets
deko_examples 09 Compute Shadergpupartialline smoothing not done

Homebrew compatibility (nightly)

26 open-source homebrew built from source and run under switch2pc every night (compat/apps.json, compat/run.py); last run 2026-10-27T08:44:09Z at c115c01. Each blocker is a ready-made task: see compat/README.md and the compat issues.

runs22 renders3 boots0 crash1 build-failed0

runs: renders and exits cleanly when asked to, renders: presents frames with something on them, boots: runs without crashing but presents no frame, crash: fatal signal, fatal svcBreak or an error exit, build-failed: did not build with devkitPro from the pinned ref.

AppCategoryLevelFramesTop blocker Frame
switch-examples: templates/application
libnx console template: prints to the console and exits on Plus.
demoruns2611
switch-examples: graphics/sdl2/sdl2-simple
SDL2 renderer (devkitPro's Switch SDL2, GL-backed) drawing coloured rectangles; SDL turns the applet exit request into SDL_QUIT, which this example ignores, so the input script presses Plus, its own exit button.
demoruns144ipc:applet:ILibraryAppletCreator:0
nx-hbmenu
The homebrew menu: software-rendered framebuffer, lists sdmc:/switch, nxlink listener.
utilityruns393service:ts
switch-examples: graphics/opengl/simple_triangle
OpenGL ES through Mesa (nouveau) and EGL: one shaded triangle.
demoruns2118
switch-examples: audio/playtone
audout: plays tones when buttons are pressed (console UI).
demoruns4196
switch-examples: graphics/deko3d/deko_basic
deko3d: clears the screen with a changing colour.
demoruns796
switch-examples: hid/read-controls
hid: prints the buttons and sticks to the console.
demoruns3128
switch-examples: graphics/simplegfx
libnx framebuffer: fills the screen with a gradient.
demoruns2183
switch-examples: fs/romfs
fs: reads a file from its own RomFS and prints it.
demoruns2633
switch-examples: network/curl
network: nifm + bsd + sfdnsres; fetches a page with curl over TLS.
demorenders
did not exit on the exit request
1sockopt:0xffff:0x800
ftpd
FTP server: deko3d-backed Dear ImGui UI, sockets, exits on Plus. Pinned past v3.2.1 (whose FreeBSD collate.c has old-style definitions GCC 15 rejects); its assets need zstd and ImageMagick, installed with apt in the container.
utilityruns160
hb-appstore
Homebrew App Store: SDL2 (chesto), curl over TLS to the repository, fonts via SDL_ttf. Build workarounds for current portlibs and GCC 15: -D_GNU_SOURCE (chesto's -D_XOPEN_SOURCE hides strdup, now an error), harfbuzz linked in (freetype 2.13 needs it, chesto's link line predates that), serial make (chesto's Makefile races under -j).
utilityrenders
did not exit on the exit request
10sockopt:0xffff:0x800 +1
NX-Shell
File manager: Dear ImGui over GLFW and Mesa, lists sdmc:/. Build fixes for GCC 15: a missing <ctime> include, and a freetype-config shim over pkg-config since freetype 2.13 no longer ships it.
utilitycrash0service:spl: +2
SwitchIdent
System information viewer: SDL2 renderer, SDL_ttf, set:sys, nifm, psm, ts.
utilityruns309service:set:cal +9
NooDS
DS emulator: libnx + EGL/Mesa UI, reaches its file browser without a ROM. Only a rolling 'release' tag upstream, so pinned by sha.
emulatorrenders
did not exit on the exit request
8800service:clkrst
mGBA
GBA emulator: libnx + EGL/Mesa GUI, file browser without a ROM.
emulatorruns1818
SpaceNX
Small SDL2 space shooter with everything drawn in code (no data files); it reads the pad itself and leaves on Minus, which the input script presses. Makefile.libnx predates the current toolchain, so the build passes CFLAGS (-fpermissive and -fcommon: GCC 15 rejects its return-type and pointer-type mismatches and its tentative definitions in a header) and LIBS (SDL2 now needs EGL, glapi, drm_nouveau and libstdc++ for Mesa) whole.
gameruns82
vgedit
Text editor and file browser on chesto (SDL2); same build workarounds as hb-appstore (shared library code).
utilityruns1
switch-examples: graphics/opengl/es2gears
OpenGL ES 2 gears through Mesa: more draw calls and depth than the triangle.
demoruns650
switch-examples: graphics/opengl/textured_cube
OpenGL ES textured cube through Mesa: texture upload and sampling.
demoruns295
switch-examples: audio/audren-simple
audren:u, the audio renderer (not audout): a blocker for most games with music.
demoruns3126
switch-examples: graphics/shared_font
pl:u: draws text with the system's shared font.
demoruns2374
switch-examples: account
acc:u1: lists the users and their profile images.
demoruns2608ipc:applet:ILibraryAppletCreator:0
switch-examples: fs/save
fs: mounts save data for the current title and reads it.
demoruns2607
switch-examples: applet/libapplets/software-keyboard
library applets: opens the software keyboard (swkbd) and prints what it returns.
demoruns3147ipc:applet:ILibraryAppletCreator:0 +1
switch-examples: graphics/sdl2/sdl2-demo
SDL2 with SDL_image, SDL_ttf and SDL_mixer: images, text and music through the stock Switch SDL2.
demoruns346

Nightly history

0 7 14 21 28 2026-10-13: 1 crash 2026-10-13: 4 boots 2026-10-13: 4 renders 2026-10-13: 19 runs 2026-10-14: 1 crash 2026-10-14: 3 renders 2026-10-14: 22 runs 2026-10-15: 1 crash 2026-10-15: 3 renders 2026-10-15: 22 runs 2026-10-16: 1 crash 2026-10-16: 3 renders 2026-10-16: 22 runs 2026-10-17: 1 crash 2026-10-17: 3 renders 2026-10-17: 22 runs 2026-10-18: 1 crash 2026-10-18: 3 renders 2026-10-18: 22 runs 2026-10-19: 1 crash 2026-10-19: 3 renders 2026-10-19: 22 runs 2026-10-20: 1 crash 2026-10-20: 3 renders 2026-10-20: 22 runs 2026-10-21: 1 crash 2026-10-21: 3 renders 2026-10-21: 22 runs 2026-10-22: 1 crash 2026-10-22: 3 renders 2026-10-22: 22 runs 2026-10-23: 1 crash 2026-10-23: 3 renders 2026-10-23: 22 runs 2026-10-24: 1 crash 2026-10-24: 3 renders 2026-10-24: 22 runs 2026-10-25: 1 crash 2026-10-25: 3 renders 2026-10-25: 22 runs 2026-10-26: 1 crash 2026-10-26: 3 renders 2026-10-26: 22 runs 2026-10-27: 1 crash 2026-10-27: 3 renders 2026-10-27: 22 runs runs 22 renders 3 boots 0 crash 1 build-failed 0 2026-10-132026-10-27 (15 runs)