forked from pool/xorg-x11-server
Stefan Dirsch
c220413ce2
- u_modesetting-Fix-cirrus-24bpp-breakage.patch * Fix breakage of cirrus 24bpp support on modesetting driver (bsc#1101699) OBS-URL: https://build.opensuse.org/request/show/624070 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=708
32 lines
1.1 KiB
Diff
32 lines
1.1 KiB
Diff
From: Takashi Iwai <tiwai@suse.de>
|
|
Subject: modesetting: Fix cirrus 24bpp breakage
|
|
References: bsc#1101699
|
|
|
|
The recent rewrite of modesetting driver broke the 24bpp support.
|
|
As typically found on cirrus KMS, it leads to a blank screen, spewing
|
|
the error like:
|
|
failed to add fb -22
|
|
(EE) modeset(0): failed to set mode: Invalid argument
|
|
|
|
The culript is that the wrong bpp value of the front buffer is passed
|
|
to drmModeAddFB(). Fix it by replacing with the back buffer bpp,
|
|
drmmode->kbpp.
|
|
|
|
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
---
|
|
hw/xfree86/drivers/modesetting/drmmode_display.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
--- a/hw/xfree86/drivers/modesetting/drmmode_display.c
|
|
+++ b/hw/xfree86/drivers/modesetting/drmmode_display.c
|
|
@@ -990,7 +990,7 @@ drmmode_bo_import(drmmode_ptr drmmode, d
|
|
}
|
|
#endif
|
|
return drmModeAddFB(drmmode->fd, bo->width, bo->height,
|
|
- drmmode->scrn->depth, drmmode->scrn->bitsPerPixel,
|
|
+ drmmode->scrn->depth, drmmode->kbpp,
|
|
drmmode_bo_get_pitch(bo),
|
|
drmmode_bo_get_handle(bo), fb_id);
|
|
}
|