Commit Graph

2855 Commits

Author SHA1 Message Date
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
Jeremy Soller 6fc714cf35 Merge branch 'gpu_drm13' into 'main'
Introduce read-only CRTC objects and support proper cursor ioctls

See merge request redox-os/base!166
2026-03-14 07:19:11 -06:00
bjorn3 84f6f67a98 drivers/graphics: Implement the cursor drm ioctls 2026-03-14 14:15:13 +01:00
Jeremy Soller c243d5536f Merge branch 'gpu_drm20' into 'main'
drivers/graphics: Replace KmsObject trait with an enum

See merge request redox-os/base!165
2026-03-14 07:12:30 -06: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
Jeremy Soller 5e9f94b36b Merge branch 'gpu_drm19' into 'main'
drivers/graphics: Refcount all DRM objects

See merge request redox-os/base!162
2026-03-13 19:02:22 -06: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
Jeremy Soller 901ec180a7 Merge branch 'gpu_drm18' into 'main'
Various DrmConnector improvements

See merge request redox-os/base!161
2026-03-13 15:31:42 -06: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
Jeremy Soller efc2d688e3 Merge branch 'gpu_drm17' into 'main'
drivers/graphics: Unify buffer types between regular and cursor planes

See merge request redox-os/base!160
2026-03-13 14:09:35 -06: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
Jeremy Soller 2c8bc9bbf6 Update dependencies 2026-03-13 09:02:10 -06:00
Jeremy Soller 683b8fb74e Merge branch 'allow-skip' into 'main'
init: Allow skipping services, print service name in debug

See merge request redox-os/base!155
2026-03-12 18:46:59 -06:00
Jeremy Soller 93249717e8 Merge branch 'gpu_drm16' into 'main'
drivers/graphics: Mostly remove support for the v1 graphics api

See merge request redox-os/base!159
2026-03-12 17:00:29 -06: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
Jeremy Soller 05cf6f6814 Merge branch 'support_detecting_hwcursor' into 'main'
drivers/graphics: Support detecting hardware cursors for DRM

See merge request redox-os/base!158
2026-03-12 14:13:48 -06:00
Jeremy Soller 75b14b0891 Merge branch 'swcursor_fix_part1' into 'main'
driver/graphics: Avoid unconditionally enabling CursorPlaneHotspot

See merge request redox-os/base!157
2026-03-12 14:13:37 -06:00
bjorn3 60754b6fde drivers/graphics: Support detecting hardware cursors for DRM 2026-03-12 20:52:44 +01:00
bjorn3 d94edccf9a driver/graphics: Avoid unconditionally enabling CursorPlaneHotspot
This is necessary to fix software cursor support in Orbital.
2026-03-12 20:31:16 +01:00
Jeremy Soller 39cce0fd11 Merge branch 'orbclient_crates_io' into 'main'
Use orbclient from crates.io

See merge request redox-os/base!156
2026-03-12 12:26:05 -06:00
bjorn3 2c69d5f45f Use orbclient from crates.io 2026-03-12 19:22:09 +01:00
Wildan M 2784c98ddd init: Allow skipping services, print service name in debug 2026-03-12 21:20:04 +07:00
Jeremy Soller 725bf9f6f1 Merge branch 'gpu_drm15' into 'main'
drivers/graphics: Add framebuffer indirection to the DRM interface

See merge request redox-os/base!154
2026-03-11 18:05:43 -06:00