Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Libnx Switch: Difference between revisions

From GameBrew
No edit summary
No edit summary
 
(4 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{Infobox Switch Homebrews
{{Infobox Switch Homebrews
|title=Libnx
|title=Libnx
|image=libnxswitch.png
|image=libnx.png
|description=Library for Switch Homebrew.
|description=Library for Switch Homebrew.
|author=switchbrew
|author=switchbrew
|lastupdated=2023/05/27
|lastupdated=2024/06/16
|type=Developments
|type=Developments
|version=4.4.2
|version=4.7.0
|license=ISC
|license=ISC
|download=https://dlhb.gamebrew.org/switchhomebrews/libnxswitch.7z
|download=https://github.com/switchbrew/libnx/releases
|website=https://switchbrew.github.io/libnx/
|website=https://switchbrew.github.io/libnx/
|source=https://github.com/switchbrew/libnx
|source=https://github.com/switchbrew/libnx
|donation=  
|donation=  
}}
}}
{{#seo:
<!--https://dlhb.gamebrew.org/switchhomebrews/libnx.7z-->
|title=Switch Homebrew PC Tools (Developments) - GameBrew
Nintendo Switch AArch64-only userland library. It is an adaptation of libctru.
|title_mode=append
 
|image=libnxswitch.png
See [https://switchbrew.org/wiki/Setting_up_Development_Environment Switchbrew] for install instructions.
|image_alt=Libnx
}}
Libnx is a userland library exclusively for AArch64-based Nintendo Switch homebrew development. It is an adaptation of libctru.


==Install instructions==
==Features==
See [https://switchbrew.org/wiki/Setting_up_Development_Environment Switchbrew].
*Based on libctru.
*Nintendo Switch AArch64-only.
*Userland library.
*Library for Switch Homebrew.


==Changelog==
==Changelog==
'''v4.7.0'''
* Update SetSysProductModel_Aula comment by [https://github.com/masagrator @masagrator] in [https://github.com/switchbrew/libnx/pull/634 #634]
* Implement FS &quot;ChallengeCardExistence&quot; and &quot;GetGameCardDeviceCertificate&quot; by [https://github.com/EpicUsername12 @EpicUsername12] in [https://github.com/switchbrew/libnx/pull/631 #631]
* nvchannel: Fix SET_CLK_RATE, implement GET_CLK_RATE and SET_SUBMIT_TIMEOUT by [https://github.com/averne @averne] in [https://github.com/switchbrew/libnx/pull/637 #637]
* fs: add GetFileSystemAttribute cmd by [https://github.com/DarkMatterCore @DarkMatterCore] in [https://github.com/switchbrew/libnx/pull/642 #642]
* Basic support for 18.0.0 by [https://github.com/SciresM @SciresM] in [https://github.com/switchbrew/libnx/pull/641 #641]
'''v4.6.0'''
* svc: fix query/insecure names by @SciresM.
* Add NX_ prefix to PACKED, NORETURN, IGNORE_ARG and DEPRECATED macros by @Ghabry.
* Add fsDeviceOperatorGetGameCardUpdatePartitionInfo by @ITotalJustice.
* Fix: avoid segfault at static destructors by @ThisALV.
'''v4.5.0'''
*Services:
**btdrv: Missing definitions for ble were added.
**capsdc: Updated for [17.0.0+].
**hidsys: Support was added for many commands.
**fs:
***Updated for [17.0.0+].
***Support was added for many fsDeviceOperator commands.
**ncm: Updated for [17.0.0+].
**nfc: Support was added for all remaining commands.
**ns: Added nsEstimateSizeToMove.
**pctl: Support was added for many commands.
**ssl: Updated sslConnectionSetPrivateOption for [17.0.0+].
**ts: Updated for [17.0.0+].
*Devices:
**socket: Updated wrapper to automatically select latest available bsd service version (fixes multicast support).
*Miscellaneous:
**The linker script/crt0 were updated to support relro.
**A bug was fixed in aes-cbc block decryption.
**A number of problems were corrected involving incorrect ipc serialization with pointer arguments.
*Several issues were fixed, and usability and stability were improved.
'''v4.4.2'''
'''v4.4.2'''
*system
*System:
**ensure correct addresses for bss
**Ensure correct addresses for bss.
*miscellaneous
*Miscellaneous:
**fix timezone to allow +/- and alphanumrics
**Fix timezone to allow +/- and alphanumrics.
**end compile_commmands generation when elf linked
**End compile_commmands generation when elf linked.
'''v4.4.1'''
'''v4.4.1'''
*miscellaneous
*Miscellaneous:
**add missing separator to local path
**Add missing separator to local path.
*Several issues were fixed, and usability and stability were improved.
*Several issues were fixed, and usability and stability were improved.
'''v4.4.0'''
'''v4.4.0'''
*services
*Services:
**applet: add appletGetMessageEvent
**Applet: add appletGetMessageEvent.
**usbcomms: add async API
**usbcomms: add async API.
**usbcomms: expose VID:PID configuration
**usbcomms: expose VID:PID configuration.
*miscellaneous
*Miscellaneous:
**correct problems revealed by gcc 13
**Correct problems revealed by gcc 13.
**mitigate race condition bug in nvservices
**Mitigate race condition bug in nvservices.
**Several issues were fixed, and usability and stability were improved.
**Several issues were fixed, and usability and stability were improved.
'''v4.3.0'''
'''v4.3.0'''
*services
*Services:
**applet: Updated for [15.0.0+]. Added __nx_applet_init_timeout
**Applet: Updated for [15.0.0+]. Added __nx_applet_init_timeout.
**audctl:
**audctl:
***Added audctlGetActiveOutputTarget.
***Added audctlGetActiveOutputTarget.
Line 52: Line 84:
**auddev: Added auddevGetActiveAudioDeviceName.
**auddev: Added auddevGetActiveAudioDeviceName.
**bpc: Fixed GetSleepButtonState/GetPowerButton.
**bpc: Fixed GetSleepButtonState/GetPowerButton.
**fs: Updated for [16.0.0+]
**fs: Updated for [16.0.0+].
**hiddbg: Changed hiddbgAttachHdlsWorkBuffer to accept a user-supplied buffer and size.
**hiddbg: Changed hiddbgAttachHdlsWorkBuffer to accept a user-supplied buffer and size.
**ncm: Updated for [15.0.0+] and [16.0.0+].
**ncm: Updated for [15.0.0+] and [16.0.0+].
Line 68: Line 100:
**vi: Added [16.0.0+] Manager commands.
**vi: Added [16.0.0+] Manager commands.
**wlaninf: Added sysver check to account for its removal in [15.0.0+].
**wlaninf: Added sysver check to account for its removal in [15.0.0+].
*devices
*Devices:
**nxlinkConnectToHost: Added timeout to avoid long hang when -s isn't specified for nxlink.
**nxlinkConnectToHost: Added timeout to avoid long hang when -s isn't specified for nxlink.
*miscellaneous
*Miscellaneous:
**Added CMSG macros to BSD headers.
**Added CMSG macros to BSD headers.
*Several issues were fixed, and usability and stability were improved.
*Several issues were fixed, and usability and stability were improved.
[https://github.com/switchbrew/libnx/releases Release notes.]


== External links ==
== External links ==
* Github - https://github.com/switchbrew/libnx
* GitHub - https://github.com/switchbrew/libnx
* Documentation - https://switchbrew.github.io/libnx/

Latest revision as of 01:28, 16 Haziran 2024

Libnx
Libnx.png
General
Authorswitchbrew
TypeDevelopments
Version4.7.0
LicenseISC
Last Updated2024/06/16
Links
Download
Website
Source

Nintendo Switch AArch64-only userland library. It is an adaptation of libctru.

See Switchbrew for install instructions.

Features

  • Based on libctru.
  • Nintendo Switch AArch64-only.
  • Userland library.
  • Library for Switch Homebrew.

Changelog

v4.7.0

v4.6.0

  • svc: fix query/insecure names by @SciresM.
  • Add NX_ prefix to PACKED, NORETURN, IGNORE_ARG and DEPRECATED macros by @Ghabry.
  • Add fsDeviceOperatorGetGameCardUpdatePartitionInfo by @ITotalJustice.
  • Fix: avoid segfault at static destructors by @ThisALV.

v4.5.0

  • Services:
    • btdrv: Missing definitions for ble were added.
    • capsdc: Updated for [17.0.0+].
    • hidsys: Support was added for many commands.
    • fs:
      • Updated for [17.0.0+].
      • Support was added for many fsDeviceOperator commands.
    • ncm: Updated for [17.0.0+].
    • nfc: Support was added for all remaining commands.
    • ns: Added nsEstimateSizeToMove.
    • pctl: Support was added for many commands.
    • ssl: Updated sslConnectionSetPrivateOption for [17.0.0+].
    • ts: Updated for [17.0.0+].
  • Devices:
    • socket: Updated wrapper to automatically select latest available bsd service version (fixes multicast support).
  • Miscellaneous:
    • The linker script/crt0 were updated to support relro.
    • A bug was fixed in aes-cbc block decryption.
    • A number of problems were corrected involving incorrect ipc serialization with pointer arguments.
  • Several issues were fixed, and usability and stability were improved.

v4.4.2

  • System:
    • Ensure correct addresses for bss.
  • Miscellaneous:
    • Fix timezone to allow +/- and alphanumrics.
    • End compile_commmands generation when elf linked.

v4.4.1

  • Miscellaneous:
    • Add missing separator to local path.
  • Several issues were fixed, and usability and stability were improved.

v4.4.0

  • Services:
    • Applet: add appletGetMessageEvent.
    • usbcomms: add async API.
    • usbcomms: expose VID:PID configuration.
  • Miscellaneous:
    • Correct problems revealed by gcc 13.
    • Mitigate race condition bug in nvservices.
    • Several issues were fixed, and usability and stability were improved.

v4.3.0

  • Services:
    • Applet: Updated for [15.0.0+]. Added __nx_applet_init_timeout.
    • audctl:
      • Added audctlGetActiveOutputTarget.
      • Fixed TargetVolume functions.
    • auddev: Added auddevGetActiveAudioDeviceName.
    • bpc: Fixed GetSleepButtonState/GetPowerButton.
    • fs: Updated for [16.0.0+].
    • hiddbg: Changed hiddbgAttachHdlsWorkBuffer to accept a user-supplied buffer and size.
    • ncm: Updated for [15.0.0+] and [16.0.0+].
    • pdm:
      • Updated for [16.0.0+].
      • Fixed pdmqryQueryAccountEvent on older sysvers.
      • Updated structs.
    • pl: Added [16.0.0+] sysver checks.
    • ssl:
      • Added support for new [16.0.0+] functionality.
      • Added ssl:s support [15.0.0+].
      • Added sslClearTls12FallbackFlag [14.0.0+].
      • Updated SslCaCertificateId enum.
    • usbhs: Added the remaining cmds and expose more functionality.
    • vi: Added [16.0.0+] Manager commands.
    • wlaninf: Added sysver check to account for its removal in [15.0.0+].
  • Devices:
    • nxlinkConnectToHost: Added timeout to avoid long hang when -s isn't specified for nxlink.
  • Miscellaneous:
    • Added CMSG macros to BSD headers.
  • Several issues were fixed, and usability and stability were improved.

Release notes.

External links

Advertising: