The graphics acceleration can of worms

At the risk of sounding rather presumptuous, would the lack of 32 bit support be a problem? I imagine there must be very few people who need legacy compatibility with BeOS apps (or maybe even hardware) yet are crying out for modern drivers.

Besides, wouldn’t Fuchsia only support recent hardware rather than the sort of system 32bit Haiku might be running on?

2 Likes

Being magma out of the kernel, doesn’t it better conform to the philosophy of HAIKU, instead of tangling with the nonlinear logic of linux drm drivers?
Am I asking a silly question?

https://fuchsia.dev/fuchsia-src/concepts/graphics/magma/design

Above all, there would be no old software that takes advantage of modern drivers to be able to take advantage of them.

I currently plan to implement most of DRM ioctl logic in userland. libdrm has drmIoctl function that usually calls regular ioctl that calls kernel, but I put actual implementation there instead of calling kernel.

Fuschia has a few graphics drivers for now, supporting DRM based Linux drivers is more practically useful.

10 Likes

Some experiments with ring buffer. I put NOP command to DMA ring, incremented write pointer and confirmed that GPU incremented read pointer ,indicating that command is executed.

regs[DMA_CNTL]: 0x8210400
regs[DMA_IB_CNTL]: 0x80000000
regs[DMA_CNTL]: {10, 16, 21, 27}
regs[DMA_RB_CNTL]: {0, 2, 4, 12}
regs[DMA_IB_CNTL]: {31}
ringSize: 0x1000
rptr: 0
DMA_PACKET_NOP
rptr: 0
rptr: 4
15 Likes