Commit Graph

59 Commits

Author SHA1 Message Date
bjorn3 c4908a5114 drivers/graphics: Remove UPDATE_PLANE 2026-03-17 20:06:21 +01:00
bjorn3 3903fe4f5a drivers/graphics: Implement MODE_DIRTYFB 2026-03-17 19:40:41 +01:00
Alexander Usenko a198776ce8 driver-graphics: MODE_SET_CRTC implementation 2026-03-17 05:44:05 -06:00
Ribbon 90ea974ce0 Add missing Cargo package description and update drivers README 2026-03-16 10:39:15 -06:00
bjorn3 e27726e8c3 drivers/graphics: Remove GraphicsAdapter::display_count 2026-03-15 13:30:00 +01:00
bjorn3 93a8179d1f drivers/graphics: Remove GraphicsAdapter::display_size
It is no longer used.
2026-03-15 13:10:25 +01:00
bjorn3 d7974b3143 drivers/graphics: Nicer way to define standard properties
All standard properties are now pre-allocated at KmsObjects creation and
given a fixed object id.
2026-03-15 12:29:51 +01:00
bjorn3 be6ae85541 drivers/graphics: Implement proper support for framebuffers
Including support for creating and destroying framebuffers.
2026-03-15 11:19:59 +01:00
bjorn3 7b8ebe9dca drivers/graphics: Return size of CRTC from fpath
This is the actual size of the Orbital desktop. Previously resizing a
virtio-gpu window after Orbital started but before logging in would
cause the launcher to be out of view.
2026-03-14 16:09:46 +01:00
bjorn3 359e845437 drivers/graphics: Rename buffer related fields and variables
And clarify that buffers have a separate index namespace by removing
usage of dumb_buffer_id.
2026-03-14 15:29:08 +01: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 84f6f67a98 drivers/graphics: Implement the cursor drm ioctls 2026-03-14 14:15:13 +01:00
bjorn3 985612d5e0 drivers/graphics: Changes to support SETCRTC in the future 2026-03-14 12:52:51 +01:00
bjorn3 63ca9efb8c drivers/graphics: Introduce CRTC objects
Currently still read-only.
2026-03-14 12:37:41 +01:00
bjorn3 fdb4d45e72 drivers/graphics: Replace KmsObject trait with an enum
The set of possible KMS object types is fixed.
2026-03-14 12:18:08 +01:00
bjorn3 20834544b7 drivers/graphics: Move KMS object handling to a submodule 2026-03-13 23:57:14 +01:00
bjorn3 977e13077d drivers/graphics: Require Debug to be implemented for Buffer 2026-03-13 23:23:16 +01:00
bjorn3 f6a7c194b2 drivers/graphics: Refcount all DRM objects
This is necessary to be able to properly handle objects that reference
each other and in doing so keep each other alive.
2026-03-13 23:23:15 +01:00
bjorn3 7f8ddd7a7e drivers/graphics: Add helpers for updating the connector state 2026-03-13 22:15:59 +01:00
bjorn3 c088e48948 drivers/graphics: Move DrmConnector and DrmEncoder to a separate module 2026-03-13 21:57:44 +01:00
bjorn3 37264a9e96 drivers/graphics: Slightly improve accuracy of connector info 2026-03-13 21:42:36 +01:00
bjorn3 c6e479a622 drivers/graphics: Inline single call update_whole_screen method 2026-03-13 20:50:50 +01:00
bjorn3 5285281ff2 drivers/graphics: Slightly simplify add_connector 2026-03-13 20:31:47 +01:00
bjorn3 45d26b5374 drivers/graphics: Remove unnecessary object mutable accesses 2026-03-13 20:27:02 +01:00
bjorn3 d329c5b24a drivers/graphics: Allow disabling display output by setting no framebuffer 2026-03-13 19:42:17 +01:00
bjorn3 c8c5a3e240 drivers/graphics: Remove separate cursor framebuffer create/map methods 2026-03-13 19:42:17 +01:00
bjorn3 4317189d7b drivers/graphics: Unify buffer types between regular and cursor planes
Also correct the cursor size for virtio-gpu.
2026-03-13 19:42:17 +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 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 511c6080ca drivers/graphics: Add framebuffer indirection to the DRM interface
This matches the Linux DRM interface. With this I believe the only
divergence from the Linux DRM interface that would be a breaking change
to the in-tree users of the graphics api to change to the proper
interface is the use of the UPDATE_PLANE ioctl in the place of proper
modesetting interface. It should be possible to support this in
parallel to UPDATE_PLANE, so updating Orbital to the DRM interface
should now be possible. Orbital can be updated to the proper modesetting
interface once it is implemented.
2026-03-11 22:49:19 +01:00
bjorn3 48c652f5d1 Move DisplayHandle creation into GraphicsScheme::new 2026-03-07 17:49:45 +01:00
bjorn3 d70d648ceb Remove no longer necessary patches
New versions of drm and drm-sys have been released with Redox OS support.
2026-03-06 22:40:12 +01:00
Ibuki Omatsu 2738f69224 feat: Implement std_fs_call handling to initfs, ramfs, acpi and xhci 2026-02-28 08:15:16 -07:00
bjorn3 e55bd17530 drivers/graphics: Fix a couple of warnings 2026-02-26 16:23:32 +01:00
auronandace 4e77bb0f96 add precedence lint to drivers 2026-02-20 15:00:43 +00:00
Ibuki Omatsu 334928f151 feat: Introduce userspace namespace manager and adapt all schemes. 2026-01-20 20:56:58 -07:00
Jeremy Soller f740b61774 Use workspace dependencies for many common crates 2026-01-20 10:12:08 -07:00
bjorn3 d5cf3db428 drivers/graphics: Move handling of properties to a separate file 2025-12-22 10:48:35 +01:00
bjorn3 461b8d6706 drivers/graphics: Introduce DrmObject trait to reduce code duplication 2025-12-22 10:48:35 +01:00
bjorn3 510d3576df driver/graphics: Add support for blob properties
And support fetching the EDID in virtio-gpud.
2025-12-21 21:56:35 +01:00
bjorn3 13f8b090cf driver/graphics: Initial support for object properties
No support for writing property values or reading blob properties yet.
2025-12-21 21:56:30 +01:00
bjorn3 15fb94aabb driver/graphics: Ensure determinstic iteration order for resources 2025-12-20 20:57:47 +01:00
bjorn3 521fd433b9 driver/graphics: Implement Debug for a bunch of things 2025-12-20 20:39:24 +01:00
bjorn3 090a63d5c6 drivers/graphics: Only pass driver data to add_connector
And instead fill out the rest of DrmConnector in probe_connector.
2025-12-20 20:25:29 +01:00
bjorn3 816d661c9d drivers/graphics: Implement force probing of connectors in virtio-gpud 2025-12-20 20:24:04 +01:00
bjorn3 0e98a36495 drivers/graphics: Introduce DrmObjects and track connectors and encoders using it 2025-12-20 16:36:55 +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
Ibuki Omatsu 3681e1b74a refactor: Replace unlink and rmdir with unlinkat in ramfs. Update redox-scheme and redox-rt for bootstrap. 2025-12-17 18:46:05 -07:00