gfx-drm's Introduction
This is the "graphics/DRM" gate, in which we build the DRM kernel modules and related DRM libraries. Introduction: DRM stands for Direct Rendering Manager, which is a collection of kernel modules and libraries that allow programs like the Xorg server to operate hardware-accelerated graphics cards. This software currently supports Intel (R) integrated graphics devices with hardware acceleration, video memory management, Graphics Execution Manager (GEM), and kernel modesetting (KMS). How to build: Clone this repo. onto an OpenIndiana or similar build system with the "build-essential" packages installed, then: cd (top of clone) make install make package Overview: The major kernel components are: usr/src/uts/intel/io/i915 i915 driver usr/src/uts/common/io/drm/ DRM "misc" support usr/src/uts/intel/io/agpmaster AGP master support usr/src/uts/intel/io/agpgart AGP GART, AGP target Dependendencies: i915 -> drm drm -> agpmaster, gfx_private The user-level libraries are: usr/src/lib/libdrm/ DRM driver usr/src/lib/libdrm_* H/W-specific DRM support usr/src/lib/libkms Kernel Mode Setting support Note that the source for those libraries is EXTERNAL, and NOT checked into this gate. At build time, the library sources are downloaded from: http://dri.freedesktop.org/libdrm/ and then unpacked and patched under: usr/src/common/libdrm/ That makes this gate a little unusual, sort of a "hybrid" between how illumos-gate does things and how the "userland" gate does things. There are good reasons for this. The kernel code is very much operaging-system-specific, and therefore can not simply track some "upstream" like the user-level library code can. It's also a little tricky to build kernel code "correctly", which is why the kernel build parts of this gate are based on the "ON skeleton" gate: https://github.com/gwr/on-skel The user-level libraries here are built with minimal changes relatative to the upstream, and therefore can use a strategy similar to that in the "userland" gate: https://github.com/OpenIndiana/oi-userland Development and testing: If you find you need to make changes to library code (such as when updating to a new version) the easiest way is to save a copy of the unpacked library source before patching (use "make unpack"), then go ahead and edit files as needed, and once you're happy with the changes use "diff -u saved-lib edited-lib" to update the files in the patches directory. Use: usr/src/common/libdrm/Check-patches to check that your patches are in sync with edits. When doing incremental work in the gate, i.e. fixing compilation errors, it's handy to run an editor in a "bldenv" environment, as follows: ksh93 tools/bldenv -d myenv.sh That gets you a new shell, in which you can run an emacs if you like "meta-x compile", or whatever. Just cd to where the top-level make had problems and run make. Then fix bugs, open pull requests. Please run the tests before submitting pull requests. They're installed as /opt/drm-test/*
gfx-drm's People
Forkers
gwr hrosenfeld kzwkt pyhalov acidburn0zzz alarcher omniosorg hoewweken mno-hime backwardn openindiana andwac zhangjing-mars mosakujihokuto fejfighter klausz65 mtelkagfx-drm's Issues
tools/bldenv should be executable
In oi-userland
, a copy of tools/bldenv
is made during the build -- but it seems like it is not actually modified, just made executable. Could we just make it executable within the repository, like it now is within illumos-gate? (as of illumos bug 11224)
S2600 throws WARNING: [drm:pci_dev_create:93] ddi_prop_get_int() failed
S2600 motherboard I keep seeing the same error:
WARNING: [drm:pci_dev_create:93] ddi_prop_get_int() failed
There is a brief exchange about this problem in omnios-discuss: https://illumos.topicbox.com/groups/omnios-discuss/T94f078ad6711d7ce but it didn't get any traction.
Support for Intel GPUs is outdated
Support for Intel GPUs have been outdated by many years; Broadwell and later isn't supported at all even after 7 years. The rest of the Unix open source operating system projects is catching up to upstream Linux GPU support meanwhile.
At least update the support of Intel GPUs to at least Skylake.
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.