Skip to content

Commit

Permalink
interfaces/opengl: add support for ARM Mali
Browse files Browse the repository at this point in the history
Signed-off-by: Aristo Chen <[email protected]>
  • Loading branch information
AristoChen authored and mvo5 committed Jul 12, 2023
1 parent d8f6ff3 commit 85cdda5
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 1 deletion.
4 changes: 4 additions & 0 deletions interfaces/builtin/opengl.go
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,8 @@ unix (bind,listen) type=seqpacket addr="@cuda-uvmfd-[0-9a-f]*",
# ARM Mali driver
/dev/mali[0-9]* rw,
/dev/dma_buf_te rw,
/dev/dma_heap/linux,cma rw,
/dev/dma_heap/system rw,
# NXP i.MX driver
# https://github.com/Freescale/kernel-module-imx-gpu-viv
Expand Down Expand Up @@ -174,6 +176,8 @@ unix (send, receive) type=dgram peer=(addr="@var/run/nvidia-xdriver-*"),
// will be added by snap-confine.
var openglConnectedPlugUDev = []string{
`SUBSYSTEM=="drm", KERNEL=="card[0-9]*"`,
`SUBSYSTEM=="dma_heap", KERNEL=="linux,cma"`,
`SUBSYSTEM=="dma_heap", KERNEL=="system"`,
`KERNEL=="vchiq"`,
`KERNEL=="vcsm-cma"`,
`KERNEL=="renderD[0-9]*"`,
Expand Down
8 changes: 7 additions & 1 deletion interfaces/builtin/opengl_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,17 +83,23 @@ func (s *OpenglInterfaceSuite) TestAppArmorSpec(c *C) {
c.Assert(spec.SnippetForTag("snap.consumer.app"), testutil.Contains, `/dev/nvidia* rw,`)
c.Assert(spec.SnippetForTag("snap.consumer.app"), testutil.Contains, `/dev/dri/renderD[0-9]* rw,`)
c.Assert(spec.SnippetForTag("snap.consumer.app"), testutil.Contains, `/dev/mali[0-9]* rw,`)
c.Assert(spec.SnippetForTag("snap.consumer.app"), testutil.Contains, `/dev/dma_heap/linux,cma rw,`)
c.Assert(spec.SnippetForTag("snap.consumer.app"), testutil.Contains, `/dev/dma_heap/system rw,`)
c.Assert(spec.SnippetForTag("snap.consumer.app"), testutil.Contains, `/dev/galcore rw,`)
c.Assert(spec.SnippetForTag("snap.consumer.app"), testutil.Contains, `/usr/share/libdrm/amdgpu.ids r,`)
}

func (s *OpenglInterfaceSuite) TestUDevSpec(c *C) {
spec := &udev.Specification{}
c.Assert(spec.AddConnectedPlug(s.iface, s.plug, s.slot), IsNil)
c.Assert(spec.Snippets(), HasLen, 13)
c.Assert(spec.Snippets(), HasLen, 15)
c.Assert(spec.Snippets(), testutil.Contains, `# opengl
SUBSYSTEM=="drm", KERNEL=="card[0-9]*", TAG+="snap_consumer_app"`)
c.Assert(spec.Snippets(), testutil.Contains, `# opengl
SUBSYSTEM=="dma_heap", KERNEL=="linux,cma", TAG+="snap_consumer_app"`)
c.Assert(spec.Snippets(), testutil.Contains, `# opengl
SUBSYSTEM=="dma_heap", KERNEL=="system", TAG+="snap_consumer_app"`)
c.Assert(spec.Snippets(), testutil.Contains, `# opengl
KERNEL=="renderD[0-9]*", TAG+="snap_consumer_app"`)
c.Assert(spec.Snippets(), testutil.Contains, `# opengl
KERNEL=="nvhost-*", TAG+="snap_consumer_app"`)
Expand Down

0 comments on commit 85cdda5

Please sign in to comment.