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
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
Ibuki Omatsu
334928f151
feat: Introduce userspace namespace manager and adapt all schemes.
2026-01-20 20:56:58 -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
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
Wildan M
bdf9e44558
Fix fmt
2025-12-16 02:35:53 +07: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
b09bffa8b7
drivers/graphics/graphics-ipc: Actually handle SET_CLIENT_CAP
2025-12-14 20:42:59 +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
bab2bc052e
drivers/graphics: Update most drivers to redox-scheme 0.8
2025-12-13 13:08:31 +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