![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks. |
| |||||||
![]() |
| |
| | #1 (permalink) |
| | Intel 82852/82855 GM/GME Display I have a Toshiba Satellite R15-S822 Tablet Notbook with the Intel 82852/82855 GM/GME graphics card. Once I upgraded to Vista Prem. I was no longer able to connect to a data projector or external monitor in mirror mode. I can extend across either the data projector or the external monitor. Prior to Vista all I had to do was press Fn+F5 to cycle through different display modes. I have checked with Intel and they do not have a Vista ready update for the Intel 82852/82855 GM/GME. Has anyone else had this problem? The Captain |
My System Specs![]() |
| | #2 (permalink) |
| | Re: Intel 82852/82855 GM/GME Display I have the same problem. I got a new monitor to use in extended desktop mode and the computer does not even recognize it is there. The only thing I can do so far is to use it as my primary monitor along with the laptop one. If I find a workaround until they release a driver update (I am not sure if they will do so), I will post it here to let you know. -- orescb ------------------------------------------------------------------------ orescb's Profile: http://forums.techarena.in/member.php?userid=30722 View this thread: http://forums.techarena.in/showthread.php?t=746104 http://forums.techarena.in |
My System Specs![]() |
| | #3 (permalink) |
| | Re: Intel 82852/82855 GM/GME Display Rotfl, So I sat Down with my newly installed vista prepared to watch my new movie when bam, I realize there's no output option for my dual monitor display!!! WTF MICROSOFT i Screamed! After a quick try at the old driver i got the Your OS is not supported bull crap. Anyways I smoked one and it came to me... Run in Compatibility mode for Windows XP SP2 and restart..... GOLDEN now the easyizt way is to right click the destop and hover graphics options TA DAAAA! Dual output WORKS!!!! -- psynetkilla ------------------------------------------------------------------------ psynetkilla's Profile: http://forums.techarena.in/member.php?userid=48705 View this thread: http://forums.techarena.in/showthread.php?t=746104 http://forums.techarena.in |
My System Specs![]() |
| | #4 (permalink) |
| Vista Business 32 | Re: Intel 82852/82855 GM/GME Display I also tried to install the XP-driver some month ago, but it didn't work. I found a solution for working with internal and external display. With this solution, it is possible to switch between internal and external display as primary screen. Mirror mode is not available. The solution consists of a visual basic script that I wrote and that changes the Windows registry. The registry settings used by the driver are similar to the ones in Windows XP. I have a 855-chipset and it works on my computer. I hope that it also works with other chipsets or is extendable to do so. If you find out how to improve it you may do so. Please read the instructions at the top of the code before experimenting with it. Code: ' THIS SCRIPT IS EXPEREMENTAL. USE IT AT YOUR OWN RISK AND
' MAKE SURE THAT YOU UNDERSTAND WHAT IT DOES AND THAT YOU ARE
' ABLE TO RECOVER YOUR COMPUTER IN CASE OF A BREAKDOWN (FOR
' EXAMPLE A BLANK SCREEN)!
' This script chooses a screen as primary screen on Windows Vista
' with the Intel 82852/82855 GM/GME graphics driver (included in Vista)
' when you have an Intel 855GM/GME-chipset in your notebook.
' This is not natively supported by the driver in a way that
' can be used by normal users. I suppose that the driver doesn't
' offer the interfaces that are used by the Vista user interface
' to do this task. The driver is also not shipped with a special
' tool to change the primary screen. It seems that there are no
' other drivers available for Vista.
'
' The script also adjusts the screen resolution for the new primary
' screen.
'
' It is written in Visual Basic Script. It only works if scripting
' is not disabled on your Windows - system.
'
' The primary screen is chosen by changing the value of
' HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
' Services\ialm\Device0\Display1_UID1
' in the registry. The following values are used:
' internal screen as primary: 00 00 04 04
' external screen as primary: 00 00 00 01
' It is possible that these values won't work for you. They
' could instead result in a blank screen. It is at least no bad
' idea to find out the current value in your registry. It is
' also recommended to make the first test with the /test - parameter.
' It is possible that this script also works with similar chipsets
' from Intel and that only the registry value is different.
'
' The script uses the file ResSwitch.exe which has to be in the
' same directory as this script. ResSwitch.exe is part of
' the small freeware tool QRes which can be downloaded here:
' http://www.naughter.com/qres.html
'
' This script is meant to be saved in a file called
' setPrimaryScreen.vbs. Make sure that no line breaks
' are added.
'
' The necessary command line - parameters are displayed when starting the
' script. It can also be started by a shortcut on your desktop.
' The script needs privileges to change the registry value mentioned
' above. The easiest way to achieve this is to run it as administrator.
' A shortcut could have the following target:
' %SYSTEMROOT%\system32\wscript.exe %SYSTEMROOT%\setPrimaryScreen.vbs ...
' If you do it this way (with wscript.exe) you are able to run it as
' administrator, but you will have to copy ResSwitch.exe to
' %SYSTEMROOT%\system32\
'
' Note: The error codes given back by the registry manipulation -
' operations that this script uses are not always helpful.
' used registry values (REG_BINARY), could be different for your computer:
Dim internalScreenRegistryValue, externalScreenRegistryValue
internalScreenRegistryValue = Array(0,0,4,4) ' in regedit: 00 00 04 04
externalScreenRegistryValue = Array(0,0,0,1) ' in regedit: 00 00 00 01
' be careful when copying values from regedit, I am not 100% sure,
' but I think that the hex-numbers in regedit (groups of two digits)
' have to be converted to integers which can be done with windows-
' calculator by converting from hex to dec
' ------- Don't change the following unless you are able to -------
' ------------ write scripts with Visual Basic Script! ------------
Dim errorCode
' validation of user input:
Dim usageMessage
usageMessage =_
"Please use this script in the following format:"&vbNewLine&_
" "&WScript.ScriptName&" primaryScreen width height "&_
"[/test]"&vbNewLine&_
vbNewLine&_
"primaryScreen has to be replaced by internal or external. "&_
"width and height are the resolution for the primary "&_
"screen. The parameter /test is optional. If it is used "&_
"the script tries to change the registry value back to it's "&_
"original value at the end (after 15 seconds)."&vbNewLine&_
vbNewLine&_
"Examples:"&vbNewLine&_
" "&WScript.ScriptName&" external 1280 1024"&vbNewLine&_
" "&WScript.ScriptName&" internal 1024 768"&vbNewLine&_
" "&WScript.ScriptName&" internal 1024 768 /test"&vbNewLine&_
vbNewLine&_
"The script has done nothing. Please start it again."
If ( WScript.Arguments.Count < 3 ) Then
WScript.Echo(usageMessage)
WScript.Quit(-1)
Else
If ( _
Wscript.Arguments(0) <> "external" _
And _
Wscript.Arguments(0) <> "internal" _
) _
Or _
( Not isNumeric(Wscript.Arguments(1)) ) _
Or _
( Not isNumeric(Wscript.Arguments(2)) ) Then
WScript.Echo(usageMessage)
WScript.Quit(-1)
End If
End If
' check if ResSwitch.exe is present:
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FileExists("ResSwitch.exe") Then
WScript.Echo(_
"The file ResSwitch.exe is not present in the directory where this "&_
"script is located. ResSwitch.exe is part of the "&_
"small freeware tool QRes. You can download it here:"&vbNewLine&_
" http://www.naughter.com/qres.html"&vbNewLine&vbNewLine&_
"The script is aborted. Nothing was changed.")
WScript.Quit(-1)
End If
Dim testMode
testMode = false
If WScript.Arguments.Count > 3 Then
If Wscript.Arguments(3) = "/test" Then
testMode = true
End If
End If
' choose code that will be set in registry
' depending on the selected primaryScreen:
Dim displayCode
If Wscript.Arguments(0) = "external" Then
displayCode = externalScreenRegistryValue
Else
If Wscript.Arguments(0) = "internal" Then
displayCode = internalScreenRegistryValue
End If
End If
' if test-parameter given, save current registry value:
If testMode Then
Dim originalDisplayCode
errorCode = getRegValue(originalDisplayCode)
if errorCode <> 0 Then
WScript.Echo("The current registry value couldn't be read for "&_
"later restoring (necessary for test-mode). "&_
"The error code is "&CStr(errorCode)&". You can try "&_
"to google for WbemErrorEnum and look the error code "&_
"up. The script is aborted. Nothing was changed.")
WScript.Quit(-1)
End If
End If
' set value in registry to change primary screen:
errorCode = setRegValue(displayCode)
if errorCode <> 0 Then
Dim errorMsg
errorMsg =_
"An error occured during changing the registry value. "&_
"The error code is " & CStr(errorCode) & ". You can try to "&_
"google for WbemErrorEnum and look the error code up. "&_
"The script is aborted. It is not 100% sure if the registry "&_
"is unchanged. Possible changes are not applied until "&_
"display settings like resolution are changed or the "&_
"computer is restarted."
If testMode Then
errorMsg = errorMsg &_
" The original registry value was "&_
regValueToStr(originalDisplayCode)&". "&_
"You can use regedit to verify that the registry value is still "&_
"the original value and change it manually if it is not. "&_
"You will find it here: HKEY_LOCAL_MACHINE\SYSTEM\"&_
"CurrentControlSet\Services\ialm\Device0\Display1_UID1"
End If
WScript.Echo(errorMsg)
WScript.Quit(-1)
End If
' change resolution (this will also apply registry changes):
errorCode = changeScreenResolution(Wscript.Arguments(1),Wscript.Arguments(2))
if errorCode <> 0 Then
WScript.Echo("An error occured during changing the resolution. "&_
"The error code returned by ResSwitch.exe is " &_
CStr(errorCode) &_
". The registry value was changed, but this change isn't "&_
"applied until display settings like resolution are "&_
"changed or the computer is restarted. If the script "&_
"was started in test-mode the registry value will be "&_
"changed back to the original value.")
End If
' if test-parameter given, change registry value back to original value
' and apply it by changing screen resolution again after 15 seconds:
If testMode Then
WScript.sleep(15000)
errorCode = setRegValue(originalDisplayCode)
If errorCode <> 0 Then
WScript.Echo(_
"An error occured during changing the registry value "&_
"back to the original value. I am very sorry. "&_
"The error code is " & CStr(errorCode) & ". You can try to "&_
"google for WbemErrorEnum and look the error code up. "&_
"The original registry value was "&_
regValueToStr(originalDisplayCode)&". You "&_
"can use regedit to change the registry value back "&_
"to the original value. "&_
"You will find it here: HKEY_LOCAL_MACHINE\SYSTEM\"&_
"CurrentControlSet\Services\ialm\Device0\Display1_UID1")
WScript.Quit(-1)
End If
errorCode = changeScreenResolution(_
Wscript.Arguments(1),Wscript.Arguments(2))
If errorCode <> 0 Then
WScript.Echo(_
"An error occured during changing the resolution. "&_
"The error code returned by ResSwitch.exe is "&CStr(errorCode)&_
". The registry value was changed back to it's original value, "&_
"but this change isn't applied until display settings like "&_
"resolution are changed or the computer is restarted.")
WScript.Quit(-1)
End If
WScript.Echo("The registry value was changed back to it's original "&_
"value.")
End If
' ------- subroutines with the most important code: -------
' changes screen resolution, width and height have to be numeric,
' function returns an error code, 0 means success
Function changeScreenResolution (width, height)
' starts ResSwitch.exe as new process and waits for it to finish
Set oShell = CreateObject("WScript.Shell")
changeScreenResolution = oShell.run (_
"ResSwitch.exe /WIDTH:" & CInt(width) &_
" /HEIGHT:" & CInt(height) &_
" /RESET", 0, true)
End Function
' reads value of HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
' Services\ialm\Device0\Display1_UID1 from registry and stores
' it in parameter value, value is of type uint8 value[] (REG_BINARY-
' representation), function returns an error code, 0 means success
Function getRegValue(ByRef value)
Const HKEY_LOCAL_MACHINE = &H80000002
Set objRegistry = GetObject("Winmgmts:root\default:StdRegProv")
getRegValue = objRegistry.GetBinaryValue(_
HKEY_LOCAL_MACHINE,_
"SYSTEM\CurrentControlSet\Services\ialm\Device0",_
"Display1_UID1",_
value)
End Function
' sets HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
' Services\ialm\Device0\Display1_UID1 to value,
' value is of type uint8 value[] (REG_BINARY-representation),
' function returns an error code, 0 means success
Function setRegValue(value)
Const HKEY_LOCAL_MACHINE = &H80000002
Set objRegistry = GetObject("Winmgmts:root\default:StdRegProv")
setRegValue = objRegistry.SetBinaryValue(_
HKEY_LOCAL_MACHINE,_
"SYSTEM\CurrentControlSet\Services\ialm\Device0",_
"Display1_UID1",_
value)
End Function
' gets parameter value of type uint8 value[] representing value in registry,
' returns a string that represents the value as hex-numbers,
' the string-representation should be the same as REG_BINARY in regedit
Function regValueToStr(value)
Dim result
Dim currentByte
result = ""
For i=0 To UBound(value)
currentByte = CStr(Hex(value(i)))
If value(i) < 17 Then
currentByte = "0" & currentByte
End If
result = result & " " & currentByte
Next
result = LTrim(result)
regValueToStr = result
End Function
|
My System Specs![]() |
![]() |
| Thread Tools | |
| |
Similar Threads | ||||
| Thread | Forum | |||
| Dual monitor support on Intel 82852/82855? | Vista hardware & devices | |||
| Intel(R) 82852/82855 GM/GME Graphics Controller | Vista music pictures video | |||
| Dual monitor support on Intel 82852/82855? | Vista hardware & devices | |||
| Intel 82852/82855 has 0MB of memory on Windows Vista | Vista hardware & devices | |||
| Intel 82852/82855 appears with 0MB Video memory | Vista hardware & devices | |||