Comments (7)
Could you run drm_info in the VM and paste the output here? That would help debugging this.
from smithay.
Here it is
sudo drm_info
Node: /dev/dri/card1
├───Driver: virtio_gpu (virtio GPU) version 0.1.0 (0)
│ ├───DRM_CLIENT_CAP_STEREO_3D supported
│ ├───DRM_CLIENT_CAP_UNIVERSAL_PLANES supported
│ ├───DRM_CLIENT_CAP_ATOMIC supported
│ ├───DRM_CLIENT_CAP_ASPECT_RATIO supported
│ ├───DRM_CLIENT_CAP_WRITEBACK_CONNECTORS supported
│ ├───DRM_CAP_DUMB_BUFFER = 1
│ ├───DRM_CAP_VBLANK_HIGH_CRTC = 1
│ ├───DRM_CAP_DUMB_PREFERRED_DEPTH = 0
│ ├───DRM_CAP_DUMB_PREFER_SHADOW = 0
│ ├───DRM_CAP_PRIME = 3
│ ├───DRM_CAP_TIMESTAMP_MONOTONIC = 1
│ ├───DRM_CAP_ASYNC_PAGE_FLIP = 0
│ ├───DRM_CAP_CURSOR_WIDTH = 64
│ ├───DRM_CAP_CURSOR_HEIGHT = 64
│ ├───DRM_CAP_ADDFB2_MODIFIERS = 0
│ ├───DRM_CAP_PAGE_FLIP_TARGET = 0
│ ├───DRM_CAP_CRTC_IN_VBLANK_EVENT = 1
│ ├───DRM_CAP_SYNCOBJ = 1
│ └───DRM_CAP_SYNCOBJ_TIMELINE = 1
├───Device: PCI 1af4:1050 Red Hat, Inc. Virtio 1.0 GPU
│ └───Available nodes: primary, render
├───Framebuffer size
│ ├───Width: [32, 8192]
│ └───Height: [32, 8192]
├───Connectors
│ └───Connector 0
│ ├───Object ID: 36
│ ├───Type: virtual
│ ├───Status: connected
│ ├───Physical size: 320x200 mm
│ ├───Subpixel: unknown
│ ├───Encoders: {0}
│ ├───Modes
│ │ ├───[email protected] preferred driver nhsync nvsync
│ │ ├───[email protected] driver phsync pvsync 64:27
│ │ ├───[email protected] driver phsync pvsync 256:135
│ │ ├───[email protected] driver phsync pvsync 16:9
│ │ ├───[email protected] driver phsync pvsync 16:9
│ │ ├───[email protected] driver phsync pvsync 16:9
│ │ ├───[email protected] driver nhsync pvsync
│ │ ├───[email protected] driver phsync pvsync 64:27
│ │ ├───[email protected] driver nhsync pvsync
│ │ ├───[email protected] driver nhsync pvsync
│ │ ├───[email protected] driver phsync pvsync
│ │ ├───[email protected] driver nhsync pvsync
│ │ ├───[email protected] driver nhsync nvsync
│ │ ├───[email protected] driver phsync pvsync 16:9
│ │ ├───[email protected] driver phsync pvsync
│ │ ├───[email protected] driver nhsync pvsync
│ │ ├───[email protected] driver nhsync pvsync
│ │ ├───[email protected] driver phsync pvsync
│ │ ├───[email protected] driver nhsync pvsync
│ │ ├───[email protected] driver phsync pvsync
│ │ ├───[email protected] driver phsync pvsync
│ │ ├───[email protected] driver nhsync pvsync
│ │ ├───[email protected] driver nhsync nvsync
│ │ ├───[email protected] driver phsync pvsync
│ │ ├───[email protected] driver nhsync nvsync 4:3
│ │ └───[email protected] driver nhsync nvsync
│ └───Properties
│ ├───"DPMS": enum {On, Standby, Suspend, Off} = On
│ ├───"link-status": enum {Good, Bad} = Good
│ ├───"non-desktop" (immutable): range [0, 1] = 0
│ ├───"TILE" (immutable): blob = 0
│ ├───"CRTC_ID" (atomic): object CRTC = 35
│ └───"EDID" (immutable): blob = 38
├───Encoders
│ └───Encoder 0
│ ├───Object ID: 37
│ ├───Type: virtual
│ ├───CRTCS: {0}
│ └───Clones: {0}
├───CRTCs
│ └───CRTC 0
│ ├───Object ID: 35
│ ├───Legacy info
│ │ ├───Mode: [email protected] preferred driver nhsync nvsync
│ │ └───Gamma size: 0
│ └───Properties
│ ├───"ACTIVE" (atomic): range [0, 1] = 1
│ ├───"MODE_ID" (atomic): blob = 40
│ │ └───[email protected] preferred driver nhsync nvsync
│ ├───"OUT_FENCE_PTR" (atomic): range [0, UINT64_MAX] = 0
│ └───"VRR_ENABLED": range [0, 1] = 0
└───Planes
└───Plane 0
├───Object ID: 31
├───CRTCs: {0}
├───Legacy info
│ ├───FB ID: 39
│ │ ├───Object ID: 39
│ │ ├───Size: 1280x800
│ │ ├───Format: XRGB8888 (0x34325258)
│ │ └───Planes:
│ │ └───Plane 0: offset = 0, pitch = 5120 bytes
│ └───Formats:
│ └───XRGB8888 (0x34325258)
└───Properties
├───"type" (immutable): enum {Overlay, Primary, Cursor} = Primary
├───"FB_ID" (atomic): object framebuffer = 39
│ ├───Object ID: 39
│ ├───Size: 1280x800
│ ├───Format: XRGB8888 (0x34325258)
│ └───Planes:
│ └───Plane 0: offset = 0, pitch = 5120 bytes
├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
├───"CRTC_ID" (atomic): object CRTC = 35
├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
├───"CRTC_W" (atomic): range [0, INT32_MAX] = 1280
├───"CRTC_H" (atomic): range [0, INT32_MAX] = 800
├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
├───"SRC_W" (atomic): range [0, UINT32_MAX] = 1280
├───"SRC_H" (atomic): range [0, UINT32_MAX] = 800
└───"FB_DAMAGE_CLIPS" (atomic): blob = 42
from smithay.
Is there an obvious error in the plane buffer that smithay cannot use?
from smithay.
The current theory is, that it doesn't work, because the driver supports atomic but not DRM_CAP_ADDFB2_MODIFIERS
(as stated by your log). It might very well be, that we have that as an implicit assumption layed out somewhere in smithays code, but so far I had no time to dig deeper into it.
from smithay.
I see. Thanks for the feedback.
It would be nice for Niri to be usable in a QEMU VM to let people (like me) tinker with it and contribute. I will wait, thanks.
from smithay.
I rebuilt Niri with the latest smithay git commits and it is working now. Thanks.
from smithay.
Great!
Glad to know this fixed niri in qemu as well: #1432
from smithay.
Related Issues (20)
- aa8d87a214 broke pointer input in foot HOT 1
- Stuck in listener.accept
- Add blurred Element support to `OutputDamageTracker`
- Initial commit of an XdgToplevel with a buffer already attached doesn't result in an error
- `DrmDevice::new` with disable_connectors = true causes vrr_capable property to get stuck at 0 HOT 3
- `prop_mapping` cache in `AtomicDrmDevice` doesn't handle connector hotplug
- Cursor and overlay elements overwrite primary plane in `RenderFrameResult::blit_frame_result` HOT 5
- Pasting images from wayland -> x11 truncates/corrupts the image HOT 1
- Reduce cloning around opaque region vectors HOT 1
- `wlr_layer`'s `pre_commit_hook` can post an error, disconnecting the client, leading to a panic later on in the `commit` handling HOT 5
- Send an event, if Xwayland exits unexpectedly HOT 1
- Crop element causes invalid rendering for buffer transforms 1, 3, 5, 7
- Build error on s390x: src/wayland/shm/pool.rs:311:15 ..mem::zeroed() field `__glibc_reserved0` is private HOT 2
- app_id for nested compositors HOT 4
- Pointer surface focus not checked before button press
- `KbdRc` and `SeatRc` are leaked HOT 3
- wvkbd (and other virtual keyboards) can't trigger compositor bindings
- segfault when enabling EGL hardware-acceleration and stopping the wayland loop HOT 5
- text-input-v1 support HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from smithay.