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
Jeremy Soller
3b8cb31dca
Merge branch 'gpu_drm30' into 'main'
...
Rework how properties are defined
See merge request redox-os/base!181
2026-03-20 13:53:47 -06: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
Jeremy Soller
b89fbd224c
Merge branch 'gpu_drm29' into 'main'
...
Couple of DRM property related improvements
See merge request redox-os/base!178
2026-03-18 15:38:03 -06: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
Jeremy Soller
c9692eb187
Merge branch 'gpu_drm28' into 'main'
...
drivers/graphics: Remove an orbclient compat hack
See merge request redox-os/base!177
2026-03-18 06:36:00 -06:00
bjorn3
89be881a08
drivers/graphics: Remove an orbclient compat hack
...
Orbital now handles this instead.
2026-03-17 23:04:07 +01:00
Jeremy Soller
a3513ff256
Merge branch 'gpu_drm27' into 'main'
...
Remove last custom DRM ioctl
See merge request redox-os/base!176
2026-03-17 14:24:35 -06: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
752213a3b5
Merge branch 'gpu_drm26' into 'main'
...
Implement MODE_DIRTYFB and replace UPDATE_PLANE usage in fbbootlogd and fbcond
See merge request redox-os/base!175
2026-03-17 13:02:29 -06: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
Jeremy Soller
7f533b52da
Merge branch 'main' into 'main'
...
driver-graphics: MODE_SET_CRTC implementation
See merge request redox-os/base!173
2026-03-17 05:44:05 -06:00
Alexander Usenko
a198776ce8
driver-graphics: MODE_SET_CRTC implementation
2026-03-17 05:44:05 -06:00
Jeremy Soller
e1999171f9
Merge branch 'fix_build' into 'main'
...
Fix duplicate description key
See merge request redox-os/base!174
2026-03-16 17:11:53 -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
Jeremy Soller
f60cbae526
Merge branch 'add-info' into 'main'
...
Add missing Cargo package description and update drivers README
See merge request redox-os/base!171
2026-03-16 10:39:15 -06:00
Ribbon
90ea974ce0
Add missing Cargo package description and update drivers README
2026-03-16 10:39:15 -06:00
Jeremy Soller
4e679f03ff
Merge branch 'gpu_drm14' into 'main'
...
Implement proper support for DRM framebuffers and nicer handling of standard DRM properties
See merge request redox-os/base!172
2026-03-15 06:55:25 -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
27212a57f9
Merge branch 'logd_fixes' into 'main'
...
logd: Synchronously log to the kernel debug log
See merge request redox-os/base!170
2026-03-14 18:00:56 -06:00
bjorn3
159a09a663
logd: Synchronously log to the kernel debug log
...
This should not block and ensures that logs will still show up on the
serial port even if one of the log sinks blocks because for example the
graphics driver crashed, taking fbbootlogd with it. In the future we
might want to have a dedicated worker per log sink, but for now this
helps a log with debugging the graphics subsystem in a VM.
2026-03-14 22:38:39 +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
Jeremy Soller
d093eca09c
Merge branch 'drm/set_crtc' into 'main'
...
graphics-ipc: Initial implementation of SET_CRTC
See merge request redox-os/base!169
2026-03-14 11:36:50 -06:00
Meijlen
e9d782cabb
set_crtc realisation
2026-03-14 17:23:32 +00:00
Jeremy Soller
58a6134f28
Merge branch 'gpu_drm22' into 'main'
...
Various graphics subsystem improvements
See merge request redox-os/base!168
2026-03-14 09:15:44 -06: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
Jeremy Soller
7c40b28ce8
Merge branch 'gpu_drm21' into 'main'
...
drivers/graphics: Remove UPDATE_CURSOR custom ioctl
See merge request redox-os/base!167
2026-03-14 07:34:10 -06: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