Thanks for the hint. After installing the linux_dri port I was able to actually play ut2004. It's very slow even in 320x200 but at least it works.
id games however complain about a missing linux version of libdrm.
I still think the problem is with the linuxulator though. I downloaded the linux drivers and compared the libraries to the ones the freebsd driver installs into /compat/linux/lib. They are the same. So it's up to the linuxulator to properly map the linux syscalls to their counterparts in freebsd. And at least the linux_sys_futex syscall is either not implemented or isn't doing what it's supposed to do. Check out this warning I got while running ut2004:
kernel: linux_sys_futex: unknown op 734717281
I'll try rebuilding the linuxulator with debugging. Maybe that reveals during which syscall the id games crash.