Hi! Running gentoo on an Asus R2H UMPC I get a blank screen with 2.0.0. (1.7.4 runs fine on the panel, although I get segfaults when trying dual head configs - which I'd really like to do) Panel error comes with and without DRI. kernel 2.6.22-rc2 xorg-server 1.2.0-r3 xf86-video-intel-2.0.0 Card is: 00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 04) (prog-if 00 [VGA]) Subsystem: ASUSTeK Computer Inc. Unknown device 12f7
Created attachment 10134 [details] simple conf with dri disabled
Created attachment 10135 [details] Xorg.0.log
same thing with today's git intel driver and xorg-server-1.3.0.0
Looks like a neat little machine, too bad we can't properly detect the panel. You could try modifying i830_lvds.c to force it to grab the current panel mode (add "|| 1" or similiar to the end of the line that says: if (dev_priv->panel_fixed_mode == NULL) { or add a new quirk for your device in i830_quirks.c if you can. Hopefully that'll get the new driver up and running for you.
Uli, any problem in trying comment#4?
Jesse, are you able to add the quirk?
Uli, can you try running the attached program on your system (make sure you have ACPI enabled in your kernel). If it works, it means we just need to add ACPI EDID detection to the X server, otherwise something else is going on... Also, please attach the output of 'ls -R /proc/acpi' from your system. Sorry this one has taken so long to work out. Thanks, Jesse
since bz doesn't seem to want to let me attach the file, here it is inline. /* * Copyright (c) 2007 Intel Corporation, All rights reserved * Jesse Barnes <jesse.barnes@intel.com> */ #include <fcntl.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #define EDID_LEN 128 #define EDID_HEADER_LEN 8 static const char edid_header[] = { 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00 }; static char *acpi_get_edid(char *path) { int fd, ret; char *edid; edid = malloc(EDID_LEN); if (!edid) return NULL; fd = open(path, O_RDONLY); if (fd == -1) return NULL; ret = read(fd, edid, EDID_LEN); if (ret != EDID_LEN) { close(fd); return NULL; } close(fd); return edid; } static void validate_edid(char *edid) { if (memcmp(edid, edid_header, EDID_HEADER_LEN) == 0) printf("Found valid EDID. \n"); else printf("EDID data invalid\n"); } int main(void) { struct stat stat_buf; char *edid; if (!stat("/proc/acpi/video/VID/LCD0", &stat_buf)) { edid = acpi_get_edid("/proc/acpi/video/VID/LCD0/EDID"); if (edid) validate_edid(edid); } if (!edid && !stat("/proc/acpi/video/VID1/LCD0", &stat_buf)) { edid = acpi_get_edid("/proc/acpi/video/VID1/LCD0/EDID"); if (edid) validate_edid(edid); } return 0; }
Uli, any chance you can try out the program in this bug? Thanks, Jesse
Reassigning to Hong as I think he'll take care of this one along with the rest of the LVDS initial mode bugs.
uli, if no response from you, we will have to close this bug...would you please test as comment# 7 and comment# 8?
It's a shame if we can't find a tester for this one... I suspect several laptops have similar problems, and it would be good if we could figure out how to get EDID data from ACPI to make them work. Oh well I guess the code is easy enough to put together if we end up seeing something similar in the future.
last ping...
reject this bug due to no response from bug reporter..
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.