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

Re: debian squeeze on acer aspire one 751h



Screen brightness:
hotkeys do not work both on debian and kubuntu 9.04. See xrandr below. (Andika, thanks for your input!)

However, on kubuntu the battery/powersave plasmoid has a slider that *can* control screen brightness. The same setup does not work on debian.

Screen resolution and setup:
I have patched grub-pc package to add support to the GMA chipset on the 915resolution module. With that setup X does start with the correct resolution (1366x768) without further configuration. Details follow (general steps from memory, DO NOT just copy and paste).

1. Patch grub-pc with the attached patch:
apt-get source grub-pc
cd  grub2-1.96+20090825/debian/grub-extras/commands/i386
patch < 915resolution.c.patch

2. Build the package and install
apt-get build-deps grub-pc
cd grub2-1.96+20090825
dpkg-buildpackage
cd ..
dpkg -i grub2-1.96+20090825-XXX.deb

3. Configure grub-pc:
(I strongly recommend that this setup is verified with the standalone 915resolution *before* grub configuration)
edit /etc/grub.d/01_915resolution and add

echo insmod 915resolution
echo 915resolution 58 1366 768 32

chmod +x /etc/grub.d/01_915resolution
update-grub
do not reboot if you get any errors

4. Reboot and your X should start with the right resolution.

If someone else tries that, please report back.

Regards,

Pedro


On Wed, Aug 26, 2009 at 8:06 PM, Andika Triwidada <andika@gmail.com> wrote:
On Thu, Aug 27, 2009 at 4:43 AM, Pedro Bulach Gapski<pbgapski@gmail.com> wrote:
> Andika,
>
>> Would you mind trying this?
>> $ xrandr --output LVDS --set BACKLIGHT_CONTROL native
>>
>> Also test other BACKLIGHT_CONTROL values from
>> $ xrandr --prop
>> if first command above failed.
>>
>> --
>> andika
>
> those are the results on debian squeeze with vesa driver:
> Script started on Wed 26 Aug 2009 06:33:52 PM BRT
> gapski@meteor:~$ xrandr --prop
> Screen 0: minimum 640 x 480, current 1368 x 768, maximum 1368 x 768
> default connected 1368x768+0+0 0mm x 0mm
>    1366x768       61.0
>    1024x768       61.0
>    800x600         0.0
>    640x480         0.0
>    1368x768       61.0*

Can't help anymore here

> and following are the results on the same hardware with kubuntu 9.04 and
> poulsbo driver:
> xrandr --prop
> Screen 0: minimum 320 x 200, current 1366 x 768, maximum 1366 x 1366
> LVDS0 connected 1366x768+0+0 (normal left inverted right x axis y axis) 0mm
> x 0mm
>     BACKLIGHT: 100 (0x00000064)    range:  (0,100)
>     PANELFITTING: 0 (0x00000000)    range:  (0,2)
>    1366x768       57.6*+

But there's still hope here :D
$ xrandr --output LVDS --set BACKLIGHT any_value_between_0_and_100

Not sure how to link that to brightness control hotkeys though :(

--
andika

--- 915resolution.c.orig	2009-08-26 09:35:45.000000000 -0300
+++ 915resolution.c	2009-08-26 09:48:06.000000000 -0300
@@ -106,12 +106,12 @@
 
 typedef enum {
     CT_UNKWN, CT_830, CT_845G, CT_855GM, CT_865G, CT_915G, CT_915GM, CT_945G, CT_945GM, CT_945GME,
-    CT_946GZ, CT_G965, CT_Q965, CT_965GM, CT_G33, CT_Q33, CT_Q35
+    CT_946GZ, CT_G965, CT_Q965, CT_965GM, CT_G33, CT_Q33, CT_Q35, CT_500GMA
 } chipset_type;
 
 char * chipset_type_names[] = {
     "UNKNOWN", "830",  "845G", "855GM", "865G", "915G", "915GM", "945G", "945GM", "945GME",
-    "946GZ",   "G965", "Q965", "965GM", "G33", "Q33", "Q35"
+    "946GZ",   "G965", "Q965", "965GM", "G33", "Q33", "Q35", "500GMA"
 };
 
 typedef enum {
@@ -285,6 +285,10 @@
         type = CT_Q33;
         break;
 
+    case 0x81008086:
+      type = CT_500GMA;
+      break;
+
     default:
         type = CT_UNKWN;
         break;
@@ -521,6 +525,7 @@
     case CT_G33:
     case CT_Q35:
     case CT_Q33:
+    case CT_500GMA:
         outl(0x80000090, 0xcf8);
         map->b1 = inb(0xcfd);
         map->b2 = inb(0xcfe);
@@ -566,6 +571,7 @@
     case CT_G33:
     case CT_Q35:
     case CT_Q33:
+    case CT_500GMA:
         outl(0x80000090, 0xcf8);
         outb(map->b1, 0xcfd);
         outb(map->b2, 0xcfe);
@@ -825,6 +831,9 @@
         else if (!strcmp(argv[index], "Q33")) {
             *forced_chipset = CT_Q33;
         }
+	else if (!strcmp(argv[index], "500GMA")) {
+	    *forced_chipset = CT_500GMA;
+	}
         else {
             *forced_chipset = CT_UNKWN;
         }

Reply to: