Telescope Remote Framebuffer Library
What is libtrf?
libtrf
is a transport library designed for uncompressed, point-to-point
video transmission across high-bandwidth, low-latency networks. It features
request latencies measured in microseconds, and high throughput up to 200
Gbit/s on RDMA transports.
Software Support
Currently, LibTRF supports major Linux distributions with a focus on RHEL-based distributions where RDMA packages are well-maintained and tested. Most features will likely work on FreeBSD and macOS, though releases are not regularly tested on these targets.
Windows is not currently supported.
Getting Started
Optimizing your system is highly recommended for optimal performance. Please follow the network configuration and system configuration sections below.
Indices and tables
Table of Contents
- Network Configuration
- System Configuration
- TRF API Function Documentation
- TRF Core Functionality
trfGetDeadline()
trfCreateSubchannel()
trfProcessSubchannelReq()
trfBindSubchannel()
trfUnbindSubchannel()
trfAllocActiveEP()
trfInsertAVSerialized()
trfDeserializeWireProto()
trfSerializeWireProto()
trfAllocContext()
trfGetFabricProviders()
trfFreeInterfaceList()
trfCreateChannel()
trfGetRoute()
trfConvertFabricAF()
trfConvertInternalAF()
trfSerializeAddress()
trfDeserializeAddress()
trfRegBuf()
trfRegInternalMsgBuf()
trfGetEndpointName()
trfDestroyFabricContext()
trfSendDisconnectMsg()
trfDestroyContext()
trfAllocAligned()
trfBindDisplayList()
trfUpdateDisplayAddr()
trfGetTextureBytes()
trfGetDisplayBytes()
trfGetCursorBytes()
trfTextureIsCompressed()
trfFreeDisplayList()
trfGetMessageAuto()
trfRegDisplaySource()
trfRegDisplaySink()
trfRegDisplayCustom()
trfGetDisplayByID()
trfAckClientReq()
trfGetFBPtr()
trfSendFrame()
trfSendFramePart()
trfSendFrameChunk()
trfRecvFrame()
trfGetServerDisplays()
trfSendDisplayList()
trfSendClientReq()
trfAckFrameReq()
trfSendKeepAlive()
trfGetSendProgress()
trfGetRecvProgress()
- System Data Structures
TRFMemType
TRFEPType
TRFXType
TRFXAddr
TRFXAddr::TRFX_ADDR_INVALID
TRFXAddr::TRFX_ADDR_FI_STR
TRFXAddr::TRFX_ADDR_SOCKADDR
TRFXAddr::TRFX_ADDR_SOCKADDR_IN
TRFXAddr::TRFX_ADDR_SOCKADDR_IN6
TRFXAddr::TRFX_ADDR_IB_GID
TRFXAddr::TRFX_ADDR_IB_UD
TRFXAddr::TRFX_ADDR_PSMX
TRFXAddr::TRFX_ADDR_PSMX2
TRFXAddr::TRFX_ADDR_PSMX3
TRFXAddr::TRFX_ADDR_MAX
TRFTexFormat
TRFTexFormat::TRF_TEX_INVALID
TRFTexFormat::TRF_TEX_RGBA_8888
TRFTexFormat::TRF_TEX_RGB_888
TRFTexFormat::TRF_TEX_BGRA_8888
TRFTexFormat::TRF_TEX_BGR_888
TRFTexFormat::TRF_TEX_BGR_32
TRFTexFormat::TRF_TEX_RGBA_16161616F
TRFTexFormat::TRF_TEX_RGBA_16161616
TRFTexFormat::TRF_TEX_BGRA_16161616F
TRFTexFormat::TRF_TEX_BGRA_16161616
TRFTexFormat::TRF_TEX_RGBA_1010102
TRFTexFormat::TRF_TEX_MONO_8
TRFTexFormat::TRF_TEX_MAX
TRFMAType
trfMemPtr()
trfMemSize()
trfMemType()
trfMemFabricMR()
trfMemFabricKey()
trfMemFabricDesc()
trf__GetPageSize()
trfSetDefaultOpts()
trfDuplicateOpts()
trfDuplicateAddrV()
trfTimespecToMs()
trfMsToTimespec()
trfSumTimespec()
TRFTCQFabric
TRFMem
TRFRKey
TRFInterface
TRFAddrV
TRFXFabric
TRFDisplay
TRFContextOpts
TRFContextOpts::nc_snd_timeo
TRFContextOpts::nc_rcv_timeo
TRFContextOpts::nc_snd_bufsize
TRFContextOpts::nc_rcv_bufsize
TRFContextOpts::fab_snd_timeo
TRFContextOpts::fab_rcv_timeo
TRFContextOpts::fab_snd_bufsize
TRFContextOpts::fab_rcv_bufsize
TRFContextOpts::fab_poll_rate
TRFContextOpts::fab_cq_sync
TRFContextOpts::fab_api_ver
TRFContextOpts::iface_flags
TRFContextOpts::max_clients
TRFContextOpts::max_subchannels
TRFContext
TRFContext::type
TRFContext::channel_id
TRFContext::listen_fd
TRFContext::clients
TRFContext::max_clients
TRFContext::svr
TRFContext::session_id
TRFContext::client_fd
TRFContext::channels
TRFContext::max_channels
TRFContext::cli
TRFContext::@4
TRFContext::xfer_type
TRFContext::fabric
TRFContext::xfer
TRFContext::displays
TRFContext::opts
TRFContext::disconnected
TRFRect
TRFCursor
- Address Handling Functions
- Interface & Address Introspection
- TRF Internal System Functions
- Message Handling Functions
- Negotiation Channel Protocol - Connection Management Functions
- Preflight Connectivity Check Functions
- TRF Core Functionality
Software Licenses
Telescope Remote Framebuffer Library (libtrf)
Copyright (c) 2022 Tim Dettmar. Licensed under LGPL 2.1 only.
Open Fabrics Interfaces (Libfabric)
This software is available to you under a choice of one of two licenses. You may choose to be licensed under the terms of the the BSD license or the GNU General Public License (GPL) Version 2.
Copyright (c) 2015-2021 Intel Corporation. All rights reserved. Copyright (c) 2015-2019 Cisco Systems, Inc. All rights reserved.
INI Not Invented Here (inih)
Copyright (c) 2009 Ben Hoyt. Licensed under BSD 3-Clause.