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
74bd1db73a
drivers/graphics/virtio-gpu: Move some block_on calls to the callers
2026-05-13 20:02:01 +02:00
bjorn3
e2c67fa8f8
drivers/graphics/virtio-gpu: Extract create_dumb_buffer_inner as async function
2026-05-13 20:00:25 +02:00
bjorn3
ebdf681eab
drivers/graphics/virtio-gpu: Introduce send_request_cursor
2026-05-13 19:46:56 +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
009a9130d2
drivers/graphics: Report DRM_CAP_DUMB_PREFERRED_DEPTH to clients
2026-05-10 14:54:47 +02:00
bjorn3
853e050fc8
drivers/graphics/driver-graphics: Use unzip in get_object_properties_data
2026-05-10 12:17:35 +02:00
bjorn3
d528fb73b4
drivers: Use map_bar instead of physmap where possible
...
Physmap requires root, while map_bar in the future could be run as
unprivileged process given a pcid handle for the target device.
2026-05-09 20:12:41 +02:00
bjorn3
018d795eb0
drivers/graphics: Avoid unnecessary force probes
...
Force probes can be rather expensive on real hardware so according to
the drm_mode_get_connector docs it should only be done at startup, on a
hotplug event and when explicitly requested by the user.
2026-05-09 12:16:22 +02:00
bjorn3
2436639271
drivers/graphics: Avoid duplicate get_connector calls
2026-05-09 12:07:58 +02:00
bjorn3
15c3327adb
drivers/graphics/ihdgd: Remove unnecessary reset call
...
alloc_buffers already starts as empty.
2026-05-08 20:24:09 +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
7a08d30285
Rustfmt
2026-05-06 21:43:53 +02:00
bjorn3
8fdd5f3998
drivers/graphics/ihdgd: Replace DeviceFb with GpuBuffer for dumb buffers
...
Dumb buffers only have a size like GpuBuffer, not width, height and
stride like DeviceFb.
2026-05-06 21:32:32 +02:00
bjorn3
221d228f36
drivers/graphics/ihdgd: Support page flipping
2026-05-06 21:32:29 +02:00
Migue Magic
e577bfc2ea
Optimize console-draw write function
2026-05-03 09:06:37 -06:00
bjorn3
009ffe1dbc
Fix compilation
2026-04-27 22:09:53 +02:00
Migue Magic
180bfe15a7
Fix typos across 3 drivers
2026-04-27 12:27:11 -06: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
28900f7c49
scheme-utils: Introduce Blocking as counterpart to ReadinessBased for blocking schemes
2026-04-19 11:05:04 +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
01183044a3
Workaround deadlock in initnsmgr
2026-04-18 12:58:41 +02:00
bjorn3
6311833765
drivers/graphics/bgad: Remove bgad
...
The only thing it does it changing the size of the region that the
graphics adapter sees as framebuffer. It doesn't actually tell vesad to
resize the framebuffer nor does it implement an actual full graphics
driver. For basic usage the bootloader setup framebuffer is sufficient
and for anything more advanced, virtio-gpu is a much better option that
we already have a full graphics driver for.
2026-04-14 21:18:43 +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
Jeremy Soller
6deaaa71a7
Merge branch 'check-shadow-buf' into 'main'
...
drivers/graphics: Add API to check if shadow buffer present
See merge request redox-os/base!222
2026-04-12 06:49:51 -06:00
Wildan M
c2f46bf383
drivers/graphics: Add API to check if shadow buffer present
2026-04-12 12:39:09 +07:00
bjorn3
071ce1e98f
drivers/graphics/ihdgd: Fix a couple of warnings
2026-04-05 13:06:06 +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
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
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
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
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