Commit Graph

226 Commits

Author SHA1 Message Date
bjorn3 8506ae5581 init: Move daemon spawning from daemon to init
In preparation for concurrent daemon spawning.
2026-04-10 22:14:24 +02:00
bjorn3 0915db5ec4 drivers/inputd: Remove unused open_display method 2026-04-05 13:09:02 +02:00
bjorn3 071ce1e98f drivers/graphics/ihdgd: Fix a couple of warnings 2026-04-05 13:06:06 +02:00
bjorn3 2572723da9 drivers/inputd: Remove unused fields from VtEvent 2026-04-05 13:05:51 +02:00
bjorn3 21d1db3538 drivers/graphics/driver-graphics: Extract activate_vt method 2026-04-05 12:56:30 +02:00
bjorn3 bf5286d25d drivers/graphics: Replace CpuBackedBuffer::sync_range with CpuBackedBuffer::sync_rect
This can be a bit more efficient by doing bounds checks before the main
loop.
2026-03-28 16:53:59 +01:00
Jeremy Soller 58459178b0 Merge branch 'gpu_drm36' into 'main'
drivers/graphics/ihdgd: Implement support for mapping memory to the GPU

See merge request redox-os/base!208
2026-03-27 20:40:22 -06:00
bjorn3 6473d987c3 drivers/graphics/ihdgd: List correct pipes for Alchemist 2026-03-28 00:02:38 +01:00
bjorn3 f152bbad23 drivers/graphics/ihdgd: Implement support for mapping memory to the GPU
This is done by adding entries to the global GTT page table. At startup
it only contains entries for a small chunk of memory reserved for the
GPU. This small chunk is rarely enough to contain all framebuffers we
need to allocate.
2026-03-27 22:45:26 +01:00
bjorn3 1f8d5a62ef drivers/common: PROT_NONE in Sgl::new for memory reservation 2026-03-27 22:22:12 +01:00
Jeremy Soller ed739009c2 Merge branch 'gpu_drm37' into 'main'
drivers/graphics/ihdgd: Introduce GpuBuffer

See merge request redox-os/base!206
2026-03-27 14:49:47 -06:00
auronandace 749d0bb5ef cargo fmt 2026-03-24 10:34:07 +00:00
auronandace a65d6c411c add documentation to public functions in common 2026-03-24 10:30:45 +00:00
Jeremy Soller e0a6c3b574 Merge branch 'thiserror' into 'main'
update thiserror and add to workspace

See merge request redox-os/base!199
2026-03-23 17:52:30 -06:00
bjorn3 70bba179c4 drivers/graphics/ihdgd: Introduce GpuBuffer
Unlike DeviceFb a GpuBuffer only has a size, not a width, height and
stride. In the future GpuBuffer can be used for dumb buffers as well as
any other kind of memory we may need to allocate on the gpu.
2026-03-23 22:23:32 +01: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
auronandace 29b4782015 update thiserror and add to workspace 2026-03-23 07:58:57 +00: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 e3c6ca1573 upgrade to latest spin crate and add to workspace 2026-03-22 15:43:32 +00:00
auronandace 557a3d1954 consolidate several dependencies into the workspace 2026-03-22 15:11:33 +00:00
Jeremy Soller 12034cf7b0 Merge branch 'gpu_drm34' into 'main'
drivers/graphics/ihdgd: Measure fb stride in bytes rather than pixels

See merge request redox-os/base!193
2026-03-22 06:57:55 -06:00
Jeremy Soller adca8ad85a Merge branch 'usbctl-clap' into 'main'
update clap for usbctl

See merge request redox-os/base!192
2026-03-22 06:56:39 -06:00
bjorn3 fcee1d7d86 drivers/graphics/ihdgd: Measure fb stride in bytes rather than pixels
This is how stride is generally stored.
2026-03-22 12:54:34 +01:00
auronandace 2f0f5160bb update clap for usbctl 2026-03-22 09:45:09 +00:00
auronandace 5645702748 actually use workspace dependency 2026-03-22 08:28:04 +00:00
auronandace 1151ec36a9 update libredox dependency for hwd 2026-03-22 08:07:48 +00:00
bjorn3 7177fe0a86 drivers/graphics: Implement shadow buffer for dumb buffers
This is necessary to get even remotely acceptable performance when dumb
buffers are backed by write-combining memory.
2026-03-21 19:01:54 +01:00
bjorn3 e6efc5f99b drivers/graphics/fbcond: Fix log message 2026-03-21 18:02:38 +01: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 afa6b64104 drivers/graphics/ihdgd: Introduce DeviceFb::alloc 2026-03-21 13:31:05 +01:00
bjorn3 56552cc6b3 drivers/graphics/ihdgd: Introduce helpers to fetch current plane state 2026-03-21 13:31:05 +01:00
bjorn3 36a9669c57 drivers/graphics/ihdgd: Pass DeviceFb to Plane::set_framebuffer 2026-03-21 13:31:04 +01:00
bjorn3 b1e4bcf54b drivers/graphics/ihdgd: Extract most of the plane configuration into separate functions 2026-03-21 13:21:29 +01:00
Jeremy Soller f0c8d7d321 Merge branch 'bitflags' into 'main'
add bitflags to the workspace Cargo.toml

See merge request redox-os/base!182
2026-03-20 16:36:17 -06:00
bjorn3 f5ce77203e drivers/graphics/ihdgd: Initialize planes inside GraphicsAdapter::init 2026-03-20 23:22:17 +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 781aa57e4a drivers/graphics: Fix resizing text VTs
This fixes a regression introduced in a40be7b44
2026-03-20 20:24:18 +01:00
auronandace c88ab21c3f update bitflags for xhcid 2026-03-20 12:07:36 +00:00
auronandace e054af78c0 update bitflags for ps2d 2026-03-20 11:58:53 +00:00
auronandace 6cbf83995c remove bitflags from ac97d 2026-03-20 11:55:27 +00:00
auronandace bba8eac7cb remove bitflags from ahcid 2026-03-20 11:52:15 +00:00
auronandace 7be03d1815 add bitflags to the workspace Cargo.toml 2026-03-20 08:46:28 +00: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