bjorn3
5e7fc9d71a
drivers/graphics: Remove refcounting for all KmsObject's
...
Doing the refcounting outside the enum doesn't allow refcounting a
downcasted object. And most objects don't need refcounting after all.
2026-03-20 23:19:50 +01:00
bjorn3
781aa57e4a
drivers/graphics: Fix resizing text VTs
...
This fixes a regression introduced in a40be7b44
2026-03-20 20:24:18 +01:00
bjorn3
eaa390156d
drivers/graphics: Split out state modified during atomic mode setting
2026-03-19 23:39:32 +01:00
bjorn3
5b88dadc4f
drivers/graphics: Move connector<->crtc binding to KmsConnector
...
A connector can only get input from one CRTC and the CRTC_ID property is
on the connector. There is no CONNECTOR_IDS property on CRTCs.
2026-03-19 23:25:37 +01:00
bjorn3
e49dc8e8be
drivers/graphics: Introduce define_object_props helper macro
2026-03-19 22:56:46 +01:00
bjorn3
dcf1e5cdd6
drivers/graphics: Derive property values from object fields
2026-03-19 22:46:44 +01:00
bjorn3
ee1b5377db
drivers/graphics: Remove KmsObject and rename KmsObjectKind to KmsObject
2026-03-19 22:45:21 +01:00
bjorn3
79e9e0987d
drivers/graphics: Move property values into individual objects
2026-03-19 22:26:55 +01:00
bjorn3
4ccdb59a47
drivers/graphics: Dedup property value conversion code
...
This will make it easier to change the way properties are represented
internally.
2026-03-19 19:45:55 +01:00
bjorn3
cd5e1ab4f4
drivers/graphics: Nicer debug printing of properties
2026-03-18 21:14:44 +01:00
bjorn3
e586c26fc7
drivers/graphics: Move enum variant fixed size name computation to property add time
2026-03-18 21:09:56 +01:00
bjorn3
919bad8f1e
drivers/graphics: Replace magic constant with definition from drm-fourcc crate
2026-03-18 20:53:46 +01:00
bjorn3
89be881a08
drivers/graphics: Remove an orbclient compat hack
...
Orbital now handles this instead.
2026-03-17 23:04:07 +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
bjorn3
a40be7b446
drivers/graphics: Use set_crtc+dirtyfb in V2DisplayMap
2026-03-17 19:41:09 +01:00
bjorn3
f150813cfa
drivers/graphics: Slightly encapsulate V2DisplayMap
2026-03-17 19:41:09 +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
bjorn3
cdf810d1cd
Move description for amlserde
2026-03-16 21:09:15 +01:00
bjorn3
c99d874ac4
Fix duplicate description key
2026-03-16 20:18:08 +01: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
460ae0d57c
drivers/graphics/console-draw: Fix depth for framebuffer
2026-03-15 13:01:34 +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
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
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
d11da9440b
drivers/graphics: Fix mixup between buffers and framebuffers
2026-03-14 16:03:39 +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