You do not have permission to edit this page, for the following reason:
The action you have requested is limited to users in one of the groups: Users, Administrators.
Free text:
{{obsolete}} Libtransistor is a userland library for the Nintendo Switch. Binaries should run under Mephisto, Yuzu, Ryujinx, or on hardware with any firmware version via Atmosphère. The tests archives contain builds of all of the tests included with libtransistor. ==Compatibility== Tested working: 1.0.0 <br> 3.0.0 <br> Expected working: 2.0.0 <br> 2.1.0 <br> 2.2.0 <br> 2.3.0 <br> 5.0.0 <br> 5.0.1 <br> 5.0.2 <br> ==Changelog== '''v2.1.1 2918/09/12''' *Additions: **Added <code>trn_recursive_mutex_interrupt_lock</code>. **Various SVC bindings. *Changes: **<code>trn_result_to_errno</code> now uses<code> trn_lookup_result</code>. **<code>KDebug</code> inherits from <code>KWaitable</code>. *Bugfixes: **Waiter deadlocks/delays. **Lifetime bug in C++ Waiter bindings. '''v2.1.0 2019/08/23''' *Additions: **Added support for deferring <code>IPCServer++</code> responses. **Added support for <code>InHandle</code>, <code>OutHandle</code>, and <code>InObject</code> to <code>IPCClient++</code>. **Added <code>KTransferMemory</code>. **Added default constructor for <code>KObject</code>. **Added <code>_TRN_RUNCONF_STDIO_OVERRIDE_TWILI</code>. **Added <code>include/libtransistor/cpp/nx.hpp</code>. **Added <code>trn::svc::MapTransferMemory</code> and <code>trn::svc::MapSharedMemory</code>. **Added <code>trn::svc::QueryMemory</code>. **Added <code>env_get_stack_top</code>. **Added <code>bindings for ITwiliService#CreateNamedPipe</code>. **Added <code>trn::as::Reservation</code>. **Added <code>trn_lookup_result</code>. *Removals: **Removed some old debug messages. **Removed <code>ipcClients.h</code>. *Changes: **Refactored <code>crt0_common</code>. **Made <code>include/libtransistor/nx.h</code> more complete. **When building libtransistor, libtransistor headers are now included with <code>-I</code> so that warnings are not suppressed. **Makefile object/header listings are now alphabetical. **Each source file now includes its most relevant header before any others to ensure header files' dependencies are properly included.. *Bugfixes: **Made <code>trn::ResultError</code> inherit publicly from <code>std::runtime_exception</code>. **Many warnings. **Fixed issues with libc++, atomics, and <code><nowiki>[[noreturn]]</nowiki></code>. '''v2.0.0 2019/07/20''' *Additions: **Added dynamic linker, <code>dlopen</code>, <code>dlsym</code>, etc. **Added C++ API (see [https://github.com/misson20000/twili twili] for examples of this API in action). **Including templated IPC client/server. **Added 1.0.0 support. **Added <code>trn_thread</code> and <code>trn_mutex</code> library. **Added <code>svcMapProcessCodeMemory</code>, <code>svcUnmapProcessCodeMemory</code>, <code>svcSetProcessMemoryPermission</code>. **Added <code>svcCreateProcess</code>, <code>svcStartProcess</code>. **Added <code>svcMapPhysicalMemory</code>, <code>svcUnmapPhysicalMemory</code>. **Added resource limit, debug SVCs. **Added <code>usb</code> bindings. **Added <code>as</code> module, for managing address space (replaces <code>find_empty_memory_block</code>). **Added <code>fatal</code> service bindings. **Added process handle key to <code>loader_config</code>. **Added <code>SECONDS_TO_NANOSECONDS</code>, <code>ASSERT_OK</code>, <code>TRACE</code>, and <code>DBG_TRACE</code> macros. **Added <code>ipc_helpers</code>. **Added <code>ipc_debug_level</code> (replaces <code>ipc_debug_flag</code>)'. **Added <code>collections/list.h</code>. **Added <code>waiter</code>. **Added [https://github.com/misson20000/twili twili] integration. **Added <code>runtime_config</code>. **Added hid_controller button state masks, <code>hid_controller_buttons_down</code>. **Added <code>nvhost_ioctl_ctrl_syncpt_wait</code>. **Added <code>surface_wait_buffer</code>. **Added fsp_srv_open_bis_filesystem. **Added NRO ASET sections for metadata and icons. **Added <code>env_get_kernel_version()</code>. *Removals: **Removed <code>ace_loader</code>. **Removed <code>alloc_pages</code> and heap remapping system. **Removed <code>main_thread = 0xde00</code> hack. **Removed <code>test_multiple_set_heap_size</code>. *Changes: ** We now use display layers obtained from <code>am</code> wherever possible (fixes drawing over lock screen and fixes screenshots). **Redid <code>file_operations_t</code> to not be copied from the Linux kernel, and for consistency with other libtransistor filesystem APIs. **Moved <code>loader_config</code> functions into their own file. **We now send type 2 message before closing IPC services. **Change <code>struct file</code> to <code>trn_file_t</code>. **Enabled thread safety analysis, and thread safety for a few modules. **<code>ipc_server</code> now uses <code>waiter</code>. **<code>sm_force_finalize</code> is now public. **<code>trn_mountfs_mount</code> takes inode by value. **Removed <code>restrict</code> from bsd headers. *Bugfixes. **Made <code>ipc_server</code> check that it has the SVCs it needs. **We now initialize all <code>loader_config</code> fields. **Fixed syscall missing error code number collisions. **<code>trn_result_to_errno</code> now calls <code>dbg_printf</code> instead of <code>printf</code> when discarding errors. **Supported ipc messages with raw data sizes that are not multiples of 4. **<code>svc.h</code> now includes <code>types.h</code>. **Fixed missing <code>__malloc_lock</code> and <code>__malloc_unlock</code>. **Fixed uninitialized variable usage in <code>syscalls.c</code>. **Added missing typedef in <code>graphic_buffer_queue.h</code>. **Fixed <code>fd_file</code>_put not checking <code>file->ops.release != NULL</code>. **Fixed PID unpacking in PIC. **Removed some ancient debug messages. **Fixed terrible QueueBuffer transactions. **Fixed bss clearing. *Misc/CI: **Moved support libraries into <code>libtransistor-base</code>. **Run tests with <code>--initialize-memory</code>. **Use container infrastructure. **Added instructions to README for installing squashfs on osx. [https://github.com/reswitched/libtransistor/releases Release notes.] == External links == * GitHub - https://github.com/reswitched/libtransistor
Advertising: