Re: Monitor Driver for linux 2.6 kernel - I2C protocol

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Eric,

I apologize for causing the inconvenience by putting the email from my official ID. I have rectified that.
Thanks for giving the information.
I think you have specified the EDID information for a monitor. And yes, I did not find anything to control the monitor settings at the kernel level.
Thats why I wanted to write a small driver for it.
I am planning to create the driver which will communicate over the I2C bus and send the signals to concerned graphics driver which will set the brightness and contrast.
In other words I want to manipulate the DDC/CI settings of a monitor.
Could you please shed some light on the exact approach for this driver to come into existence? I am very new to the driver development and referring Allessandro's book.

Any help in this regard is highly appreciated.
Please let me know.
Thanks.
--
Abhijit.
> I want to develop a monitor driver for 2.6 kernel and a ViewSonic
> Monitor. I am stuck at a point where I am supposed to use the I2C
> protocol and the driver.
>
> Basically, I want to set the monitor settings, brightness, contrast by
> communicating with the graphics card drivers installed on the system.
> This needs a I2C protocol communication. It would be very helpful if
> someone provides some insight on the actual path I am supposed to
> take.

You're probably referring to ddc. The kernel doesn't have a driver for that, but the X server has. My system has /usr/X11R6/lib/modules/libddc.so which it uses to figure out what kind of monitor is connected:

(II) MGA(0): I2C bus "DDC P1" initialized.
(II) MGA(0): I2C device "DDC P1:ddc2" registered at address 0xA0.
(II) MGA(0): I2C device "DDC P1:ddc2" removed.
(II) MGA(0): I2C Monitor info: 0x8249848
(II) MGA(0): Manufacturer: SNY Model: 580 Serial#: 168xxxxx
(II) MGA(0): Year: 2001 Week: 50
(II) MGA(0): EDID Version: 1.2
(II) MGA(0): Analog Display Input, Input Voltage Level: 0.700/0.300 V
(II) MGA(0): Sync: Separate Composite SyncOnGreen
(II) MGA(0): Max H-Image Size [cm]: horiz.: 36 vert.: 29
(II) MGA(0): Gamma: 2.20
(II) MGA(0): DPMS capabilities: StandBy Suspend Off; RGB/Color Display
(II) MGA(0): First detailed timing is preferred mode
(II) MGA(0): redX: 0.633 redY: 0.353 greenX: 0.294 greenY: 0.592
(II) MGA(0): blueX: 0.142 blueY: 0.097 whiteX: 0.283 whiteY: 0.298
(II) MGA(0): Supported VESA Video Modes:
(II) MGA(0): 720x400@70Hz
(II) MGA(0): 640x480@60Hz
(II) MGA(0): 800x600@60Hz
(II) MGA(0): 1024x768@60Hz
(II) MGA(0): Manufacturer's mask: 0
(II) MGA(0): Supported Future Video Modes:
(II) MGA(0): #0: hsize: 1280 vsize 1024 refresh: 60 vid: 32897
(II) MGA(0): #1: hsize: 1280 vsize 960 refresh: 60 vid: 16513
(II) MGA(0): Supported additional Video Mode:
(II) MGA(0): clock: 108.0 MHz Image Size: 357 x 286 mm
(II) MGA(0): h_active: 1280 h_sync: 1328 h_sync_end 1440 h_blank_end 1688 h_border: 0
(II) MGA(0): v_active: 1024 v_sync: 1025 v_sync_end 1028 v_blanking: 1066 v_border: 0
(II) MGA(0): Ranges: V min: 48 V max: 65 Hz, H min: 28 H max: 65 kHz, PixClock max 110 MHz
(II) MGA(0): Monitor name: SDM-S81
(II) MGA(0): Serial No: 45xxxxx

I don't know if the DDC interface is exposed to X clients, but if it is, that should be the way to play with the monitor settings.


Erik

--
They're all fools. Don't worry. Darwin may be slow, but he'll eventually get them. -- Matthew Lammers in alt.sysadmin.recovery



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux