Not exactly. Let me clarify: XBMC has an option, called "Adjust display refresh rate to match video", which automatically sets the display refresh rate to be the same as, or the closest match for, the video fps. When enabled, XBMC will attempt to change the refresh rate to 23.9/24 Hz for film sources, 50 Hz for PAL sources, and 59.97/60 Hz for NTSC sources before the playback begins in order to avoid video judder. My problems happen when this option is enabled. When using the 22xx family of drivers everything works beautifully: the refresh rate is changed to match the video (confirmed by the OSD of both the receiver and the TV) and playback is flawless. I tried all frequencies that my TV supports: 23.97, 24, 50, 59.97 and 60 Hz. No problems there. When using the 23xx family of drivers I instantly get a blue screen (the one from my previous post) when starting video playback, except if the video fps matches *exactly* the current display refresh rate (so XBMC does not attempt to change it) or when the "Adjust display refresh rate" option is disabled. This leads me to believe that the problem lies on the refresh rate change mechanism. Note that I can change the refresh rate myself by using Intel's or Windows' control panel and that works. I also tried upgrading XBMC to the very latest bleeding edge SVN/GIT builds but I get the same results. Since this machine is a XBMC-dedicated HTPC, I did not try DirectX games or other programs to see if they crash too when changing refresh rate. I don't know if XBMC is using some fancy way of doing it which triggers a bug in the Intel driver (as far as I know, XBMC is supposed to use the DirectX API for that), but being open source it is very easy to find out by looking at the code. I'm a programmer myself so I can try to pinpoint the location. Like I mentioned in my previous posts, this is 100% reproducible in a clean machine with just XMBC and the Intel graphics drivers installed. It happens in Windows 7 RTM, SP1, and both 32-bit and 64-bit platforms. (I tried every combination possible because at first I thought I had a hardware problem until I had the idea of downgrading the drivers.) If you still have no luck reproducing this issue, I'll be glad to help; just let me know what you need me to do. Maybe I can send you some kernel crash dumps from my machine, or try running some other programs.
Yes. Using XBMC 10.1 (Dharma):
- Render method: Auto detect
- DXVA2: Off (hardware decoding not working, lots of artifacts when enabled)
- Adjust display refresh rate to match video: On
- Sync playback to display: On
- A/V sync method: Video clock (Resample audio)
- Alowed error in aspect ratio...: None
- Display 4:3 video as: Normal
- Video post-processing: Enabled for SD content
- Display mode: Full Screen #1
- Resolution: 1920x1080
- Use a fullscreen window: Off
- Blank other displays: Off
- Vertical blank sync: Always enabled
Like I described above, my system configuration is:
- CPU: Core i5 7500K
- MB: Asus P8H67-M PRO with B3 stepping
- RAM: Corsair 2x2GB DDR3
- BIOS/EFI: version 0902
- 128M share memory size for iGPU
- Stock speeds and voltages for CPU, iGPU and RAM
- I'm booting via BIOS, not EFI
- OS: Windows 7 Ultimate 64-bit SP1 fully patched
- HDMI connection to Denon AVR-1911, in turn connected via HDMI to Panasonic TX-P50VT20E
- System stable when running Prime95 for hours; temperatures never go above 50 degrees celsius
When I was troubleshooting this issue for the first time, I played with the settings for hours and I found out that in my machine the only setting that made any difference was "Adjust display refresh rate to match video". If it is set to "on" and I use driver 2321 or later, then no matter what the other settings are set to, I always get the the blue screen and STOP error as soon I start the video playback; if I just change the aforementioned setting to "off" then it works. With driver 2291 everything just always works.
Something must have changed between driver versions 2291 and 2321 that broke the refresh rate change. If it helps, I took a look in XBMC source code and it seems that XBMC calls IDirect3DDevice9Ex::ResetEx():
I don't know if it helps or if is has any relevance, but I can make a dump and provide the EDID information being sent by the receiver.
Just a tad more information: I've backed out the driver update and am now running version 188.8.131.526. With this version I have no BSOD. The whole reason I upgraded drivers was to see if I could get better screen performance when watching HD video where large pan is involved. But I will take the old version of the driver without the BSOD.
My system has the following:
MB: BIOSTAR TH67+ LGA 1155 Intel H67 HDMI SATA 6Gb/s USB 3.0 Micro ATX Intel Motherboard
CPU: Intel Core i3-2100 Sandy Bridge 3.1GHz 2 x 256KB L2 Cache 3MB L3 Cache LGA 1155 65W Dual-Core Desktop Processor BX80623I32100
Running Windows 7 SP1 Home Premium with all updates installed.
More info available on request.
I am also having the same problem with the newest driver BSOD referencing igdkm64.sys. Rolling back to an older driver cures the problem. This is on two different i5 2nd gen machines running HDMI. Thay are ASUS boards with the H67 chipset.
My two older machines running Gigabyte boards with the H55 chipset are fine with the new driver. Alll four are HTPC units to HD displays via HDMI.
Same problem here as well. I built this PC to re-sell to a friend and had installed/updated/configured it all on a VGA port @ 1280 X 1024. Handed it off to my buddy, who was eagerly anticipating receipt of the PC for over a week. He takes it home that night and connects to his HDTV via HMDI port and BAM! BSOD, igdkmd64.sys is the culprit. He calls me with dread in his voice, "It won't work!" Arg! Going over tonight to downgrade driver. I will follow this thread for updates.
ASUS P8H67-M PRO Motherboard (0902 BIOS)
Intel Core i5 2300 (2nd Gen.)
Windows 7 Home Premium x64 (SP1, fully updated as of 05/10/11)