diff --git a/0001-Disable-shadow-by-default-on-known-virtual-GPUs.patch b/0001-Disable-shadow-by-default-on-known-virtual-GPUs.patch new file mode 100644 index 0000000..8395ce8 --- /dev/null +++ b/0001-Disable-shadow-by-default-on-known-virtual-GPUs.patch @@ -0,0 +1,63 @@ +From 57301015f16e26f12caf6f6cb4d730e7793cb2c3 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Wed, 30 May 2018 11:46:46 -0400 +Subject: [PATCH xf86-video-vesa] Disable shadow by default on known-virtual + GPUs + +Device memory is the same domain as host memory, in this case, so the +shadow just introduces more memcpy. + +Signed-off-by: Adam Jackson +--- + src/vesa.c | 35 ++++++++++++++++++++++++++++++++--- + 1 file changed, 32 insertions(+), 3 deletions(-) + +diff --git a/src/vesa.c b/src/vesa.c +index 2300f4e..7d2bf94 100644 +--- a/src/vesa.c ++++ b/src/vesa.c +@@ -844,9 +844,38 @@ VESAPreInit(ScrnInfoPtr pScrn, int flags) + memcpy(pVesa->Options, VESAOptions, sizeof(VESAOptions)); + xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, pVesa->Options); + +- /* Use shadow by default */ +- pVesa->shadowFB = xf86ReturnOptValBool(pVesa->Options, OPTION_SHADOW_FB, +- TRUE); ++ /* Use shadow by default, for non-virt hardware */ ++ if (!xf86GetOptValBool(pVesa->Options, OPTION_SHADOW_FB, &pVesa->shadowFB)) ++ { ++ switch (pVesa->pciInfo->vendor_id) { ++ case 0x1234: /* bochs vga (not in pci.ids) */ ++ case 0x15ad: /* vmware */ ++ case 0x1b36: /* qemu qxl */ ++ case 0x80ee: /* virtualbox */ ++ case 0xaaaa: /* parallels (not in pci.ids) */ ++ pVesa->shadowFB = FALSE; ++ break; ++ ++ case 0x1013: /* qemu's cirrus emulation */ ++ if (pVesa->pciInfo->subvendor_id == 0x1af4) ++ pVesa->shadowFB = FALSE; ++ else ++ pVesa->shadowFB = TRUE; ++ break; ++ ++ case 0x1414: /* microsoft hyper-v */ ++ if (pVesa->pciInfo->device_id == 0x5353) ++ pVesa->shadowFB = FALSE; ++ else ++ pVesa->shadowFB = TRUE; ++ break; ++ ++ default: ++ pVesa->shadowFB = TRUE; ++ break; ++ } ++ } ++ + /* Use default refresh by default. Too many VBE 3.0 + * BIOSes are incorrectly implemented. + */ +-- +2.17.0 + diff --git a/README.en.md b/README.en.md deleted file mode 100644 index 52cfe7d..0000000 --- a/README.en.md +++ /dev/null @@ -1,36 +0,0 @@ -# xorg-x11-drv-vesa - -#### Description -Xorg X11 vesa video driver - -#### Software Architecture -Software architecture description - -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md deleted file mode 100644 index 168ce51..0000000 --- a/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# xorg-x11-drv-vesa - -#### 介绍 -Xorg X11 vesa video driver - -#### 软件架构 -软件架构说明 - - -#### 安装教程 - -1. xxxx -2. xxxx -3. xxxx - -#### 使用说明 - -1. xxxx -2. xxxx -3. xxxx - -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request - - -#### 码云特技 - -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 -5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/xf86-video-vesa-2.4.0.tar.bz2 b/xf86-video-vesa-2.4.0.tar.bz2 new file mode 100644 index 0000000..c6f9a7a Binary files /dev/null and b/xf86-video-vesa-2.4.0.tar.bz2 differ diff --git a/xorg-x11-drv-vesa.spec b/xorg-x11-drv-vesa.spec new file mode 100644 index 0000000..b26b814 --- /dev/null +++ b/xorg-x11-drv-vesa.spec @@ -0,0 +1,55 @@ +%global moduledir %(pkg-config xorg-server --variable=moduledir ) +%global driverdir %{moduledir}/drivers + +%undefine _hardened_build + +Name: xorg-x11-drv-vesa +Version: 2.4.0 +Release: 1 +Summary: Xorg X11 vesa video driver +License: MIT +URL: https://www.x.org +Source0: https://xorg.freedesktop.org/releases/individual/driver/xf86-video-vesa-%{version}.tar.bz2 + +Patch1: 0001-Disable-shadow-by-default-on-known-virtual-GPUs.patch + +ExclusiveArch: %{ix86} x86_64 + +BuildRequires: xorg-x11-server-devel >= 1.10.99.902 +BuildRequires: autoconf automake libtool + +Requires: Xorg %([ -e /usr/bin/xserver-sdk-abi-requires ] && xserver-sdk-abi-requires ansic) +Requires: Xorg %([ -e /usr/bin/xserver-sdk-abi-requires ] && xserver-sdk-abi-requires videodrv) +Requires: xorg-x11-server-wrapper + +%description +X.Org X11 vesa video driver. + +%package_help + +%prep +%autosetup -n xf86-video-vesa-%{version} -p1 + +%build +autoreconf -v --install || exit 1 +%configure +%make_build + +%install +%make_install + +%delete_la_and_a + +%files +%defattr(-,root,root) +%license COPYING +%{driverdir}/vesa_drv.so + +%files help +%defattr(-,root,root) +%doc README ChangeLog +%{_mandir}/man4/vesa.4* + +%changelog +* Tue Mar 10 2020 hexiujun - 2.4.0-1 +- Package init