Commit Graph

28 Commits

Author SHA1 Message Date
Red Bear OS 6694b5af9e fbcond/graphics-ipc: treat not-ready graphics driver as transient at handoff
V2GraphicsHandle::from_file() unwrapped/asserted the DumbBuffer
capability, but the display fd is O_NONBLOCK and the graphics driver
often has not finished coming up at handoff time — so from_file failed
with EAGAIN and the assert panicked fbcond. Since fbcond owns the
console and serial mirror, its death froze the whole boot right after
'Performing handoff' with no login prompt.

Return an error from graphics-ipc when the driver does not yet report
DumbBuffer, and have fbcond log-and-return so the handoff is retried
when the driver publishes its surface, instead of panicking.

(Change found as uncommitted work in the fork; committing to preserve
it and unblock the clean-fork build gate.)
2026-07-20 00:28:02 +09:00
Red Bear OS bd595851e2 base: apply Red Bear patches on latest upstream/main
251 files: init, acpid, ipcd, netcfg, ihdgd, virtio-gpud, scheme-utils,
inputd, block driver, ptyd, ramfs, randd, initfs bootstrap, path deps,
version +rb0.3.1, author attribution
2026-07-11 11:39:24 +03:00
bjorn3 2436639271 drivers/graphics: Avoid duplicate get_connector calls 2026-05-09 12:07:58 +02:00
Wildan M c2f46bf383 drivers/graphics: Add API to check if shadow buffer present 2026-04-12 12:39:09 +07:00
bjorn3 bf5286d25d drivers/graphics: Replace CpuBackedBuffer::sync_range with CpuBackedBuffer::sync_rect
This can be a bit more efficient by doing bounds checks before the main
loop.
2026-03-28 16:53:59 +01:00
bjorn3 7177fe0a86 drivers/graphics: Implement shadow buffer for dumb buffers
This is necessary to get even remotely acceptable performance when dumb
buffers are backed by write-combining memory.
2026-03-21 19:01:54 +01:00
bjorn3 cdb4ec4575 drivers/graphics: Remove unnecessary graphic-ipc dependencies
And other unnecessary dependencies. Also move all graphics-ipc contents
to the top of the crate.
2026-03-17 20:26:18 +01:00
bjorn3 09a23a3c4a drivers/graphics: Remove Damage from graphics-ipc 2026-03-17 20:19:52 +01:00
bjorn3 c4908a5114 drivers/graphics: Remove UPDATE_PLANE 2026-03-17 20:06:21 +01:00
Jeremy Soller 75390766e2 Revert "Merge branch 'drm/set_crtc' into 'main'"
This reverts merge request !169
2026-03-14 11:51:26 -06:00
Meijlen e9d782cabb set_crtc realisation 2026-03-14 17:23:32 +00:00
bjorn3 f6d2f2a6af drivers/graphics: Remove UPDATE_CURSOR custom ioctl
Orbital now uses MODE_CURSOR and MODE_CURSOR2 instead.
2026-03-14 14:27:44 +01:00
bjorn3 0d0fbd1935 drivers/graphics: Mostly remove support for the v1 graphics api
Orbclient still needs opening + fpath support for the v1 graphics api.
2026-03-12 21:40:40 +01:00
bjorn3 d94edccf9a driver/graphics: Avoid unconditionally enabling CursorPlaneHotspot
This is necessary to fix software cursor support in Orbital.
2026-03-12 20:31:16 +01:00
bjorn3 f01d0fe8a1 drivers/graphics: Introduce UPDATE_CURSOR ioctl
Orbital needs this as we don't implement cursor planes yet.
2026-03-11 23:17:38 +01:00
bjorn3 bae900b79c driver/graphics: Replace direct redox_sys_call_v0 usage with libredox 2026-03-06 22:55:21 +01:00
bjorn3 c46d5dea7a drivers/graphics/fbbootlogd: Reduce flickering while scrolling 2025-12-18 21:12:19 +01:00
bjorn3 03783e61e9 drivers/graphics: Move DisplayMap to console-draw
And inline a bunch of V2GraphicsHandle methods
2025-12-18 20:17:21 +01:00
bjorn3 123fe53c5d driver/graphics/graphics-ipc: Remove most helpers for the v1 api
They aren't used within this repo and orbital has it's own copy of the
rest.
2025-12-18 20:14:12 +01:00
bjorn3 a4a5d86efa drivers/graphics: Use drm dumb buffer ioctls 2025-12-18 10:36:37 +01:00
bjorn3 e8bf0d180b drivers/graphics: Use DRM_IOCTL_MODE_GETCONNECTOR for getting display size in graphics-ipc 2025-12-18 10:36:29 +01:00
bjorn3 207be75768 drivers/graphics/graphics-ipc: Use redox-ioctl 2025-12-16 20:59:33 +01:00
bjorn3 0eb96178db Port remaining drm ioctls to the new infrastructure 2025-12-15 23:37:16 +01:00
bjorn3 c3f4711403 Introduce infrastructure for serializing ioctls
And use it for a couple of drm interfaces
2025-12-15 22:29:18 +01:00
bjorn3 621dd6ac2f drivers/graphics/graphics-ipc: Use drm-sys for types and consts copied from DRM 2025-12-14 22:31:39 +01:00
bjorn3 47d6f879fb drivers/graphics/graphics-ipc: Nicer version handling of version command 2025-12-14 20:25:30 +01:00
bjorn3 0c8f1b56d7 drivers/graphics/graphics-ipc: Add counterparts for the VERSION, GET_CAP and SET_CLIENT_CAP drm ioctls 2025-12-14 17:51:37 +01:00
bjorn3 07a2b97f08 Add 'drivers/' from commit '20ffe4d7f4a85b7cc1f59495d7e6e355fed4cb06'
git-subtree-dir: drivers
git-subtree-mainline: e76ecea4ce
git-subtree-split: 20ffe4d7f4
2025-11-29 19:04:04 +01:00