freebsd-ports-dank
Welcome!
This fork of the FreeBSD Ports Collection merges the KDE and GNOME branches together with the upstream and adds more bleeding edge desktop-related patches.
Usage
- Make sure you have an up-to-date FreeBSD 12-CURRENT kernel and base
- Clone this repo into
/usr/ports(if it's already managed by git, add this repo as a remote, fetch and checkout/merge) - Build any ports you want :)
Current status
Graphics stack
graphics/drm-next-kmod: hack workaround patch for ioctl auth issues kms-drm#33graphics/mesa-dev: alternative mesa port! Development version (little fork with my BSD patches), everything built together, using Meson! Always includes GL, GLES, Vulkan (RADV, ANV), Gallium Nine, OpenCL (Clover), VAAPI, VDPAU.- to install and keep pkg happy without rebuilding everything, just
pkg add -fover existingmesa-libs/dri
- to install and keep pkg happy without rebuilding everything, just
graphics/mesa-driandgraphics/mesa-libs:- enabled VK_KHR_wayland_surface 221540
graphics/vulkan-loaderdevel/vulkan-headersdevel/vulkan-validation-layersdevel/vulkan-tools: 222175
NOTE: ANV (Intel Vulkan) requires running the apps as root and might not work for complex applications.
RADV (Radeon Vulkan) with the amdgpu KMS/DRM driver works very well!
Tested on an AMD Polaris (RX 480) GPU.
Desktop stack
graphics/wayland-protocols: 1.13, required by weston git 226408graphics/wayland: 1.15 227423devel/sdl20: Wayland and udev options added 223018devel/libevdev/devel/evdev-proto/devel/py-evdev: 1.5.9 and stuff 217248devel/libepoll-shim: update version 223530x11/libinput: 222905- update to 1.10.4
- fix touchpad dropping out
- fix device rejection when running without /dev/input access
x11-servers/xorg-server:x11-toolkits/efl: 1.20.7 and Wayland support 226220
Weston
A port for Weston is developed in D10599, but I use Weston directly from my fork. It has a bit of extra crap beyond FreeBSD support (fractional HiDPI scaling, experimental bugfixes, static linking support for the Rust bindings that are the basis of a future desktop environment), and it's master, not a release.
How to use Weston:
- Install Mesa with full Wayland support (
WAYLANDoption, ormesa-devfrom here) - Install
wayland-protocolsandwayland(newest, i.e. from here) - Install libinput from here (because it has a permission fix so you don't have to give yourself access to
/dev/tty*,/dev/input/*,/dev/dri/*,/dev/drm/*) - Install Weston from my fork
- Add yourself to the
weston-launchgroup - Make sure the
weston-launchbinary is suid and owned by root - Make sure you have an
XDG_RUNTIME_DIRin the environment - Put your favorite keyboard settings into the environment e.g.
export XKB_DEFAULT_LAYOUT=us XKB_DEFAULT_VARIANT=colemak XKB_DEFAULT_MODEL=pc101 XKB_DEFAULT_RULES=evdev XKB_DEFAULT_OPTIONS="ctrl:nocaps,ctrl:lctrl_meta,compose:ralt,grp:alt_space_toggle" - Run
weston-launch!
Games
games/cataclysm-dda: update to git master and fix everything 226418games/vkquake: a Vulkan-powered Quake engine 222182emulators/dolphin-emu: Dolphin Emulator (GameCube/Wii) updated to a recent git revision (Vulkan just works, dynamically loaded)games/vcmi: open source reimplementation of Heroes of Might and Magic III! 221885games/freeminer: update, luajit 2.1 fix 226537games/minetest: luajit 2.1 fix, clang fixes 226541games/regoth: Gothic game engine reimplementation (NOTE: doesn't like mesa assertions which are ON in mesa-dev right now) 227844
Misc
net/qt5-network: LibreSSL compat 228344emulators/yuzu: experimental Switch emulator 228487graphics/hdrmerge: HDR merge tool (git master qt5)graphics/shaderc: google's glslang-based thing, needed for vulkan support in mpv. Quite bad for packaging: #424 #381 #392multimedia/mpv: 0.28.2, vulkanx11-toolkits/gtk40: git master, vulkan, skip installing gschemas (fix parallel install w/ gtk3)multimedia/shotcut: 18.03.06emulators/mesen: a NES emulator 227351games/retroarch: 1.7.3, add WAYLAND option 227345 (+ UDEV option but we don't have evdev gamepad drivers yet)textproc/ibus: add WAYLAND option (not actually used for toolkit based apps; also ibus's UI drawing is still X11 only)mail/geary: workaround for Vala/gee array null termination buggraphics/simple-scan: GNOME scanning appdevel/libgusb: GObject libusb wrapper (w/ PR #10)graphics/colord: build vapi 227134editors/abiword: 3.0.2 220975sysutils/libcpuid: git masteremulators/wine-devel: WoW64 D14721, gallium nine patch (needs d3dadapter in i386 too?)editors/gnome-latex: renamed fromeditors/latexila, updated to 3.28.0 226938cad/solvespace: git master (GTK3 HiDPI)math/nasc: dual pane text calculator similar to Soulvergraphics/akira: VERY WIP (nothing works yet) UI design toolx11/kitty: GPU accelerated terminal emulator (note: terminfo)security/gonepass: 1Password vault reader 226706databases/sequeler: GTK3 SQL clientdatabases/libgda5: unicode fix for build w/ new glib 226693net-im/fractal: GTK Matrix client 226683audio/sonata: update to git master (GTK3)audio/clementine-player: git qt5 branchaudio/liblastfm: qt5 flavor for clementine D14667audio/libechonest: qt5 flavor for clementine 226529devel/geany: GTK3 226523devel/sdl20: 2.0.8 226409 (TEMPORARILY ROLLED BACK #4109)lang/luajit: update to 2.1.0-beta3 (works on arm64) 225342multimedia/gnome-twitch: Twitch livestream player 224980archivers/maxcso: ISO to CSO compressor for PSP/PS2 emulators 224638graphics/mypaintandgraphics/libmypaint: git master version, works on Wayland nativelygraphics/gimp-app(&graphics/gegl3,x11/babl): git gtk3-port-meson version, works on Wayland natively (opening pngs seems to crash the plugin but selecting Proceed in console works and the file gets loaded o_0) (gimp plugin ports are probably screwed!)graphics/inkscape: git master version with GTK3, works on Wayland nativelyeditors/libreoffice: GTK3 by default, works on Wayland nativelywww/firefox: (no extra updates here currently) See FirefoxSettings for, well, settings (force enable GPU acceleration!)java/jamvm: update to 2.0.0 192305audio/rhythmbox-plugin-{alternative-toolbar,coverart-browser,coverart-search-providers}: Some nice Rhythmbox plugins 223137deskutils/lookbook: icon browser 229873graphics/osg: update to 3.6 230442
Ports framework
- D13078 for gnome-twitch
Kernel patches
- 222375 linsysfs(5): Add support for recent libdrm LANDED!
- 222504 Add support for 32-bit compatibility IOCTLs in the LinuxKPI LANDED!
- 222646 ukbd(4): support Consumer Control based multimedia keys
Recommended kernel config
/usr/src/sys/amd64/conf/DESKTOP:
include GENERIC-NODEBUG
ident DESKTOP
device evdev
options EVDEV_SUPPORT
options KDTRACE_HOOKS
options VIMAGE
(the important part is the EVDEV_SUPPORT, which is still disabled by default for some reason!)
Recommended /etc/make.conf
DEFAULT_VERSIONS+=ssl=libressl
CPUTYPE?=znver1 # Replace with your CPU
RUST_PORT=lang/rust-nightly
Other FreeBSD desktop resources
- kb/FreeBSDDesktop
- My dotfiles (mostly the
x11folder) - A FreeBSD 11 Desktop How-to, not up to date with modern GPU stuff but very good for general desktop setup (printing, networking, etc.)
- FreeBSD on the ThinkPad X240, my post that's mostly updated but still contains old stuff
