Alpha Linux Z800 HMD kernel driver re... Log Out | Topics | Search
Moderators | Register | Edit Profile

stereo3d.com webboard » Stereo3D Drivers, SDK, OS » Alpha Linux Z800 HMD kernel driver release « Previous Next »

Author Message
Top of pagePrevious messageNext messageBottom of page Link to this message

Adam King (Aking)
New member
Username: Aking

Post Number: 1
Registered: 10-2006

Rating: 
Votes: 2 (Vote!)

Posted on Saturday, October 28, 2006 - 2:41 pm:   Edit PostDelete PostView Post/Check IPPrint Post

I've just released an alpha kernel driver for the Z800 HMD. Full details at eMagin's 3dvisor.com forum or grab it from my website at:

http://antimass.org/z800

From the README in the package:

Z800/X800 Linux Kernel Driver v0.6

About:

A kernel driver for the eMagin Z800/X800. Most of the USB packet
info came from eMagin's publically released source code for their
EMADevice SDK.

WARNING:

This is ALPHA software. It might destroy your system and/or
your HMD. You try this software at your own risk. Don't come
crying to me if your system/hmd stops working. You've been
warned.


Requirements:

- Z800/X800 HMD (duh)
- Kernel 2.6.17 or greater. It may work with an earlier
kernel, but I haven't checked. Success/failure reports
are welcome.
- Kernel support for loadable modules


Installation:

The Short version:

make
make install
make load

The Longer Version:

1) Run "make". This will create the kernel module.
2) Run "make install". This will copy the kernel module into
your system's /lib/modules/2.6.??/extra directory with the
module name "z800.ko"
3) Run "modprobe z800". This will load the module into the kernel.
Check your dmesg file. If all goes well, it should successfully
see your Z800. If not, send me the report.


Testing:

I've included a small test program to show how to control the
Z800. Run "make test" and then "./z800Test". It should print out
the Z800's firmware version and wake it up (note: the led on the control
base may still be blinking, but the HMD's screens should be active ).


TODO:
- add proper locking in the driver
- use wait_event_interruptable instead of looping
- add missing controls ( 3DFLIP, etc )
- add EEPROM property programming (offset, gain, etc )
- fix dev/z800:0 location. Use "/dev/z800/0" instead for
better multi z800 support
- only activate the read_urb when needed, not constantly
- add hmd tracking!! Need usb info for that.
- get it into the linux kernel mainline
- many others...


Known Bugs:
- once 3D Stereo is enable, it can't be disabled until the Z800
is disconnected. Don't know why.
- even after the Z800 is woken up, the led on the controller
is still flashing, even though the HMD's screens are active


Author:

Adam King


Changelog:

0.6 [ 2006/10/27 ]
- Initial Alpha Release.
- Supports: GET_FIRMWARE, CYCLEBRIGHTNESS, KEEPALIVE.
SET_ENABLE_3D, SLEEP (no support in fw)

(Message edited by aking on October 28, 2006)

Add Your Message Here
Post:
Bold text Italics Underline Create a hyperlink Insert a clipart image

Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Password:
Options: Enable HTML code in message
Automatically activate URLs in message
Action:

Topics | Last Day | Last Week | Tree View | Search | User List | Help/Instructions | Program Credits Administration