Summary: | intel-driver-2.0.0 with 915GM, panel stays black, "Couldn't detect panel mode" | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Uli <a.sporto+bzilla> | ||||||
Component: | Driver/intel | Assignee: | Hong Liu <hong.liu> | ||||||
Status: | RESOLVED INVALID | QA Contact: | Xorg Project Team <xorg-team> | ||||||
Severity: | normal | ||||||||
Priority: | medium | CC: | jbarnes | ||||||
Version: | 7.2 (2007.02) | ||||||||
Hardware: | x86 (IA32) | ||||||||
OS: | Linux (All) | ||||||||
Whiteboard: | |||||||||
i915 platform: | i915 features: | ||||||||
Bug Depends on: | |||||||||
Bug Blocks: | 13027 | ||||||||
Attachments: |
|
Description
Uli
2007-05-30 04:23:23 UTC
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. 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.