v2.8.0
m1k1o/nekov2.8.0Apr 1, 2023by m1k1o
AI Summary
Feature-rich release adding AV1 support, VirtualGL 3.1 with Chromium Nvidia GPU acceleration, NVENC hardware encoding, and mobile touch event support along with various bug fixes.
Key Highlights
- VirtualGL 3.1 with Chromium Nvidia GPU acceleration support
- NVENC hardware h264 encoding for Nvidia GPUs
- AV1 pipeline support (experimental, performance issues)
- Mobile touch events support
- Adaptive framerate streaming
New Features
- AV1 tag, metadata and pipeline
- VirtualGL 3.1 with Chromium browser GPU support
- KDE desktop environment tag
- Embed parameter (?embed=1) for hiding UI
- Volume parameter (?volume=0-1)
- Mobile touch events support
- NVENC hardware encoding support
- Fixed SPS/PPS NAL units for nvh264enc
- TCP mux write buffer fix
- Stereo audio fix for Chromium browsers
- Keysym mapping fix for unknown keycodes
- max_fps=0 fix
- Client-side WebRTC ICE gathering fix
- Play state synchronization fix
- Go 1.19 and Node 18 update
- Adaptive framerate feature
- Chinese and Korean character support
- KDE autolock disabled
- Pulseaudio sink renamed to audio_output
- Pulseaudio configuration via environment variables
Full Release Notes
### New Features - Added AV1 tag, metadata and pipeline. Unfortunately does not work yet, since the encoding is way too slow (by @mbattista). - Added `m1k1o/neko:kde` tag as an alternative to `m1k1o/neko:xfce`. - New VirtualGL version 3.1 was released, adding support for Chromium browsers to use Nvidia GPU acceleration! - Added `?embed=1` parameter to the URL, which will hide the sidebar and the top bar, so that it can be embedded in other websites. - Added `?volume=<0-1>` parameter to the URL, which will set the inital volume of the player (by @urbanekpj). - Touch events are now supported on mobile devices (by @urbanekpj). - Added NVENC support, hardware h264 encoding for Nvidia GPUs! - Fixed an issue where `nvh264enc` did not send SPS and PPS NAL units (by @mbattista). ### Bugs - Fixed TCP mux occasional freeze by adding write buffer to it. - Fixed stereo problem in chromium-based browsers, where it was only as mono by adding `stereo=1` to opus SDP to clients answer. - Fixed keysym mapping for unknown keycodes, which was causing some key combinations to not work on some keyboards. - Fixed a bug where `max_fps=0` would lead to an invalid pipeline. - Fixed client side webrtc ICE gathering, so that neko can be used without exposed ports, only with STUN and TURN servers. - Fixed play state synchronization, when autoplay is disabled. ### Misc - Updated to go 1.19 and Node 18, removed go-events as dependency (by @mbattista). - Added adaptive framerate which now streams in the framerate you selected from the dropdown. - Improved chinese and korean characters support. - Disabled autolock for kde, so that it does not lock the screen when you are not using it. - Refactored autoplay, so that it will start playing audio, if it's allowed by the browser (by @urbanekpj). - Renamed pulseaudio sink from `auto_null` to `audio_output`, because it was ignored by KDE. - Pulseaudio is now configured using environment variables, so that users can mount `/home/neko` without losing audio configuration.