Evolution works with DAViCal, although it does not implement any sort of discovery of calendars which are accessible to the person logging on.
How to debug evolution CalDAV1. Set debug variable:
export CALDAV_DEBUG=all2. Stop evolution and evolution data server
evolution --force-shutdown3. Start evolution data server (adapt options and path as necessary)
/usr/lib/evolution/evolution-data-server-1.12 --oaf-activate-iid=OAFIID:GNOME_Evolution_DataServer_InterfaceCheck --oaf-ior-fd=26
4. Start evolution
default_charset issue: there is a current issue with Evolution which will mean it fails to recognise data from the server as 'text/calendar' if you set a default charset value for your server.
One older problem with Evolution was related to a bug introduced in version 2.2.99 of libsoup. This is fixed in libsoup 2.2.100, so don't use version 2.2.99 if you want to use Evolution's CalDAV plugin. More information here.
There is one annoying problem with Evolution, which is Bug355659 - appointments disappear and reappear which makes it quite difficult to use, especially as in some circumstances the appointments won't even reappear. This was fixed in release 2.12 and later, from which point Evolution CalDAV became reasonably usable.