thomas001 / cedarview-drm Goto Github PK
View Code? Open in Web Editor NEWYet another try to run Intel's cdv driver on newer kernels.
Yet another try to run Intel's cdv driver on newer kernels.
Hello thomas001,
Thank you so much on your work porting cedarview-drm. I have had a great experience running this drm driver on Linux kernels 3.7, 3.8, and 3.9.
However, with the release of 3.10, I'm now getting errors compiling this drm as follows:
DKMS make.log for cedarview-drm-1.0.3-37 for kernel 3.10.0 (i686)
Wed Jul 3 22:31:03 PHT 2013
make: Entering directory `/usr/src/linux-headers-3.10.0'
CC [M] /var/lib/dkms/cedarview-drm/1.0.3-37/build/drm_auth.o
CC [M] /var/lib/dkms/cedarview-drm/1.0.3-37/build/drm_buffer.o
CC /var/lib/dkms/cedarview-drm/1.0.3-37/build/staging/staging.o
LD /var/lib/dkms/cedarview-drm/1.0.3-37/build/ttm/built-in.o
CC [M] /var/lib/dkms/cedarview-drm/1.0.3-37/build/ttm/ttm_agp_backend.o
LD /var/lib/dkms/cedarview-drm/1.0.3-37/build/staging/cdv/built-in.o
CC [M] /var/lib/dkms/cedarview-drm/1.0.3-37/build/staging/cdv/pvr/services4/srvkm/env/linux/osfunc.o
CC [M] /var/lib/dkms/cedarview-drm/1.0.3-37/build/drm_bufs.o
CC [M] /var/lib/dkms/cedarview-drm/1.0.3-37/build/ttm/ttm_memory.o
In file included from /var/lib/dkms/cedarview-drm/1.0.3-37/build/staging/cdv/pvr/services4/srvkm/env/linux/osfunc.c:68:0:
/var/lib/dkms/cedarview-drm/1.0.3-37/build/staging/cdv/pvr/services4/srvkm/env/linux/proc.h:64:48: error: unknown type name ‘read_proc_t’
/var/lib/dkms/cedarview-drm/1.0.3-37/build/staging/cdv/pvr/services4/srvkm/env/linux/proc.h:64:70: error: unknown type name ‘write_proc_t’
/var/lib/dkms/cedarview-drm/1.0.3-37/build/staging/cdv/pvr/services4/srvkm/env/linux/proc.h:66:58: error: unknown type name ‘read_proc_t’
/var/lib/dkms/cedarview-drm/1.0.3-37/build/staging/cdv/pvr/services4/srvkm/env/linux/proc.h:66:80: error: unknown type name ‘write_proc_t’
/var/lib/dkms/cedarview-drm/1.0.3-37/build/staging/cdv/pvr/services4/srvkm/env/linux/proc.h:90:9: error: unknown type name ‘write_proc_t’
/var/lib/dkms/cedarview-drm/1.0.3-37/build/staging/cdv/pvr/services4/srvkm/env/linux/proc.h:100:9: error: unknown type name ‘write_proc_t’
make[3]: *** [/var/lib/dkms/cedarview-drm/1.0.3-37/build/staging/cdv/pvr/services4/srvkm/env/linux/osfunc.o] Error 1
make[2]: *** [/var/lib/dkms/cedarview-drm/1.0.3-37/build/staging/cdv] Error 2
make[1]: *** [/var/lib/dkms/cedarview-drm/1.0.3-37/build/staging] Error 2
make[1]: *** Waiting for unfinished jobs....
It seems that the file include/linux/proc_fs.h have been significantly changed with the Linux-3.10 release, where the type names read_proc_t and write_proc_t used to be defined in previous releases 3.7 to 3.9.
Can something be done to make this drm driver compatible with the 3.10 release?
If you were wondering about the versioning, I made a few local version changes in cedarview-drm-1.0.3 where -37 denotes the Linux kernel release where it was tested upon by you, i.e. Linux 3.7, from the master branch.
I manged to compile this under ARCH 3.11 kernel. But can't get hardware accelerated playback to work. Anybody able to do so?
I'm running on an Intel DN2800MT board using an LVDS display. Kernel 3.11.0-17-generic from the lts-saucy package, Ubuntu 12.04.4.
Any tips on getting the linux-3.11 branch working? I compile and install the module successfully with DKMS per your instructions, but after booting I can't get X to run successfully. sudo lspci -v -s 00:02.0
reports:
00:02.0 VGA compatible controller: Intel Corporation Atom Processor D2xxx/N2xxx Integrated Graphics Controller (rev 09) (prog-if 00 [VGA controller])
Subsystem: Intel Corporation Device 2012
Flags: bus master, fast devsel, latency 0, IRQ 45
Memory at 80500000 (32-bit, non-prefetchable) [size=1M]
I/O ports at 30d0 [size=8]
Expansion ROM at <unassigned> [disabled]
Capabilities: [d0] Power Management version 2
Capabilities: [b0] Vendor Specific Information: Len=07 <?>
Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
Kernel driver in use: pvrsrvkm
Kernel modules: cedarview_gfx, gma500_gfx
Looks like X is trying to use the vesa driver:
[ 13.599] vesa: Ignoring device with a bound kernel driver
[ 13.599] (WW) Falling back to old probe method for vesa
[ 13.600] (II) modesetting(1): using drv /dev/dri/card0
[ 13.600] (WW) Falling back to old probe method for fbdev
[ 13.600] (II) Loading sub module "fbdevhw"
[ 13.600] (II) LoadModule: "fbdevhw"
[ 13.601] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 13.601] (II) Module fbdevhw: vendor="X.Org Foundation"
[ 13.601] compiled for 1.14.5, module version = 0.0.2
[ 13.601] ABI class: X.Org Video Driver, version 14.1
[ 13.601] (EE) Screen 0 deleted because of no matching config section.
[ 13.601] (II) UnloadModule: "vesa"
[ 13.602] (II) modesetting(0): Creating default Display subsection in Screen section
"Default Screen Section" for depth/fbbpp 24/24
[ 13.602] (==) modesetting(0): Depth 24, (==) framebuffer bpp 24
[ 13.602] (==) modesetting(0): RGB weight 888
[ 13.602] (==) modesetting(0): Default visual is TrueColor
[ 13.602] (II) modesetting(0): ShadowFB: preferred YES, enabled YES
[ 13.602] (EE) modesetting(0): KMS doesn't support dumb interface
[ 13.602] (EE) modesetting(0): KMS setup failed
[ 13.602] (II) UnloadModule: "modesetting"
[ 13.602] (EE) Screen(s) found, but none have a usable configuration.
[ 13.602] (EE)
Fatal server error:
[ 13.602] (EE) no screens found(EE)
[ 13.602] (EE)
Without your cedarview-drm driver, gma500 runs by default, and X runs fine, except that the LVDS display shows nothing past the Intel boot logo and a purple flash or two. Oddly, I can run VNC and see the screen that should be on my LVDS display, but nothing shows up on the display. Without cedarview-drm sudo lspci -v -s 00:02.0
reports:
00:02.0 VGA compatible controller: Intel Corporation Atom Processor D2xxx/N2xxx Integrated Graphics Controller (rev 09) (prog-if 00 [VGA controller])
Subsystem: Intel Corporation Device 2012
Flags: bus master, fast devsel, latency 0, IRQ 45
Memory at 80500000 (32-bit, non-prefetchable) [size=1M]
I/O ports at 30d0 [size=8]
Expansion ROM at <unassigned> [disabled]
Capabilities: [d0] Power Management version 2
Capabilities: [b0] Vendor Specific Information: Len=07 <?>
Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
Kernel driver in use: gma500
Kernel modules: gma500_gfx
Also, I did have this running previously with the 3.2 kernel and the older cedarview driver from wherever I found it on the Internets. So it can work...
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.