This also affects Gateway MP8708(from another post) and MP8709(mine).
The reason why values 12, 37, 62 and 87 aren't working is because of the way G-P-M increments/decrements brightness values. If HAL reports laptop_panel.num_levels < 20 then G-P-M will change the brightness level by 1 for each key press. Otherwise, it assumes that there are a lot of different levels and changes the brightness level by 5% each increment. See gpm_brightness_lcd_get_step in src/gpm-brightness-lcd.c for reference.
Since our laptops report laptop_panel.num_levels=101, G-P-M thinks that all levels 0-100 are valid and is trying to switch through them 5 at a time. The brightness values 12, 37, etc don't happen to be multiples of 5.
These seems like a mostly Gateway issue. It looks like we have a few options but I don't know which one fits best with the way HAL/G-P-M/ACPI works.
1.) Change whatever it is listening at /sys/class/backlight/XXX/brightness to use contiguous values (e.g. 0-8) [Seems like the best]
2.) Change HAL to use a custom laptop_panel.access_method that translates from 0-8 to 0,12,25,37,etc. [Seems like the easiest/most hackish]
3.) Change G-P-M to recognize the difference between 101 contiguous levels and the broken crap we have. [Seems like the hardest/least standard]
Option 1 seems like the best but I don't know what that involves or how to do it. Anyone have any references I could read regarding Option 1?
I working on some changes to the brightness get/set scripts to do this hack. It will also involve an .fdi file to change the num_levels, etc. I'll post it if I get something workable.
I'm not sure if the list of legal levels is provided by HAL and seems like a bad change just for some special boards. I think HAL expects num_levels to mean 0 to num_levels but I haven't read the spec yet.
If a dev could chime in with his opinion on this, I could get it done. I'm just not sure whats the best route for the long term. I'll try to get the short-term fix(#2) up tonight.
@DanaGoyette: /sys/.../brightness works fine when I force feed it 12, 37, etc. I haven't had that issue that you were describing.
This also affects Gateway MP8708(from another post) and MP8709(mine).
The reason why values 12, 37, 62 and 87 aren't working is because of the way G-P-M increments/ decrements brightness values. If HAL reports laptop_ panel.num_ levels < 20 then G-P-M will change the brightness level by 1 for each key press. Otherwise, it assumes that there are a lot of different levels and changes the brightness level by 5% each increment. See gpm_brightness_ lcd_get_ step in src/gpm- brightness- lcd.c for reference.
Since our laptops report laptop_ panel.num_ levels= 101, G-P-M thinks that all levels 0-100 are valid and is trying to switch through them 5 at a time. The brightness values 12, 37, etc don't happen to be multiples of 5.
These seems like a mostly Gateway issue. It looks like we have a few options but I don't know which one fits best with the way HAL/G-P-M/ACPI works.
1.) Change whatever it is listening at /sys/class/ backlight/ XXX/brightness to use contiguous values (e.g. 0-8) [Seems like the best] panel.access_ method that translates from 0-8 to 0,12,25,37,etc. [Seems like the easiest/most hackish]
2.) Change HAL to use a custom laptop_
3.) Change G-P-M to recognize the difference between 101 contiguous levels and the broken crap we have. [Seems like the hardest/least standard]
Option 1 seems like the best but I don't know what that involves or how to do it. Anyone have any references I could read regarding Option 1?
I working on some changes to the brightness get/set scripts to do this hack. It will also involve an .fdi file to change the num_levels, etc. I'll post it if I get something workable.
I'm not sure if the list of legal levels is provided by HAL and seems like a bad change just for some special boards. I think HAL expects num_levels to mean 0 to num_levels but I haven't read the spec yet.
If a dev could chime in with his opinion on this, I could get it done. I'm just not sure whats the best route for the long term. I'll try to get the short-term fix(#2) up tonight.
@DanaGoyette: /sys/.../brightness works fine when I force feed it 12, 37, etc. I haven't had that issue that you were describing.