Commit Graph

77 Commits

Author SHA1 Message Date
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
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
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
bjorn3 f01d0fe8a1 drivers/graphics: Introduce UPDATE_CURSOR ioctl
Orbital needs this as we don't implement cursor planes yet.
2026-03-11 23:17:38 +01:00
bjorn3 511c6080ca drivers/graphics: Add framebuffer indirection to the DRM interface
This matches the Linux DRM interface. With this I believe the only
divergence from the Linux DRM interface that would be a breaking change
to the in-tree users of the graphics api to change to the proper
interface is the use of the UPDATE_PLANE ioctl in the place of proper
modesetting interface. It should be possible to support this in
parallel to UPDATE_PLANE, so updating Orbital to the DRM interface
should now be possible. Orbital can be updated to the proper modesetting
interface once it is implemented.
2026-03-11 22:49:19 +01:00
bjorn3 9795abb0ea Fix a bunch of warnings 2026-03-11 22:05:44 +01:00
bjorn3 331189d846 Rustfmt 2026-03-07 22:12:56 +01:00
bjorn3 48c652f5d1 Move DisplayHandle creation into GraphicsScheme::new 2026-03-07 17:49:45 +01:00
bjorn3 3c79908b5a drivers/graphics: Directly pass scheme name to DisplayHandle::new 2026-03-06 22:55:50 +01:00
bjorn3 bae900b79c driver/graphics: Replace direct redox_sys_call_v0 usage with libredox 2026-03-06 22:55:21 +01:00
bjorn3 d70d648ceb Remove no longer necessary patches
New versions of drm and drm-sys have been released with Redox OS support.
2026-03-06 22:40:12 +01:00
Ibuki Omatsu 2738f69224 feat: Implement std_fs_call handling to initfs, ramfs, acpi and xhci 2026-02-28 08:15:16 -07:00
bjorn3 3d2951a23d init: Convert vesad, fbbootlogd and fbcond to services 2026-02-26 16:38:56 +01:00
bjorn3 e55bd17530 drivers/graphics: Fix a couple of warnings 2026-02-26 16:23:32 +01:00
auronandace 4e77bb0f96 add precedence lint to drivers 2026-02-20 15:00:43 +00:00
bjorn3 0f0f12fb12 graphics/vesad: Fix multi-monitor support 2026-02-19 21:49:21 +01:00
bjorn3 7ebeceb41d init: Allow init to register the scheme for a daemon
Unfortunately the scheme still has to be created by the daemon due to a
kernel bug, but once that is fixed, it would allow delayed spawning of
scheme daemons.
2026-02-18 22:40:09 +01:00
Wildan M 36e2fbd537 virtio-gpud: Don't crash on no edid descriptor 2026-02-08 15:50:58 +07:00
bjorn3 6c01349bf4 drivers/graphics/ihdgd: Fix a warning 2026-02-07 13:18:48 +01:00
bjorn3 3d82140155 drivers/graphics/ihdgd: Minor EDID reading improvements
* Enable unproven feature of embedded-hal. We depend on it. Currently it
  gets implicitly enabled by bitbang-hal.
* Reduce nesting in probe_edid
2026-02-07 13:18:46 +01:00
Jeremy Soller 2d672b7cd9 Add anyhow to workspace 2026-01-29 10:47:45 -07:00
Jeremy Soller 3edfd63eec ihdgd: use default output level 2026-01-29 08:53:45 -07:00
bjorn3 fc1c391340 Move common::init call into pcid_interface::pci_daemon 2026-01-25 20:08:49 +01:00
Wildan M 84d5dae607 fbcond: Do not panic on absent display 2026-01-23 01:03:05 +07:00
Jeremy Soller 5223fe351c ihdgd: call common::init 2026-01-22 14:50:32 -07:00
Ibuki Omatsu 334928f151 feat: Introduce userspace namespace manager and adapt all schemes. 2026-01-20 20:56:58 -07:00
Jeremy Soller f740b61774 Use workspace dependencies for many common crates 2026-01-20 10:12:08 -07:00
Wildan M d08c6cbe6f Split driver log level env 2026-01-10 06:35:06 +07:00
Jeremy Soller 1cd9ff9103 ihdgd: fix surface allocation on cards with more than 4 GiB 2025-12-31 10:28:19 -07:00
bjorn3 d76d583048 drivers/graphics/ihdgd: Don't fail when physmap of the BIOS region fails 2025-12-22 12:32:42 +01:00
bjorn3 f9fa43df40 drivers/graphics/ihdgd: Move I2cBB creation to GpioPort 2025-12-22 12:32:42 +01:00
bjorn3 a4a0fbd198 drivers/graphics/ihdgd: Move edid probing into ddi.rs 2025-12-22 11:48:47 +01:00
bjorn3 ff3cb3ce64 drivers/graphics/virtio-gpud: Poor attempt at parsing the EDID data 2025-12-22 11:30:02 +01:00
bjorn3 d5cf3db428 drivers/graphics: Move handling of properties to a separate file 2025-12-22 10:48:35 +01:00
bjorn3 461b8d6706 drivers/graphics: Introduce DrmObject trait to reduce code duplication 2025-12-22 10:48:35 +01:00
bjorn3 510d3576df driver/graphics: Add support for blob properties
And support fetching the EDID in virtio-gpud.
2025-12-21 21:56:35 +01:00
bjorn3 13f8b090cf driver/graphics: Initial support for object properties
No support for writing property values or reading blob properties yet.
2025-12-21 21:56:30 +01:00
bjorn3 15fb94aabb driver/graphics: Ensure determinstic iteration order for resources 2025-12-20 20:57:47 +01:00
bjorn3 521fd433b9 driver/graphics: Implement Debug for a bunch of things 2025-12-20 20:39:24 +01:00
bjorn3 090a63d5c6 drivers/graphics: Only pass driver data to add_connector
And instead fill out the rest of DrmConnector in probe_connector.
2025-12-20 20:25:29 +01:00
bjorn3 816d661c9d drivers/graphics: Implement force probing of connectors in virtio-gpud 2025-12-20 20:24:04 +01:00
bjorn3 0e98a36495 drivers/graphics: Introduce DrmObjects and track connectors and encoders using it 2025-12-20 16:36:55 +01:00
Jeremy Soller b1c95d31e7 ihdgd: start parsing BIOS tables 2025-12-19 08:15:06 -07:00