- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello all,
I want to use Intel EMGD Driver on Ubuntu 12.04 LTS. Is this possible? Is there anyone who tried and succeeded? I want to enable hardware accelerated video decoding on a process coded Atom E3845.
I am planning to apply suggested techniques in document named "Intel® Embedded Media and Graphics Driver and EPOG v36.40.21 (32-bit) & v37.40.21 (64-bit) for Intel® AtomTM Processor E3800 Product Family/ Intel® Celeron® Processor N2920/J1900 Linux* Release" to build and use EMGD driver on Ubuntu 12.04LTS. Is there any possibility for these instructions to work for that Ubuntu distribution?
Best wishes.
- Tags:
- Drivers
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Unfortunately we are not able to support all of the various distributions of Linux that are available. It is simply not practical to do that, and we are not able to provide 100% of the source code due to some IP involved in the media and 3d acceleration portions of the driver. We do provide a majority of the source so all is not lost. Ubuntu is not currently a POR distribution for us (our large customers dictate the distributions we support). That means we have not tried it specifically, and we may not provide all of the right "pieces" to make it possible.
Here are the areas you will need to look into:
1. kernel changes- we provide scripts and patches for POR kernels to allow us to interface the driver to the hardware. These patches are provided in code form. If the Ubuntu kernel happens to match something that IS POR, then you just use that patch and this is easy to handle. If the kernel is different (and most are), then you might need to look at what the patches are trying to do and create your own patch. This is not impossible but difficult. You are a programmer and Linux guru, right?
2. X version - we provide pre-compiled libraries that interface into specific xorg versions for our POR distros, and sometimes for a few others if they are "easy" to support. You will need to determine if the library will work with the X in your distribution. If it is not a match, then your only recourse is to either up rev or back rev the X version in the distribution to match something that will work.
Hope that helps. Kirk
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
First of all I am thankful for your valuable response.
I understand your considerations about working on different distros.
From your post I understand that I should give a try for Ubuntu and you are not guarentee whether suggested way would work or not.
I am going to try patch and compile Linux kernel 3.8 (as specified in document named Intel® Embedded Media and Graphics Driver and EPOG v36.40.21 (32-bit) & v37.40.21 (64-bit) for Intel® AtomTM Processor E3800 Product Family/ Intel® Celeron® Processor N2920/J1900 Linux* Release). Below you can find the steps that I am planning to use. Could you please inspect them and warn me if there are any logical problems?
1. Download the kernel 3.8 from kernel.org and patch it by using patches provided by Intel
2. Compile it.
3. Boot system by using that kernel
4. Inspect X version from a similar Fedora distro, i.e. Fedora Remix from timesys
5. Up rev or down rev if there are any problems
Best wishes.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
By the way could you please explain what is acronym for `POR`?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Your process will work. The patching step will either work, or bomb out if there are changes from what it is expecting.
Sorry about the acronym. Intel loves acronyms. POR stands for "Plan of Record" which we publish that explains what is supported (features, OS, etc.) and what is not. Our POR is available from your Intel Field Representative if you have one otherwise it is not generally available since it tlaks about future plans, etc that need you to have an NDA with us to share. An Intel Field Rep manages the NDA process.
Hope that helps.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Okey, I am going to try and share the progress with you.
Thank you so much. Besides thank you also for an explanation of `POR`
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In the document specified previous messages, It says that
Section A.2 Item 4: Download the I/O component kernel AV_LSP patches from the Intel® AtomTM
Processor E3800 Product Family/ Intel® Celeron® Processor N2920/J1900 driver
guide (or your Intel representative).
I couldn't locate these patches. Could you please help me for locating them?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The patches are included with the driver when you download the driver directly from us here (rather than in any repository as those tend to be already patched). When you unpack the driver install, you should have the patches already there with the driver pieces. They may be unpacked as one of the RPM installs. Hope that helps.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I have downloaded drivers from following link: https://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=23585 https://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=23585
All RPMs and TGZs are extracted and no patches named as
LSP_Patches/AV_LSP_3.8_ACPI_2013-04-26.patch
LSP_Patches/AV_LSP_3.8_CLK_2013-04-26.patch are found. Even there is no folder named LSP_Patches.
Regards.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Open the IEMGD_HEAD_Linux.tgz in that download and go into the \patches directories. The patch organization has changed a bit so that particular file name may have a slightly different name now.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Kirk,
I have extracted IEMGD_HEAD_Linux.tgz before, but I couldn't find any patch file. By the way there is no patch named similar to AV_LSP... Below you can find tree output for patches folder:
.
├── common
│ ├── LibDRM
│ │ ├── libDRM_2_4_34_VLV_Support
│ │ ├── libDRM_2_4_39_Atomic_Support
│ │ └── libDRM_2_4_39_VLV_Support
│ ├── Linux_Kernel_3_8
│ │ └── KERNEL_3_8_ATOMIC_Support
│ ├── MESA_i965
│ │ ├── MESA_OGL_Dri_8_0_4_VLV_Support
│ │ ├── MESA_OGL_Dri_9.1.1_VLV_Support
│ │ ├── MESA_OGL_Dri_9.1_VLV_Support
│ │ └── MESA_OGL_Dri_9.2.0_VLV_Support
│ ├── splash_video_support_3.8
│ │ ├── libva-intel-driver-1.0.20-headless.patch
│ │ ├── linux-3.8_drm_mode_setplane_symbol_export.patch
│ │ ├── mplayer-vaapi-headless.patch
│ │ └── README
│ └── VA_Driver_i965
│ ├── Intel_VA_Driver_1_0_17_VLV_Support
│ ├── Intel_VA_Driver_1_0_19_VLV_Support
│ ├── Intel_VA_Driver_1_0_20_VLV_Support
│ ├── Intel_VA_Driver_1_2_0_VLV_Support
│ ├── VAXV
│ │ ├── Gst_Plugins_VAAPI_pre_0_5_8_Adding_Rendermode_Patch
│ │ ├── Intel_VA_Driver_1_2_0_Add_VAXV_Feature_Patch
│ │ └── Mplayer_Adding_Rendermode_Patch
│ └── VC1_Interlace
│ ├── Gst_Codepatch
└── drm_Makefile.patch
10 directories, 26 files
Which patch file should I use?
Regards.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sorry the following shall be accepted as a true one for tree command output:
.
├── common
│ ├── LibDRM
│ │ ├── libDRM_2_4_34_VLV_Support
│ │ ├── libDRM_2_4_39_Atomic_Support
│ │ └── libDRM_2_4_39_VLV_Support
│ ├── Linux_Kernel_3_8
│ │ └── KERNEL_3_8_ATOMIC_Support
│ ├── MESA_i965
│ │ ├── MESA_OGL_Dri_8_0_4_VLV_Support
│ │ ├── MESA_OGL_Dri_9.1.1_VLV_Support
│ │ ├── MESA_OGL_Dri_9.1_VLV_Support
│ │ └── MESA_OGL_Dri_9.2.0_VLV_Support
│ ├── splash_video_support_3.8
│ │ ├── libva-intel-driver-1.0.20-headless.patch
│ │ ├── linux-3.8_drm_mode_setplane_symbol_export.patch
│ │ ├── mplayer-vaapi-headless.patch
│ │ └── README
│ └── VA_Driver_i965
│ ├── Intel_VA_Driver_1_0_17_VLV_Support
│ ├── Intel_VA_Driver_1_0_19_VLV_Support
│ ├── Intel_VA_Driver_1_0_20_VLV_Support
│ ├── Intel_VA_Driver_1_2_0_VLV_Support
│ ├── VAXV
│ │ ├── Gst_Plugins_VAAPI_pre_0_5_8_Adding_Rendermode_Patch
│ │ ├── Intel_VA_Driver_1_2_0_Add_VAXV_Feature_Patch
│ │ └── Mplayer_Adding_Rendermode_Patch
│ └── VC1_Interlace
│ ├── Gst_Codecparser_VAAPI_pre_0_5_8_VC1_Interlace_Patch
│ ├── Gst_Plugins_VAAPI_pre_0_5_8_VC1_Interlace_Patch
│ └── Intel_VA_Driver_1_2_1_Gen7_VC1_Interlace_Patch
└── drm
├── EMGD_CHANGES.txt
└── Linux_Kernel_3_8_0
├── atomic_support.patch
├── drm_KConfig.patch
└── drm_Makefile.patch
10 directories, 26 files
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ah well there you go- I see a DRM folder and .PATCH files. These are what is used to patch the kernel to support our necessary DRM changes. Have fun!!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Kirk,
I have patched kernel 3.8.0 by using patches you have pointed before and then built kernel.
As the next step, I have been trying to compile emgd driver and obtain emgd module to be used within the system. But there is a problem. When I try to run following command, it fails with specified error message:
# sudo modprobe emgd
FATAL: Error inserting emgd (/lib/modules/3.8.0/kernel/drivers/gpu/drm/emgd/emgd.ko): Invalid module format
After attempt to insert emgd module to kernel, dmesg output is as following:
[ 601.626628] emgd: exports duplicate symbol i915_gpu_busy (owned by kernel)
It is interesting that, when I have been building the module a warning message was shown as following:
Building modules, stage 2.
MODPOST 1 modules
WARNING: /home/aedu/Downloads/emgd_driver/Linux/common/drm/emgd: 'i915_gpu_turbo_disable' exported twice. Previous export was in vmlinux
WARNING: /home/aedu/Downloads/emgd_driver/Linux/common/drm/emgd: 'i915_gpu_busy' exported twice. Previous export was in vmlinux
WARNING: /home/aedu/Downloads/emgd_driver/Linux/common/drm/emgd: 'i915_gpu_lower' exported twice. Previous export was in vmlinux
WARNING: /home/aedu/Downloads/emgd_driver/Linux/common/drm/emgd: 'i915_gpu_raise' exported twice. Previous export was in vmlinux
WARNING: /home/aedu/Downloads/emgd_driver/Linux/common/drm/emgd: 'i915_read_mch_val' exported twice. Previous export was in vmlinux
Could you please help me on solving this issue?
Regards.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello! Upon speaking with the validation team about this issue, they have given some solution as well as asked a few queries about the process you followed.
The issue may be related to the missing BYT I/O components in Kernel 3.8. Even though you never tested EMGD under Ubuntu (not a POR), but as for basic Kernel requirements boot up (under BYT), what we need to have here are two of the major components :
1. Kernel 3.8 + BYT I/O components/patches
2. Kernel 3.8 + BYT EMGD components/patches
What is suggested here is that you should patch the stock 3.8 Vanilla Kernel with the BYT I/0 first and follow by BYT EMGD patches to make the Kernel workable under BYT platform.
But, from the case that you reported out, we didn't notice any I/O patches been applied inside, correct?
Some questions:
1. How is I/O patch be delivered to external ?
2. Does the Kernel (which you used) already contain the correct platform patches (I/O) ?
3. Have you managed to boot up 3.8 Kernel under embedded platform (BYT) ?
4. If you were able to execute # 3 above, we need to check the EMGD compilation results under your kernel.
5. Have you tried to remove Intel stock GFX driver (i915) from the Kernel config and proceed with modprobe EMGD ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Could you please tell what is the meaning of acronym BYT? Then I can answer your questions with a full understanding of your questions in my mind.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Enienws
BYT Stands for BayTrail, which is the code name for the Intel Atom E3800/ Celeron N2920/J1900 product series platform.
Best Regards
Stephen
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
By the way, you can visit Timesys for Linux support where you can also download the Kernel code.
For 64 bits: http://repository.timesys.com/buildsources/fedora/18/x86_64/source/ http://repository.timesys.com/buildsources/fedora/18/x86_64/source/
For 32 bits: hhttp://repository.timesys.com/buildsources/fedora/18/i386/source/ ttp://repository.timesys.com/buildsources/fedora/18/i386/source/
Or try a Yocto bsp at yoctoproject.org
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page