Commit Graph

98 Commits

Author SHA1 Message Date
bjorn3 5f4e5016a8 drivers/graphics/driver-graphics: Implement MODE_ADD_FB2 2026-05-14 14:56:33 +02:00
bjorn3 0eb6390fe1 drivers/graphics/driver-graphics: Report DRM_MAJOR as device major 2026-05-14 12:23:54 +02:00
bjorn3 6875c90850 drivers/graphics/driver-graphics: Implement SET_VERSION and GET_UNIQUE
libdrm needs these when searching for drm devices.
2026-05-14 12:09:55 +02:00
bjorn3 d110147d62 drivers/graphics/driver-graphics: Introduce KmsObjects::remove helper 2026-05-13 21:19:05 +02:00
bjorn3 d1cf7d53d2 drivers/graphics/driver-graphics: Introduce set_connector_edid helper
And don't create a new blob unless the EDID actually changes.
2026-05-13 21:18:59 +02:00
bjorn3 7c533510a9 drivers/graphics/driver-graphics: Match error codes of Linux 2026-05-12 21:15:59 +02:00
bjorn3 e4462ccc09 drivers/graphics/driver-graphics: Report dummy TILE property for connectors 2026-05-10 15:28:39 +02:00
bjorn3 3f4ad965de drivers/graphics/driver-graphics: Report ACTIVE property for CRTCs 2026-05-10 15:22:15 +02:00
bjorn3 e93431cac0 drivers/graphics/driver-graphics: Replace From and TryFrom impls with KmsObjectKind trait 2026-05-10 15:09:34 +02:00
bjorn3 853e050fc8 drivers/graphics/driver-graphics: Use unzip in get_object_properties_data 2026-05-10 12:17:35 +02:00
bjorn3 1dcf00dc8e drivers/graphics/driver-graphics: Replace hw_cursor_size with has_cursor_plane
Clients get the cursor size using get_cap. hw_cursor_size is only used
to determine the existence of a cursor plane nowadays.
2026-05-07 22:20:59 +02:00
bjorn3 e9188e0f91 drivers/graphics/driver-graphics: Reduce visibility of some functions 2026-05-07 22:20:12 +02:00
bjorn3 daf726c30d scheme-utils: Have FpathWriter handle writing the scheme name 2026-04-19 19:07:41 +02:00
bjorn3 64d23e9e05 scheme-utils: Introduce FpathWriter helper 2026-04-19 19:07:41 +02:00
bjorn3 6686c73d26 Implement on_close method of SchemeSync instead of using a separate method 2026-04-19 10:42:19 +02:00
bjorn3 317a0178b6 Introduce scheme-utils crate and HandleMap type
HandleMap deduplicates the id assignment for handles and unlike most
existing implementations handles overflow just fine.
2026-04-13 22:19:07 +02:00
bjorn3 21d1db3538 drivers/graphics/driver-graphics: Extract activate_vt method 2026-04-05 12:56:30 +02:00
Jeremy Soller 107f8696fd Merge branch 'gpu_drm35' into 'main'
Couple of GPU buffer improvements

See merge request redox-os/base!198
2026-03-23 07:23:21 -06:00
bjorn3 d274ac2817 drivers/graphics: Return proper pitch to the drm client for dumb buffers 2026-03-22 19:53:38 +01:00
bjorn3 8ae815aca7 drivers/graphics: Replace width and height methods on Buffer with size
A buffer is not necessarily a framebuffer. It may also be a blob of
bytes.
2026-03-22 19:46:32 +01:00
auronandace 557a3d1954 consolidate several dependencies into the workspace 2026-03-22 15:11:33 +00:00
bjorn3 05ca76bf59 drivers/inputd: Remove some leftover code from the old way display resizing was handled 2026-03-21 13:49:46 +01:00
bjorn3 6def27936a drivers/graphics: Pass KmsCrtcState to set_crtc 2026-03-20 23:19:50 +01:00
bjorn3 925951ce85 drivers/graphics: Make KmsCrtcState::fb_id an Option 2026-03-20 23:19:50 +01:00
bjorn3 d08300c8b5 drivers/graphics: Make objects generic over GraphicsAdapter rather than specific driver data 2026-03-20 23:19:50 +01:00
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 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 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