Commit Graph

145 Commits

Author SHA1 Message Date
bjorn3 ce9564dd3c graphics/bgad: Use the MMIO based interface rather than port based one
This only works in QEMU, so disable bgad in VirtualBox. It currently
doesn't do much useful anyway. It supports reporting the display size
(which vesad already supports) and changing the display size (which
doesn't really work anyway as the framebuffer mapping used by vesad
doesn't get resized.) And in any case vboxd already has code to use
the BGA interface for resizing that is broken to the same extend the
resizing in bgad is.
2025-11-29 16:05:57 +01:00
Jeremy Soller 28dd3596f3 More logging adjustments and set default level to info 2025-11-02 07:55:32 -07:00
Jeremy Soller ec49a96640 More logging improvements 2025-11-01 20:44:26 -06:00
Jeremy Soller 6d5523de2a Set all log levels, reduce unnecessary logs 2025-11-01 19:36:38 -06:00
Jeremy Soller 8bf5d60e96 Adjust logging, ensure drivers get unique logfiles 2025-10-24 08:19:34 -06:00
Wildan M fa9127ca34 Require shift key for scrollback and have better limit 2025-10-23 00:14:05 +07:00
Wildan M 6c9822893e Fix double key register on dbbootlogd 2025-10-22 17:02:03 +07:00
Wildan M b9d0599bac Add scrollback into fbbootlogd 2025-10-22 16:27:32 +07:00
bjorn3 1756244e10 graphics/driver-graphics: Allow larger framebuffers
Previously only frame buffers up to 0x1_000_000 bytes were allowed,
while we use 0x10_000_000 as multiplier for the fake offsets and thus
can safely accept framebuffers this large. This should be enough for 4k
displays.
2025-09-23 22:28:19 +02:00
Wildan Mubarok 259999c9c3 Fix fbcond panicking when vim quit 2025-08-30 12:27:35 +00:00
bjorn3 a6a6dce185 graphics/fbcond: Handle display resizing
Currently resizing only happens when writing to the terminal.
2025-07-07 21:59:08 +02:00
bjorn3 b5caa86906 graphics/fbcond: Use the v2 graphics api 2025-07-07 21:59:07 +02:00
bjorn3 93e95f6fe8 graphics: Fix memory leak when resizing the display 2025-07-06 16:22:53 +02:00
bjorn3 ded7a6ed86 graphics/graphics-ipc: Update handle doc comments 2025-07-06 15:30:05 +02:00
bjorn3 918efd01cd graphics/fbcond: Inline open_display 2025-07-06 15:28:42 +02:00
bjorn3 9abeafde8d graphics: Move disable-graphical-debug to driver-graphics
This ensures it graphical debug gets disabled even when vesad never
runs.
2025-07-05 15:43:21 +02:00
bjorn3 e59d4ac7e1 graphics/vesad: Move FrameBuffer to scheme.rs 2025-07-05 15:21:40 +02:00
bjorn3 04ae0158c9 Update most crates to redox-scheme 0.6
A couple of crates need to stay on redox-scheme 0.4 as they need
cancellation for async schemes.
2025-07-04 22:13:24 +02:00
bjorn3 a261f1257d graphics/virtio-gpud: Destroy virtio-gpu resource before freeing fb memory
This fixes a gpu side use-after-free.
2025-07-03 20:57:55 +02:00
bjorn3 cc0db37209 graphics/fbbootlogd: Use the new graphics api 2025-07-02 15:43:55 +02:00
bjorn3 4f7b0eb6b6 graphics: Introduce a new graphics api
This allows page flipping and handling display resizing. Hardware
cursors and getting notifications about display resizing are not yet
supported.
2025-07-02 15:43:55 +02:00
bjorn3 27ca1c3296 graphics/virtio-gpud: Handle VIRTIO_GPU_EVENT_DISPLAY
This doesn't yet provide a way for individual consumers to resize their
own framebuffer in response to the display changing size.
2025-07-02 15:16:52 +02:00
bjorn3 8ac07539b0 graphics/driver-graphics: Handle mmap offset 2025-07-01 21:46:20 +02:00
bjorn3 565add84b1 graphics/driver-graphics: Update to redox-scheme 0.6 2025-07-01 21:40:57 +02:00
bjorn3 7f3f181775 graphics/virtio-gpud: Create DisplayHandle after registering the scheme
This fixes a race-condition. It is unlikely to cause issues in practice
though.
2025-06-30 23:03:40 +02:00
bjorn3 7f5c58892c graphics/driver-graphics: Eagerly create contents of VtState 2025-06-30 23:01:52 +02:00
bjorn3 7882372dab graphics/driver-graphics: Introduce VtState
This contains the current state for a single VT.
2025-06-30 22:10:02 +02:00
bjorn3 c2249f2fa0 graphics/driver-graphics: Couple of minor changes 2025-06-30 21:40:02 +02:00
bjorn3 993b23e63c graphics/driver-graphics: Prepare for future abi versions 2025-06-30 20:04:40 +02:00
bjorn3 74bb9f40e5 graphics/graphics-ipc: Introduce a common module for code shared between versions 2025-06-30 19:59:52 +02:00
bjorn3 56d4fdd025 graphics: Replace adapter.displays() with .display_count() 2025-06-30 19:58:25 +02:00
bjorn3 5ddddd91df graphics: Pass CursorPlane by shared ref to handle_cursor 2025-06-29 18:03:01 +02:00
4lDO2 657bf13d7c Use library call for iopl. 2025-04-13 21:22:45 +02:00
bjorn3 d318679112 graphics/fbbootlogd: Tell logd to use us as log sink 2025-04-06 20:11:47 +02:00
bjorn3 65c23ed77d graphics/vesad: Disable kernel graphical debug as late as possible 2025-04-06 17:12:10 +02:00
bjorn3 f1b5ba52ed Rustfmt 2025-04-04 20:41:31 +02:00
bjorn3 215b8185c2 Handle vt switching for cursors without requiring a cursor update
This requires storing the cursor state on the driver-graphics side to be
be able to restore the correct state for the target vt.
2025-04-04 20:37:43 +02:00
bjorn3 abab5c9a3c Avoid passing unused fields to VIRTIO_GPU_CMD_MOVE_CURSOR 2025-04-04 20:25:57 +02:00
bjorn3 03cf0955d2 Move cursor resource writing to driver-graphics 2025-04-04 20:04:25 +02:00
Dimitar Gjorgievski de4cc6ed4a adding support for gpu cursor 2025-04-03 21:21:32 +00:00
Jeremy Soller bbac3ff4f4 Merge branch 'fix_damage' into 'master'
graphics/console-draw: Fix damage calculation

See merge request redox-os/drivers!259
2025-03-15 21:42:00 +00:00
bjorn3 7e6534ff35 graphics/console-draw: Fix damage calculation 2025-03-15 22:09:14 +01:00
bjorn3 fb24979c51 Reduce verbosity of debug logs during booting
These logs are only useful when actively working on the respective driver.
2025-03-15 21:09:12 +01:00
bjorn3 f48ae933ff graphics: Only allow passing a single damage area at a time
Currently only fbbootlogd and fbcond make use of support for multiple
damage areas and they are not all that performance critical anyway.
Orbital always passes a single damage area per write call. Out of all
graphics drivers we have and are likely to get only vesad could
potentially benefit from fine-grained damage areas. This commit doesn't
significantly impact performance of fbcond.
2025-03-15 18:49:59 +01:00
bjorn3 ffbfecbdb0 graphics/fbcond: Make it robust against initial graphics driver being broken 2025-03-15 17:30:39 +01:00
bjorn3 87d71bc708 graphics/fbbootlogd: Merge Display into FbbbootlogScheme 2025-03-15 17:27:14 +01:00
bjorn3 54113f8fde graphics/fbbootlogd: Make it robust against initial graphics driver being broken 2025-03-15 17:21:23 +01:00
bjorn3 9290cffa70 graphics/fbbootlogd: Extract handle_handoff method 2025-03-15 17:18:28 +01:00
bjorn3 b9d043f6e2 inputd: Add ConsumerHandle::read_events 2025-03-15 17:09:45 +01:00
bjorn3 56808dbfb1 graphics/fbbootlogd: Remove input events background thread 2025-03-15 16:53:58 +01:00