View unanswered posts | View active topics It is currently Thu Jan 24, 2019 2:41 pm

Reply to topic  [ 1 post ] 
 libnx 1.5.0, switch-examples 20181027 
Author Message

Joined: Mon Jul 12, 2010 9:45 pm
Posts: 37
Another month, another libnx release. Like always, libnx 1.5.0 and switch-examples 20181027 are now available via pacman. Use sudo (dkp-)pacman -Syu to update or sudo (dkp-)pacman -S libnx switch-mesa switch-examples to install.

libnx 1.5.0

  • Improved service IPC support for domains.
  • Added RandomSeed HBABI key handling, which fixes broken/identical random number generation output when launching homebrew NROs multiple times with nx-hbloader.
  • Added Barrier synchronization primitive.
  • Added threadGetCurHandle.
  • Fixed several C11 thread support standard compliance issues.
  • Fixed virtmem handling on 1.x.
  • Fixed ProcessState enumeration names and descriptions.
  • Fixed bug in eventCreate.
  • Fixed bug in jitCreate.
  • fsp-srv and fsp-ldr services:
    • Now using domains for IPC, which solves problems related to having a large number of filesystem resources open.
    • Added fsdevGetDeviceFileSystem.
  • time services:
    • Added timezone support.
    • The user system clock is now used by default instead of the network clock.
    • The user system clock is now also used as fallback if the specified system clock override (__nx_time_type) is not available.
  • applet services:
    • Added support for running with nx-hbloader as an Application.
    • Added support for enabling video recording when running as an Application, although it needs a specific flag set in the host title's nacp to be accessible.
    • Added appletLockExit/appletUnlockExit, which can be used to ensure that user processes get a chance to finish before the application is closed by the system.
    • Added __nx_applet_exit_mode, used to control the application's behavior on close (including self-exit support).
    • Added AppletHookType_OnExitRequest.
    • Fixed issues related to running as an Application.
    • Minor internal refactor to use Event objects instead of raw handles.
  • hid (input) services:
    • Added SixAxisSensor support.
    • Vibration partially fixed, although it needs disable/enable in system settings for it to be effective.
    • Added hidSetSupportedNpadStyleSet, hidSetSupportedNpadIdType, hidSetNpadJoyHoldType, hidGetControllerType, hidGetControllerColors, hidIsControllerConnected.
  • USB services:
    • Major refactor which adds support for 5.x+ systems.
    • Added usbCommsSetErrorHandling, which now disables USB fatal errors by default.
  • audin/audout services: minor internal refactor to use Event objects instead of raw handles.
  • Added pm:shell command: pmshellGetApplicationPid.
  • Added set:sys command: setsysGetFirmwareVersion.
  • Added psm commands: psmGetBatteryVoltageState, psmBindStateChangeEvent, psmWaitStateChangeEvent, psmUnbindStateChangeEvent.
  • fatal services: on systems prior to 3.x, FatalType_ErrorReportAndErrorScreen is used again due to FatalType_ErrorScreen not existing. Beware of fatal errors on 1.x and 2.x since they now create reports again (instead of silently hanging the system).
  • Refactored console device:
    • The console now has an interface that can be used to override the default software rendering backend with a custom implementation (including GPU rendering).
    • The software renderer now takes care of calling gfxInitDefault, gfxSwapBuffers, gfxExit. gfx functions should not be called explicitly by console users.
    • Added consoleUpdate and consoleExit.
    • Old code is still compatible, although it is strongly advised to update it to use the new functions instead of calling gfx functions directly.
  • Fixed NvFence regression on 1.x.
  • Increased default nvservices transfermem heap size to 8 MB, which allows for more complex GPU homebrew to run.
  • Changed nvBufferCreate to support different settings for cpu/gpu cacheability.
  • Added nifm handling to socketInitialize/Exit, which makes gethostid/gethostname work by default.
  • Added missing declarations to netinet/in.h.
  • Changed nifm to use IPC domains.
  • Optimized select/poll to avoid using malloc when possible.
  • Fixed poll to accept -1 fds.
  • Further improvements to overall system stability and other minor adjustments to enhance the user experience.

switch-examples 20181027
  • Updated console examples to use the new console API.
  • Added graphics/opengl/gpu_console example.
  • Added hid/sixaxis example.
  • Added hid/colors example.
  • Added applet/recording example.
  • Added applet/lockexit example.
  • Improved documentation of application template.
  • Other minor fixes.


In addition, the internal layer that sits between libnx and switch-mesa (switch-libdrm_nouveau) has also been updated for compatibility with libnx 1.5.0. As a bonus, it now has basic support for GPU cache and compressed surfaces, which gives GPU applications a moderate speedup.

Donate to devkitPro - help us stay alive!

Sat Oct 27, 2018 5:10 pm
Display posts from previous:  Sort by  
Reply to topic   [ 1 post ] 

Who is online

Users browsing this forum: No registered users and 1 guest

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
  Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.
Get devkitPro at Fast, secure and Free Open Source software downloads