# --- T2-COPYRIGHT-NOTE-BEGIN --- # This copyright note is auto-generated by ./scripts/Create-CopyPatch. # # T2 SDE: package/.../915resolution/updates.patch # Copyright (C) 2014 The T2 SDE Project # # More information can be found in the files COPYING and README. # # This patch file is dual-licensed. It is available under the license the # patched project is licensed under, as long as it is an OpenSource license # as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms # of the GNU General Public License as published by the Free Software # Foundation; either version 2 of the License, or (at your option) any later # version. # --- T2-COPYRIGHT-NOTE-END --- Nokia, or better their contractor, forgot to fill the native display resolution (1280x720) into the BIOS tables, which unfortunately does not allow to select them via basic VESA BIOS functions. Given the unfortunate GMA500 aka. Poulsbo driver situation we'd rather like to set the mode for more stable pieces of legacy software blitting, for now. - Rene Rebe This source has been patched by tempestuous in 2008, from 0.5.3. I BK added 500GMA and 945GME support (adapted from an arch patch), dec 2009. tempestuous adds device 2a408086 "GM45" Dec 12 2009. 20120521: tempestuous: more patches, refer: http://www.murga-linux.com/puppy/viewtopic.php?t=32462 diff -Naur 915resolution-0.5.3/915resolution.c 915resolution-0.5.3-patched20120521/915resolution.c --- 915resolution-0.5.3/915resolution.c 2007-04-15 18:46:56.000000000 +0800 +++ 915resolution-0.5.3-patched20120521/915resolution.c 2014-11-27 15:36:39.000000000 +0800 @@ -55,13 +61,13 @@ typedef unsigned int cardinal; typedef enum { - CT_UNKWN, CT_830, CT_845G, CT_855GM, CT_865G, CT_915G, CT_915GM, CT_945G, CT_945GM, - CT_946GZ, CT_G965, CT_Q965 + CT_UNKWN, CT_500GMA, 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_GM965, CT_G33, CT_GM45, CT_GMA3150, CT_HDGraphics } chipset_type; char * chipset_type_names[] = { - "UNKNOWN", "830", "845G", "855GM", "865G", "915G", "915GM", "945G", "945GM", - "946GZ", "G965", "Q965" + "UNKNOWN", "500GMA", "830", "845G", "855GM", "865G", "915G", "915GM", "945G", "945GM", + "945GME", "946GZ", "G965", "Q965", "GM965", "G33", "GM45", "GMA3150", "HDGraphics" }; typedef enum { @@ -181,6 +187,10 @@ chipset_type type; switch (id) { + case 0x81008086: + type = CT_500GMA; + break; + case 0x35758086: type = CT_830; break; @@ -213,6 +223,10 @@ type = CT_945GM; break; + case 0x27ac8086: + type = CT_945GME; + break; + case 0x29708086: type = CT_946GZ; break; @@ -225,6 +239,46 @@ type = CT_Q965; break; + case 0x2a008086: + type = CT_GM965; + break; + + case 0x2a018086: + type = CT_GM965; + break; + + case 0x2a028086: + type = CT_GM965; + break; + + case 0x29b08086: + type = CT_G33; + break; + + case 0x29c08086: + type = CT_G33; + break; + + case 0x2a408086: + type = CT_GM45; + break; + + case 0xa0008086: + type = CT_GMA3150; + break; + + case 0xa0108086: + type = CT_GMA3150; + break; + + case 0x00408086: + type = CT_HDGraphics; + break; + + case 0x00448086: + type = CT_HDGraphics; + break; + default: type = CT_UNKWN; break; @@ -502,15 +556,22 @@ outl(0x8000005a, 0xcf8); outb(0x33, 0xcfe); break; + case CT_500GMA: case CT_845G: case CT_865G: case CT_915G: case CT_915GM: case CT_945G: case CT_945GM: + case CT_945GME: case CT_946GZ: case CT_G965: case CT_Q965: + case CT_GM965: + case CT_G33: + case CT_GM45: + case CT_GMA3150: + case CT_HDGraphics: outl(0x80000090, 0xcf8); map->b1 = inb(0xcfd); map->b2 = inb(0xcfe); @@ -542,15 +603,22 @@ outl(0x8000005a, 0xcf8); outb(map->b1, 0xcfe); break; + case CT_500GMA: case CT_845G: case CT_865G: case CT_915G: case CT_915GM: case CT_945G: case CT_945GM: + case CT_945GME: case CT_946GZ: case CT_G965: case CT_Q965: + case CT_GM965: + case CT_G33: + case CT_GM45: + case CT_GMA3150: + case CT_HDGraphics: outl(0x80000090, 0xcf8); outb(map->b1, 0xcfd); outb(map->b2, 0xcfe); @@ -782,7 +850,10 @@ return 0; } - if (!strcmp(argv[index], "845")) { + else if (!strcmp(argv[index], "500GMA")) { + *forced_chipset = CT_500GMA; + } + else if (!strcmp(argv[index], "845")) { *forced_chipset = CT_845G; } else if (!strcmp(argv[index], "855")) { @@ -803,6 +874,9 @@ else if (!strcmp(argv[index], "945GM")) { *forced_chipset = CT_945GM; } + else if (!strcmp(argv[index], "945GME")) { + *forced_chipset = CT_945GME; + } else if (!strcmp(argv[index], "946GZ")) { *forced_chipset = CT_946GZ; } @@ -812,6 +886,21 @@ else if (!strcmp(argv[index], "Q965")) { *forced_chipset = CT_Q965; } + else if (!strcmp(argv[index], "GM965")) { + *forced_chipset = CT_GM965; + } + else if (!strcmp(argv[index], "G33")) { + *forced_chipset = CT_G33; + } + else if (!strcmp(argv[index], "GM45")) { + *forced_chipset = CT_GM45; + } + else if (!strcmp(argv[index], "GMA3150")) { + *forced_chipset = CT_GMA3150; + } + else if (!strcmp(argv[index], "HDGraphics")) { + *forced_chipset = CT_HDGraphics; + } else { *forced_chipset = CT_UNKWN; }