ikwzm / xf86-video-armsoc-xilinx Goto Github PK
View Code? Open in Web Editor NEWX.org graphics driver for ARM graphics(with Zynq UltraScale+ MPSoC)
License: MIT License
X.org graphics driver for ARM graphics(with Zynq UltraScale+ MPSoC)
License: MIT License
xf86-video-armsoc-xilinx ======================== Open-source X.org graphics driver for ARM graphics(with Zynq UltraScale+ MPSoC) Original: https://anongit.freedesktop.org/git/xorg/driver/xf86-video-armsoc.git Build Debian Package -------------------- ### Install packages required for build ```console shell$ apt install libdrm-dev libudev-dev libxext-dev pkg-config x11proto-core-dev x11proto-fonts-dev x11proto-gl-dev x11proto-xf86dri-dev xutils-dev xserver-xorg-dev quilt dh-autoreconf debhelper ``` ### Generate configure and Makefile ```console shell$ ./autogen.sh : shell$ make distclean : ``` ### Build binary packages ```console shell$ sudo debian/rules binary ``` ```console shell$ cd .. shell$ dpkg --info xserver-xorg-video-armsoc-xilinx_1.4-2_arm64.deb new Debian package, version 2.0. size 34108 bytes: control archive=832 bytes. 501 bytes, 12 lines control 614 bytes, 7 lines md5sums Package: xserver-xorg-video-armsoc-xilinx Source: xf86-video-armsoc-xilinx Version: 1.4-2 Architecture: arm64 Maintainer: ikwzm <[email protected]> Installed-Size: 99 Depends: libc6 (>= 2.17), libdrm2 (>= 2.4.36), libpixman-1-0, xserver-xorg-core Provides: xorg-driver-video Section: x11 Priority: optional Homepage: <https://github.com/ikwzm/xf86-video-armsoc-xilinx> Description: X.Org X Server -- ARM SoC display driver for rockchip, amlogic, sunxi and Xilinx(ZynqMP) DRM (mainline kernel) ``` Install Debian Package ---------------------- ```console shell$ sudo dpkg -i xserver-xorg-video-armsoc-xilinx_1.4-2_arm64.deb (Reading database ... 104374 files and directories currently installed.) Preparing to unpack xserver-xorg-video-armsoc-xilinx_1.4-2_arm64.deb ... Unpacking xserver-xorg-video-armsoc-xilinx (1.4-2) over (1.4-1) ... Setting up xserver-xorg-video-armsoc-xilinx (1.4-2) ... Processing triggers for man-db (2.8.5-2) ... ``` Configuration xserver-xorg-video -------------------------------- /etc/X11/xorg.conf ```conf:/etc/X11/xorg.conf Section "Device" Identifier "ZynqMP" Driver "armsoc" Option "DRI2" "true" Option "DRI2_PAGE_FLIP" "false" Option "DRI2_WAIT_VSYNC" "true" Option "DEBUG" "false" EndSection Section "Screen" Identifier "DefaultScreen" Device "ZynqMP" EndSection ``` DRM driver selection -------------------- While most operations use only the standard DRM modesetting interfaces, certain operations unavoidably rely on specific driver behaviour (including dumb buffer allocation flags and cursor plane z-ordering). As such, the armsoc driver should choose a particular DRM driver dynamically according to the current environment. The currently supported DRM drivers are: - pl111 - exynos - kirin - sti - xilinx For other drivers, you will need to implement this support yourself. A template implementation is provided in src/drmmode_template. The interface is defined and documented in src/drmmode_driver.h, and you should refer to this while modifying the template to set up your DRM driver's abstraction appropriately. You can also copy src/drmmode_template into src/drmmode_<yourdrivername>, modify the driver_name to match with the name used in the kernel drm driver. Summary of bo reference counting -------------------------------- The Screen takes a ref on the scanout bo in InitScreen and drops it in ScreenClose. When the scanout bo changes (due to a flip or a modeset) the ref is moved from the old bo to the new one by set_scanout_bo. Pixmaps take a ref on their bo(s) when created in ARMSOCCreatePixmap2 and drop it in ARMSOCDestroyPixmap. If ARMSOCModifyPixmapHeader points a pixmap at anything other than the scanout bo then the ref to the existing bo (if any) is dropped. If ARMSOCModifyPixmapHeader points a pixmap at the scanout bo the ref is moved from the old bo to the new If ARMSOCModifyPixmapHeader changes the size of the pixmap's bo the ref is dropped, a new bo created and a ref taken on that. resize_scanout_bo creates and takes a ref on the new bo and drops its ref when the new bo becomes the scanout bo and the Screen has taken a ref. The swap chain takes a ref on the src and dst bos when a swap is scheduled in ARMSOCDRI2ScheduleSwap and drops them in ARMSOCDRI2SwapComplete after the src becomes pARMSOC->scanout and the screen takes a ref. The cursor takes a ref on its bo in drmmode_cursor_init and drops it in drmmode_cursor_fini
hi
i clone this rep in my pc,
when i build
the console show as flow
root@debian:/home/zw/xf86-video-armsoc-xilinx# ./debian/rules binary
dh binary --with quilt,autoreconf,xsf --builddirectory=build/
dh: No packages to build. Architecture mismatch: amd64, want: armhf arm64
i just do as flow
shell$ ./autogen.sh
shell$ make distclean
shell$ sudo debian/rules binary
thanks a lot
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.