{"action":"created","issue":{"url":"https://api.github.com/repos/FreeBSDDesktop/freebsd-base-graphics/issues/166","repository_url":"https://api.github.com/repos/FreeBSDDesktop/freebsd-base-graphics","labels_url":"https://api.github.com/repos/FreeBSDDesktop/freebsd-base-graphics/issues/166/labels{/name}","comments_url":"https://api.github.com/repos/FreeBSDDesktop/freebsd-base-graphics/issues/166/comments","events_url":"https://api.github.com/repos/FreeBSDDesktop/freebsd-base-graphics/issues/166/events","html_url":"https://github.com/FreeBSDDesktop/freebsd-base-graphics/issues/166","id":249602915,"number":166,"title":"32bit DRM ioctls don't work on amd64","user":{"login":"jbeich","id":11153579,"avatar_url":"https://avatars3.githubusercontent.com/u/11153579?v=4","gravatar_id":"","url":"https://api.github.com/users/jbeich","html_url":"https://github.com/jbeich","followers_url":"https://api.github.com/users/jbeich/followers","following_url":"https://api.github.com/users/jbeich/following{/other_user}","gists_url":"https://api.github.com/users/jbeich/gists{/gist_id}","starred_url":"https://api.github.com/users/jbeich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jbeich/subscriptions","organizations_url":"https://api.github.com/users/jbeich/orgs","repos_url":"https://api.github.com/users/jbeich/repos","events_url":"https://api.github.com/users/jbeich/events{/privacy}","received_events_url":"https://api.github.com/users/jbeich/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-08-11T11:03:42Z","updated_at":"2017-08-14T11:52:37Z","closed_at":null,"body":"32bit OpenGL/OpenCL apps (e.g., Wine) either crash, don't work or are very slow because device-specific DRI driver fails on DRM ioctls. Here's an example from Skylake GT2:\r\n```\r\n$ nm /boot/kernel/i915kms.ko | fgrep compat_ioctl\r\n$ sysctl kern.conftxt | fgrep COMPAT_\r\noptions COMPAT_FREEBSD11\r\noptions COMPAT_FREEBSD10\r\noptions COMPAT_FREEBSD32\r\n\r\n$ ABI=FreeBSD:12:i386 pkg install mesa-dri mesa-demos\r\n$ LIBGL_DEBUG=verbose MESA_DEBUG=context glxgears\r\nlibGL: OpenDriver: trying /usr/local/lib/dri/i965_dri.so\r\nMesa warning: drm_i915_getparam: -14\r\ni965_dri.so does not support the 0xffffffff PCI ID.\r\nlibGL error: failed to create dri screen\r\nlibGL error: failed to load driver: i965\r\nlibGL: OpenDriver: trying /usr/local/lib/dri/swrast_dri.so\r\nlibGL: Can't open configuration file /home/foo/.drirc: No such file or directory.\r\nlibGL: Can't open configuration file /home/foo/.drirc: No such file or directory.\r\n602 frames in 5.0 seconds = 120.249 FPS\r\n^C\r\n```\r\n\r\ndrivers/gpu/drm/drm_os_config.h doesn't include opt_compat.h, otherwise build would fail like the following:\r\n```c\r\nsys/dev/drm/i915/i915_drv.c:2576:3: error: field designator 'compat_ioctl' does not refer to any field in type 'const struct file_operations'\r\n        .compat_ioctl = i915_compat_ioctl,\r\n         ^\r\n1 error generated.\r\n```\r\n\r\nwhich can be fixed by moving compat_ioctl out of `#if 0` in sys/compat/linuxkpi/common/include/linux/fs.h except linuxkpi never calls .compat_ioctl.\r\n"},"comment":{"url":"https://api.github.com/repos/FreeBSDDesktop/freebsd-base-graphics/issues/comments/322170541","html_url":"https://github.com/FreeBSDDesktop/freebsd-base-graphics/issues/166#issuecomment-322170541","issue_url":"https://api.github.com/repos/FreeBSDDesktop/freebsd-base-graphics/issues/166","id":322170541,"user":{"login":"hselasky","id":1541461,"avatar_url":"https://avatars3.githubusercontent.com/u/1541461?v=4","gravatar_id":"","url":"https://api.github.com/users/hselasky","html_url":"https://github.com/hselasky","followers_url":"https://api.github.com/users/hselasky/followers","following_url":"https://api.github.com/users/hselasky/following{/other_user}","gists_url":"https://api.github.com/users/hselasky/gists{/gist_id}","starred_url":"https://api.github.com/users/hselasky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hselasky/subscriptions","organizations_url":"https://api.github.com/users/hselasky/orgs","repos_url":"https://api.github.com/users/hselasky/repos","events_url":"https://api.github.com/users/hselasky/events{/privacy}","received_events_url":"https://api.github.com/users/hselasky/received_events","type":"User","site_admin":false},"created_at":"2017-08-14T11:52:37Z","updated_at":"2017-08-14T11:52:37Z","body":"I think some defines are missing in the compilation process to turn on 32-bit support."}}
{"actor":{"display_login":"hselasky"}}