FreeBSD ports but every time there's a cool new desktop/graphics thing it appears here
Pull request Compare This branch is 5399 commits ahead, 34 commits behind freebsd:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Keywords Add a note explaining why the @javavm keyword does not register argum… Jul 31, 2016
Mk Merge remote-tracking branch 'origin/master' Sep 23, 2018
Templates config.guess: merge upstream changes up to 2018-08-29 Aug 29, 2018
Tools rmport: usability fixes: Sep 16, 2018
accessibility Merge remote-tracking branch 'origin/master' Sep 12, 2018
arabic Merge remote-tracking branch 'gnome/gnome-3.26' Jul 7, 2018
archivers Merge remote-tracking branch 'origin/master' Sep 23, 2018
astro Merge remote-tracking branch 'origin/master' Sep 19, 2018
audio Merge remote-tracking branch 'origin/master' Sep 23, 2018
base Cleanup packing lists. Aug 20, 2018
benchmarks Merge remote-tracking branch 'origin/master' Sep 23, 2018
biology Change 4 ports from net/mpich2 to net/mpich Sep 22, 2018
cad Merge remote-tracking branch 'origin/master' Sep 23, 2018
chinese Merge remote-tracking branch 'origin/master' Sep 16, 2018
comms Merge remote-tracking branch 'origin/master' Sep 23, 2018
converters Merge remote-tracking branch 'origin/master' Sep 23, 2018
databases Merge remote-tracking branch 'origin/master' Sep 23, 2018
deskutils Merge remote-tracking branch 'origin/master' Sep 23, 2018
devel Merge remote-tracking branch 'origin/master' Sep 23, 2018
dns Merge remote-tracking branch 'origin/master' Sep 23, 2018
editors Merge remote-tracking branch 'origin/master' Sep 23, 2018
emulators Merge remote-tracking branch 'origin/master' Sep 23, 2018
finance Merge remote-tracking branch 'origin/master' Sep 19, 2018
french Merge remote-tracking branch 'origin/master' Aug 31, 2018
ftp Merge remote-tracking branch 'origin/master' Sep 16, 2018
games Merge remote-tracking branch 'origin/master' Sep 23, 2018
german Merge remote-tracking branch 'origin/master' Sep 19, 2018
graphics Merge remote-tracking branch 'origin/master' Sep 23, 2018
hebrew Merge remote-tracking branch 'gnome/gnome-3.26' Jul 7, 2018
hungarian Merge remote-tracking branch 'gnome/gnome-3.26' Jul 7, 2018
irc Merge remote-tracking branch 'origin/master' Sep 19, 2018
japanese Merge remote-tracking branch 'origin/master' Sep 20, 2018
java Merge remote-tracking branch 'origin/master' Sep 16, 2018
korean Merge remote-tracking branch 'gnome/gnome-3.26' Jul 7, 2018
lang Merge remote-tracking branch 'origin/master' Sep 23, 2018
mail Merge remote-tracking branch 'origin/master' Sep 23, 2018
math Merge remote-tracking branch 'origin/master' Sep 23, 2018
misc Merge remote-tracking branch 'origin/master' Sep 23, 2018
multimedia Merge remote-tracking branch 'origin/master' Sep 23, 2018
net-im Merge remote-tracking branch 'origin/master' Sep 23, 2018
net-mgmt Merge remote-tracking branch 'origin/master' Sep 23, 2018
net-p2p Merge remote-tracking branch 'origin/master' Sep 23, 2018
net Merge remote-tracking branch 'origin/master' Sep 23, 2018
news Add EXAMPLES options to ports that should have one. Sep 10, 2018
palm Remove expired ports: Aug 16, 2018
polish Merge remote-tracking branch 'origin/master' Sep 19, 2018
ports-mgmt Merge remote-tracking branch 'origin/master' Sep 23, 2018
portuguese Merge remote-tracking branch 'gnome/gnome-3.26' Jul 7, 2018
print Merge remote-tracking branch 'origin/master' Sep 23, 2018
russian Merge remote-tracking branch 'origin/master' Sep 12, 2018
science Merge remote-tracking branch 'origin/master' Sep 23, 2018
security Merge remote-tracking branch 'origin/master' Sep 23, 2018
shells Update to the latest att/ast github commit. Sep 22, 2018
sysutils Merge remote-tracking branch 'origin/master' Sep 23, 2018
textproc Merge remote-tracking branch 'origin/master' Sep 23, 2018
ukrainian Merge remote-tracking branch 'gnome/gnome-3.26' Jul 7, 2018
vietnamese Merge remote-tracking branch 'origin/master' Aug 31, 2018
www Merge remote-tracking branch 'origin/master' Sep 23, 2018
x11-clocks Merge remote-tracking branch 'origin/master' Sep 12, 2018
x11-drivers Merge remote-tracking branch 'origin/master' Sep 12, 2018
x11-fm Merge remote-tracking branch 'origin/master' Sep 23, 2018
x11-fonts Merge remote-tracking branch 'origin/master' Sep 23, 2018
x11-servers Merge remote-tracking branch 'origin/master' Sep 16, 2018
x11-themes Merge remote-tracking branch 'origin/master' Sep 23, 2018
x11-toolkits Merge remote-tracking branch 'origin/master' Sep 23, 2018
x11-wm Merge remote-tracking branch 'origin/master' Sep 23, 2018
x11 Merge remote-tracking branch 'origin/master' Sep 23, 2018
.arcconfig The callsign isn't required anymore. Sep 29, 2016
.gitattributes Generalize the .gitmessage entry in .gitattributes to capture .git* Apr 18, 2018
.gitauthors .gitauthors: Add Serhii Kozlov (skozlov) Sep 21, 2018
.gitignore Enhance .gitignore, svn:ingore and svn:global-ignores Jan 4, 2018
.gitmessage Add a commit template for git commit logs Jan 1, 2018
CHANGES Replace bsd.qt.mk by Uses/qt.mk and Uses/qt-dist.mk Jun 28, 2018
CONTRIBUTING.md Add a CONTRIBUTING file so github pull requests explain the proper su… Mar 15, 2014
COPYRIGHT COPYRIGHT: removed 'all rights reserved' May 27, 2018
GIDs Merge remote-tracking branch 'origin/master' Aug 31, 2018
JENKINS Merge branch 'master' into kde5-import Mar 3, 2018
LEGAL New port: science/msms: Program to efficiently compute molecular surf… Sep 10, 2018
MOVED Update ilmbase and openexr to 2.3.0, rename OpenEXR to openexr. Sep 22, 2018
Makefile remove garbage from root dir May 31, 2018
README Use https URIs in README. May 5, 2018
README.md dolphin was updated to git upstream nice Sep 23, 2018
TODO Add additional tasks. Jul 17, 2018
UIDs Merge remote-tracking branch 'origin/master' Aug 31, 2018
UPDATING Update ilmbase and openexr to 2.3.0, rename OpenEXR to openexr. Sep 22, 2018

README.md

freebsd-ports-dank

dank meme pic

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#33
  • graphics/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 -f over existing mesa-libs/dri
  • graphics/mesa-dri and graphics/mesa-libs:
    • enabled VK_KHR_wayland_surface 221540
  • graphics/vulkan-loader devel/vulkan-headers devel/vulkan-validation-layers devel/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 226408
  • graphics/wayland: 1.15 227423
  • devel/sdl20: Wayland and udev options added 223018
  • devel/libevdev / devel/evdev-proto / devel/py-evdev: 1.5.9 and stuff 217248
  • devel/libepoll-shim: update version 223530
  • x11/libinput: 222905
  • x11-servers/xorg-server:
    • add UDEV option to support evdev devices autodetection 222609
    • fix terminal handling without 'keyboard' driver 220562
  • 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 (WAYLAND option, or mesa-dev from here)
  • Install wayland-protocols and wayland (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-launch group
  • Make sure the weston-launch binary is suid and owned by root
  • Make sure you have an XDG_RUNTIME_DIR in 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

Misc

  • net/qt5-network: LibreSSL compat 228344
  • emulators/yuzu: experimental Switch emulator 228487
  • graphics/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 #392
  • multimedia/mpv: 0.28.2, vulkan
  • x11-toolkits/gtk40: git master, vulkan, skip installing gschemas (fix parallel install w/ gtk3)
  • multimedia/shotcut: 18.03.06
  • emulators/mesen: a NES emulator 227351
  • games/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 bug
  • graphics/simple-scan: GNOME scanning app
  • devel/libgusb: GObject libusb wrapper (w/ PR #10)
  • graphics/colord: build vapi 227134
  • editors/abiword: 3.0.2 220975
  • sysutils/libcpuid: git master
  • emulators/wine-devel: WoW64 D14721, gallium nine patch (needs d3dadapter in i386 too?)
  • editors/gnome-latex: renamed from editors/latexila, updated to 3.28.0 226938
  • cad/solvespace: git master (GTK3 HiDPI)
  • math/nasc: dual pane text calculator similar to Soulver
  • graphics/akira: VERY WIP (nothing works yet) UI design tool
  • x11/kitty: GPU accelerated terminal emulator (note: terminfo)
  • security/gonepass: 1Password vault reader 226706
  • databases/sequeler: GTK3 SQL client
  • databases/libgda5: unicode fix for build w/ new glib 226693
  • net-im/fractal: GTK Matrix client 226683
  • audio/sonata: update to git master (GTK3)
  • audio/clementine-player: git qt5 branch
  • audio/liblastfm: qt5 flavor for clementine D14667
  • audio/libechonest: qt5 flavor for clementine 226529
  • devel/geany: GTK3 226523
  • devel/sdl20: 2.0.8 226409 (TEMPORARILY ROLLED BACK #4109)
  • lang/luajit: update to 2.1.0-beta3 (works on arm64) 225342
  • multimedia/gnome-twitch: Twitch livestream player 224980
  • archivers/maxcso: ISO to CSO compressor for PSP/PS2 emulators 224638
  • graphics/mypaint and graphics/libmypaint: git master version, works on Wayland natively
  • graphics/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 natively
  • editors/libreoffice: GTK3 by default, works on Wayland natively
  • www/firefox: (no extra updates here currently) See FirefoxSettings for, well, settings (force enable GPU acceleration!)
  • java/jamvm: update to 2.0.0 192305
  • audio/rhythmbox-plugin-{alternative-toolbar,coverart-browser,coverart-search-providers}: Some nice Rhythmbox plugins 223137
  • graphics/osg: update to 3.6 230442
  • www/epiphany: use MSE if available
  • www/webkit2-gtk3: option to enable MSE (note: broken with VP9 for now, youtube crashes)
  • graphics/rawtherapee: disable mmap (to make performance over NFS not terrible), enable LTO
  • */gstreamer1*: update to 1.14.3 231406
  • multimedia/pitivi: update to 0.999
  • textproc/pict: pairwise test gen tool 231407
  • lang/maude: update to 2.7.1 231443

Ports framework

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!)

Other FreeBSD desktop resources

Other resources