This is an old revision of the document!
FreeBSD Foundation-supported projects: call for ideas, November 2021
Calls
Summary of ideas
Configuration
Automated tool to configure a working Xorg setup on most common hardware
More programmable/scriptable configs
Containers, including jails
Application container framework like Linux OCI
Automatic jailing of services and applications
FUSE for unprivileged users in jail
Complete Firefox Capsicum support / firejail for FreeBSD
Jail configuration improvements
Jail creation and usage as non-root
Jail orchestration in base
Monitoring jails from outside using bsnmpd
OCI-compatible creation of jails
- transport
- kubernetes, maybe docker
Debugging
DTrace buffer panic survival and a way to recover whatever is left from ddb/core dumps for post-mortem analysis
E.g. memory modified after free debugging, other changes leading to a panic in drivers. There is no way to actually track the last <n> > frees anymore to figure out where the memory was freed (and hence possibly used after); DTrace would be a fantastic tool to just do that … if we'd get everything up-to until the panic out of the buffer. Obviously the other bit is to ensure the file streamed to is recoverable. Not sure what happened to a “network DTrace”.
Documentation
ARM/ARM64 devices
bhyve and ipfw
iflib(4) network interface driver framework
File systems
Data sharing, without full population of the file system
- the jail overlays the base file system via null mounts
exFAT and F2FS native
XFS native
- GPL issues
unionfs issues
Graphics
AMD: GPU programming support / (ROCm)
ARM: Panfrost/Lima support for Mali GPU
CUDA framework support
NVIDIA: nouveau
Hardware
CPU/RAM hotplug support
ECC memory status and reporting: support Ryzen and all other capable processors
- akin to Error Detection And Correction (EDAC) in Linux
NUMA support
Odroid boards: better support
Networking
802.11ac support (including AP)
Better traffic shaper
- replacement for dummynet
Bluetooth
- ease of use, a GUI for example
DHCPv6 client
Dynamic routing
freebsd-pf: matching and logging receive interface and xmit interface in single rule
HAST improvements
IP Balancing From OpenBSD's Carp
ipfw: filter icmp not only on icmptype but also on icmpcode
MPLS support
MPTCP support
Multiqueue NIC support and multi-threaded traffic shaper
pf: SCTP support
Raspberry Pi 400 Wi-Fi
Support for 'any' network interface such as: tcpdump -ni 'any'
Wireless mesh support
Packaging, ports, poudriere
Distributed Poudriere
Ports CI
Poudriere package seeding
- done
Virtualization
bhyve: GVT-g support
bhyve: suspend/resume
bhyve: virtio-fs support
- or p9 host side, or other ways to simply shared parts of the host file system with guests
bhyve/arm64
- on Andy's list
qemu bsd-user upstreaming
qemu hardware acceleration
Other
.NET (dotnet) support
100% llvm toolchain for base and ports
ARM “CPU cluster” support
- both big.LITTLE awareness and support for running at different clockspeeds
Benchmarking
- in-house improvements
Boot loader problems
- pxeboot / lua / amd64|arm64 EFI hangs …
Calamares installer
Cameras and microphones
- improve selection where multiple devices are attached
FreeBSD golang runtime: squash bugs
freebsd-update improvements
ggate: encrypted connection
Lenovo: regression with P-states and U series processors
NanoBSD improvements
NFS inside VNET jails
PCIe pass-through
Pulse-code modulation (PCM)/sound: play nice with dynamically appearing and disappearing audio device
Raspberry Pi 400 sound over HDMI
rc.subr: support for cpuset
Sensors
- support for sensors in common hardware monitoring chips on consumer hardware (temperature, voltage, fan speed, etc)
- unified support for various available sensors (CPU temperature etc)
smbfs in base: support SMBv2 and SMBv3
SMP awareness for base tools
Suspend to disk (hibernation)
sysutils/lsof fixes
Thunderbolt / newer USB support
- also to remove troubles with other USB interactions on laptops
- Scott Long has WIP?
Tor Browser bundle
ULE scheduler improvements