Skip to content

Virtual Machine does not maintain resolution at 1920x1080 after reboot or shutdown #59

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
strategicmaniac opened this issue Jan 12, 2022 · 56 comments

Comments

@strategicmaniac
Copy link

Restarting the VM does not maintain the intended resolution of 1920x1080p. Reinstalling does fix this issue, but I'm not keen on thrashing my SSD's life expectancy. I'd love to know how you managed to set the resolution because the only solution I found online was to use RDP. Obviously, that isn't what I'm looking for.

@HalfF0x
Copy link

HalfF0x commented Jan 12, 2022

It's possible this issue has been resolved in the closed tickets. I was looking at this myself. If you check in device manager and the hyper v display adapter is disabled, this is why it won't retain the 1080p resolution on restart. Enable this device and you will be able to change your resolution in the virtual machine without using parsec or RDP.

@jamesstringerparsec
Copy link
Owner

Don't enable the hyper-v adapter please, that's bad advice. @strategicmaniac Can you please screenshot your device manager display adapters of the VM when you connect to it via Parsec?

@HalfF0x
Copy link

HalfF0x commented Jan 12, 2022

Hi, @jamesstringerparsec, only suggested this as a previous user a few days ago had the same issue and found a fix for it themselves. Apologies for the mis-information team.
Screenshot_20220112-092606_Chrome

@lordofpc734
Copy link

I also have the same issue, at first I mitigated it by updating to drivers 497 but then after a few times it started happening again.
sometimes rebooting/shutdowns fixes it, often times it does not
image
When sorting by connection (second option in view menu), it used to show a subcategory or a subdevice under Parsec Virtual Display Adapter, when it worked in the proper resolution that is. now it does not
image
I also discovered that Generic PNP Monitor is missing

@Gravlok
Copy link

Gravlok commented Jan 12, 2022

Hi, @jamesstringerparsec, only suggested this as a previous user a few days ago had the same issue and found a fix for it themselves. Apologies for the mis-information team. Screenshot_20220112-092606_Chrome

The issue here is using RDP when connecting to the VM. Intended way is using Parsec (it's installed automatically for a reason...). It creates virtual monitor that can handle up to 4K @ 60FPS

@jamesstringerparsec
Copy link
Owner

I also have the same issue, at first I mitigated it by updating to drivers 497 but then after a few times it started happening again. sometimes rebooting/shutdowns fixes it, often times it does not image When sorting by connection (second option in view menu), it used to show a subcategory or a subdevice under Parsec Virtual Display Adapter, when it worked in the proper resolution that is. now it does not image I also discovered that Generic PNP Monitor is missing

Sign into Parsec, Close the Hyper-V connection window and connect to the machine with Parsec, does it work normally?

@lordofpc734
Copy link

Hi, by hyper V connection you mean, the viewport? If so, I did not use that at all, I started the VM by right clicking and pressing start. then I waited for the guest to show up in parsec client. I tried to avoid the HyperV viewport/connection as much as possible

@jamesstringerparsec
Copy link
Owner

jamesstringerparsec commented Jan 12, 2022 via email

@Gravlok
Copy link

Gravlok commented Jan 12, 2022

I'm having a similar issue. It looks like Parsec isn't creating this virtual monitor. There's no duplicate in display settings, and in device manager there's "Standard monitor other than PnP".

@jamesstringerparsec
Copy link
Owner

OK, when you open Parsec on the host are you seeing a yellow warning?

@Gravlok
Copy link

Gravlok commented Jan 12, 2022

image
Nope
EDIT:
What seems to be helping is temporarily enable Hyper V Video in Device manager. Resolution then changes to 1080p. After that I can disable Hyper V Video and 1080p resolution remains

@jamesstringerparsec
Copy link
Owner

jamesstringerparsec commented Jan 12, 2022

I want to fix this issue without enabling the hyper-v manager, please try quit the parsec app on the vm from the parsec tray, then open it again from the desktop icon. Do not use the restart option in the Parsec task tray. Then connect to the VM.

If you don't get a parsec virtual monitor, can you please visit C:\ProgramData\Parsec and look for
host_virtual_monitors = 1
host_privacy_mode = 1

Sorry, something went wrong.

@Gravlok
Copy link

Gravlok commented Jan 12, 2022

I assume I have to do it via RDP, right?
Did I mess up by manually reinstalling Parsec? Because there's no directory Parsec in C:\ProgramData
There is in AppData\Roaming however. config.txt doesn't contain these 2 params.

In log I found such entry

[D 2022-01-12 18:04:47] supdater_fetch: pservice.exe is up to date
[D 2022-01-12 18:04:48] supdater_fetch: parsecd.exe is up to date
[D 2022-01-12 18:05:17] stun4         = 52.86.26.213:3478
[D 2022-01-12 18:05:17] net           = BUD|::ffff:192.168.100.4|31211
[I 2022-01-12 18:05:18] Yeetgor#8246174 connected.
[D 2022-01-12 18:05:18] dxgi          = 1.5
[I 2022-01-12 18:05:18] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:18] dxgi          = 1.5
[I 2022-01-12 18:05:18] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:18] dxgi          = 1.5
[I 2022-01-12 18:05:18] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:18] dxgi          = 1.5
[I 2022-01-12 18:05:18] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:18] dxgi          = 1.5
[I 2022-01-12 18:05:19] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:19] dxgi          = 1.5
[I 2022-01-12 18:05:19] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:19] dxgi          = 1.5
[I 2022-01-12 18:05:19] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:19] dxgi          = 1.5
[I 2022-01-12 18:05:19] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:19] dxgi          = 1.5
[I 2022-01-12 18:05:19] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:20] dxgi          = 1.5
[I 2022-01-12 18:05:20] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:20] dxgi          = 1.5
[I 2022-01-12 18:05:20] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:20] dxgi          = 1.5
[I 2022-01-12 18:05:20] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:20] dxgi          = 1.5
[I 2022-01-12 18:05:20] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:20] dxgi          = 1.5
[I 2022-01-12 18:05:20] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:21] dxgi          = 1.5
[I 2022-01-12 18:05:21] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:21] dxgi          = 1.5
[I 2022-01-12 18:05:21] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:21] dxgi          = 1.5
[I 2022-01-12 18:05:21] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:21] dxgi          = 1.5
[I 2022-01-12 18:05:21] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:21] dxgi          = 1.5
[I 2022-01-12 18:05:21] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:22] dxgi          = 1.5
[I 2022-01-12 18:05:22] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:22] dxgi          = 1.5
[I 2022-01-12 18:05:22] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:22] dxgi          = 1.5
[I 2022-01-12 18:05:22] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:22] dxgi          = 1.5
[I 2022-01-12 18:05:22] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:22] dxgi          = 1.5
[I 2022-01-12 18:05:22] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:23] dxgi          = 1.5
[I 2022-01-12 18:05:23] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:23] dxgi          = 1.5
[I 2022-01-12 18:05:23] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:23] dxgi          = 1.5
[I 2022-01-12 18:05:23] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:23] dxgi          = 1.5
[I 2022-01-12 18:05:23] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:23] dxgi          = 1.5
[I 2022-01-12 18:05:23] FRAME: DXGI_ERROR_ACCESS_LOST
[D 2022-01-12 18:05:24] dxgi          = 1.5
[D 2022-01-12 18:05:24] format        = BGRA
[I 2022-01-12 18:05:24] * encode_init[121] = -15101
[I 2022-01-12 18:05:24] * amf_set_properties/AMF_VIDEO_ENCODER_NUM_GOPS_PER_IDR[142] = 5
[D 2022-01-12 18:05:24] encoder       = amd
[D 2022-01-12 18:05:24] codec         = h265
[D 2022-01-12 18:05:24] encode_x      = 1024
[D 2022-01-12 18:05:24] encode_y      = 768

@jamesstringerparsec
Copy link
Owner

jamesstringerparsec commented Jan 12, 2022 via email

@Gravlok
Copy link

Gravlok commented Jan 12, 2022

Yes, it was installed. However while troubleshooting myself I reinstalled it.

@jamesstringerparsec
Copy link
Owner

OK well that broke the virtual display driver.

Please reinstall Parsec, select the per-computer option.

When it has installed, sign in, then go to C:\ProgramData\Parsec and add the below two lines to the config.txt file. Reboot and connect via Parsec.

host_virtual_monitors = 1
host_privacy_mode = 1

@Gravlok
Copy link

Gravlok commented Jan 12, 2022

Ok, I've uninstalled Parsec and Parsec VDD, then rebooted the VM. Your scripts automagically installed both of them again. I signed in, then added those 2 lines (now there was a Parsec dir in C:\ProgramData). Rebooted again and connected via Parsec. Problem persists. I did notice however that those 2 lines went missing after reboot from config.txt. I've added them again and ticked "read-only" in file properties. Reboot later and effect was the same, 1024x768, Generic Non-PnP Monitor and 2 lines missing from config.txt file.

EDIT:
It appears that this huge "hidden" whitespace is somewhat important...
image

When I left it there, and just reconnected via parsec it worked! 1080p without fumbling with Hyper V Video!

@jamesstringerparsec
Copy link
Owner

ok, thats good info, I'll look into that, thanks

@lordofpc734
Copy link

image
No Generic PNP Monitor in device manager
host_virtual_monitors = 1
host_privacy_mode = 1
are in the config file. I tried to add that whitespace but I don't exactly know how long it is (if it even matters)
I am not sure how to quit Parsec while im connected to it. the VM seems to be behind a NAT

@Gravlok
Copy link

Gravlok commented Jan 12, 2022

Try to retrace my steps.

  • Connect via RDP/viewport,
  • Close and uninstall Parsec and Parsec VDD,
  • Reboot,
  • Connect again via RDP/viewport,
  • Wait for scripts to install Parsec & Parsec VDD,
  • Sign into Parsec,
  • Check for the 2 config lines in C:\ProgramData\Parsec\config.txt and add them if necessary (keep an eye out for that whitespace... I dunno, it also seems dumb reason to me),
  • Reboot,
  • Connect via Parsec
  • Profit?

@lordofpc734
Copy link

Try to retrace my steps.

  • Connect via RDP/viewport,
  • Close and uninstall Parsec and Parsec VDD,
  • Reboot,
  • Connect again via RDP/viewport,
  • Wait for scripts to install Parsec & Parsec VDD,
  • Sign into Parsec,
  • Check for the 2 config lines in C:\ProgramData\Parsec\config.txt and add them if necessary (keep an eye out for that whitespace... I dunno, it also seems dumb reason to me),
  • Reboot,
  • Connect via Parsec
  • Profit?

Are you sure the whitespace is not a coincidence? With enough restarts and shutdowns it seems to work eventually. Although unlikely.
This whitespace, do you know how many characters it's long?

@jamesstringerparsec
Copy link
Owner

jamesstringerparsec commented Jan 12, 2022 via email

@Gravlok
Copy link

Gravlok commented Jan 12, 2022

are in the config file. I tried to add that whitespace but I don't exactly know how long it is (if it even matters)

When you left this comment I hopped back onto VM and tried to copy the whole content of this file to paste it here but mysteriously the whitespace was gone... only a newline character was left after the last parameter. However, after this procedure I can connect to VM via Parsec and consistently get 1080p image (VM reboot, VM ON/OFF cycle, host reboot, host ON/OFF cycle). And, as expected, when connecting I can hear "device plugged in" jingle meaning that this virtual monitor Parsec was supposed to create was indeed created.

@lordofpc734
Copy link

I'll try that. One thing to note is that for me, this issue didn't occur the first few times when I shutdown/restarted
I'm having a hard time understanding why it would suddenly break like this.
One thing I wanted to ask is, Is there a downside to temporarily enabling then disabling the HyperV display in order to get the resolution fixed? Until the issue is resolved

@strategicmaniac
Copy link
Author

strategicmaniac commented Jan 13, 2022

host_virtual_monitors = 1
host_privacy_mode = 1

Seems to work after adding these lines in Parsec.

However, desktop resolution still is the default 1024x768 after disconnecting. @jamesstringerparsec might be able to close this issue at their discretion.

@jamesstringerparsec
Copy link
Owner

jamesstringerparsec commented Jan 13, 2022 via email

@Jim777PS3
Copy link

I want to fix this issue without enabling the hyper-v manager, please try quit the parsec app on the vm from the parsec tray, then open it again from the desktop icon. Do not use the restart option in the Parsec task tray. Then connect to the VM.

If you don't get a parsec virtual monitor, can you please visit C:\ProgramData\Parsec and look for host_virtual_monitors = 1 host_privacy_mode = 1

This solved the problem for me

@neegool
Copy link

neegool commented Jan 19, 2022

I tried out the config file changes above and at first it was working, but after I reconnected I get the following error on the vm side:
Screen Shot 2022-01-19 at 13 25 03

@jovaniedelacruz
Copy link

I verified my config file has those two lines, white space doesn't matter, and have also tested the Device Manager trick. Enabling, immediately after disabling the Hyper-V display adapter fixes the resolution lock. Had to DC from parsec and reconnect again. I also made sure to now view the VM within the host Hyper-V manager and made sure Enhanced Session was turned off. I think the Display Manager trick has to be done once every VM restart and then after that a Parsec reconnect should be perfect. This answered a lot of questions I had and remedied many headaches!

@mirobartovic
Copy link

mirobartovic commented Jun 10, 2022

Ok I think I found a workaround, the trick is to activate a virtual display before the parsec driver.

the VM is running windows 11 been access using windows 10.

All the steps on the VM:

  1. Connect (parsec / hyper-v).
  2. Download and install usbmmidd_2 : this is a virtual display that we can control, take a look at the instructions, pretty simple.
  3. Activate using "deviceinstaller64 enableidd 1": Now you will have a virtual monitor.
  4. Create a task on task manager to run a bat file/command activating the virtual monitor: "deviceinstaller64 enableidd 1" and set it to run on windows start up and admin privileges without the need of the user to be logged in (after creating the task check for advanced settings or something like that).
  5. Disable the driver display of hyper-v (if its not already) on device manager.
  6. Reboot VM
  7. On display settings, disable all monitors that are not using the parsec driver (tip: take a look at refresh rate, parsec is the only one that goes above 60).
  8. Just to be sure, reboot VM again to check if the settings are being saved.
  9. Have fun.

PS: even the option to use client resolution is working.

@jlarisch Thank you! This also makes Steam Remote Play usable. Without the virtual monitor, Steam Link uses only the 1024x768 resolution of the Microsoft Basic Display Adapter. But when I add a virtual monitor using the Amyuni driver and disable the default monitor, Steam Links works perfectly. I can even add custom resolutions in the virtual monitor driver's registry to match my iPad's 3:2 aspect ratio. @jamesstringerparsec Maybe you could include these steps in the readme, it took me whole day to find this solution :D.

@jlarisch
Copy link

jlarisch commented Jun 10, 2022

Ok I think I found a workaround, the trick is to activate a virtual display before the parsec driver.
the VM is running windows 11 been access using windows 10.
All the steps on the VM:

  1. Connect (parsec / hyper-v).
  2. Download and install usbmmidd_2 : this is a virtual display that we can control, take a look at the instructions, pretty simple.
  3. Activate using "deviceinstaller64 enableidd 1": Now you will have a virtual monitor.
  4. Create a task on Task Scheduler to run a bat file/command activating the virtual monitor: "deviceinstaller64 enableidd 1" and set it to run on windows start up and admin privileges without the need of the user to be logged in (after creating the task check for advanced settings or something like that).
  5. Disable the driver display of hyper-v (if its not already) on device manager.
  6. Reboot VM
  7. On display settings, disable all monitors that are not using the parsec driver (tip: take a look at refresh rate, parsec is the only one that goes above 60).
  8. Just to be sure, reboot VM again to check if the settings are being saved.
  9. Have fun.

PS: even the option to use client resolution is working.

@jlarisch Thank you! This also makes Steam Remote Play usable. Without the virtual monitor, Steam Link uses only the 1024x768 resolution of the Microsoft Basic Display Adapter. But when I add a virtual monitor using the Amyuni driver and disable the default monitor, Steam Links works perfectly. I can even add custom resolutions in the virtual monitor driver's registry to match my iPad's 3:2 aspect ratio. @jamesstringerparsec Maybe you could include these steps in the readme, it took me whole day to find this solution :D.

You are welcome my friend, enjoy ! And with this solution you can even connect to your device with the monitor off :)

@Katoru-Cattor
Copy link

Ok I think I found a workaround, the trick is to activate a virtual display before the parsec driver.
the VM is running windows 11 been access using windows 10.
All the steps on the VM:

  1. Connect (parsec / hyper-v).
  2. Download and install usbmmidd_2 : this is a virtual display that we can control, take a look at the instructions, pretty simple.
  3. Activate using "deviceinstaller64 enableidd 1": Now you will have a virtual monitor.
  4. Create a task on task manager to run a bat file/command activating the virtual monitor: "deviceinstaller64 enableidd 1" and set it to run on windows start up and admin privileges without the need of the user to be logged in (after creating the task check for advanced settings or something like that).
  5. Disable the driver display of hyper-v (if its not already) on device manager.
  6. Reboot VM
  7. On display settings, disable all monitors that are not using the parsec driver (tip: take a look at refresh rate, parsec is the only one that goes above 60).
  8. Just to be sure, reboot VM again to check if the settings are being saved.
  9. Have fun.

PS: even the option to use client resolution is working.

@jlarisch Thank you! This also makes Steam Remote Play usable. Without the virtual monitor, Steam Link uses only the 1024x768 resolution of the Microsoft Basic Display Adapter. But when I add a virtual monitor using the Amyuni driver and disable the default monitor, Steam Links works perfectly. I can even add custom resolutions in the virtual monitor driver's registry to match my iPad's 3:2 aspect ratio. @jamesstringerparsec Maybe you could include these steps in the readme, it took me whole day to find this solution :D.

You are welcome my friend, enjoy ! And with this solution you can even connect to your device with the monitor off :)

Possible to have a details step on the step 4? i having difficulties on that

@mirobartovic
Copy link

mirobartovic commented Aug 6, 2022

@Katoru-Cattor they meant Task Scheduler. Create new task, set it to run at Windows startup, write “deviceinstaller64 enableidd 1” as the program to start, and then in the advanced properties give it highest (admin) privileges. https://www.windowscentral.com/how-create-automated-task-using-task-scheduler-windows-10

@jlarisch
Copy link

@Katoru-Cattor they meant Task Scheduler. Create new task, set it to run at Windows startup, write “deviceinstaller64 enableidd 1” as the program to start, and then in the advanced properties give it highest (admin) privileges. https://www.windowscentral.com/how-create-automated-task-using-task-scheduler-windows-10

You are right! just updated my comment.

@Swany6mm
Copy link

Swany6mm commented Sep 9, 2022

Ok I think I found a workaround, the trick is to activate a virtual display before the parsec driver.

the VM is running windows 11 been access using windows 10.

Wanted to say another thanks. This is working for me now. Been fighting with this. One additional step I had to use was to check the box for "Use highest authority" due to the UAC popup I believe.

I've been fighting with this for almost a month and just found this thread. Thank you.

@jlarisch
Copy link

jlarisch commented Sep 9, 2022

Ok I think I found a workaround, the trick is to activate a virtual display before the parsec driver.
the VM is running windows 11 been access using windows 10.

Wanted to say another thanks. This is working for me now. Been fighting with this. One additional step I had to use was to check the box for "Use highest authority" due to the UAC popup I believe.

I've been fighting with this for almost a month and just found this thread. Thank you.

You are more than welcome, just edit my solution so another person wont have that problem :)

@Swany6mm
Copy link

Swany6mm commented Sep 9, 2022

Ended up having to do one other thing as it stopped working, but it was a Windows Task Scheduler issue - Ended up having to add a Trigger>At Startup, even though I had told the task to run when it starts up. Known thing with WTS. No one (that i've seen) has ever been able to epxlain why some have to add that extra trigger and others don't. I think it happens, well, because Microsoft ;)

Ah, I also did away with the bat file, told the task just to run the program directly, then put the switches in the arguments field.

@mirobartovic
Copy link

@jlarisch when I was installing multiple VM using the script, sometimes Parsec creates a permanent virtual Parsec monitor that is usable without active Parsec connection and I don’t need to create virtual monitor manually using usbmmidd driver and your how-to. Tried to replicate it, but it’s random. It looks like this is a paid Parsec feature but the installer bugs out once in a while and enables it for free.

@jlarisch
Copy link

@jlarisch when I was installing multiple VM using the script, sometimes Parsec creates a permanent virtual Parsec monitor that is usable without active Parsec connection and I don’t need to create virtual monitor manually using usbmmidd driver and your how-to. Tried to replicate it, but it’s random. It looks like this is a paid Parsec feature but the installer bugs out once in a while and enables it for free.

this is a new feature, in the feature lets hope we dont have to install the usbmmidd

@davide445
Copy link

davide445 commented Sep 27, 2022

I can confirm the trick of editing the guest Parsec config.txt file, adding the two lines, adding after these lines a long space, saving, exiting from Parsec, rebooting the VM, reconnecting with Parsec and setting the resolution from Parsec settings works.
Didn't needed to uninstall or reinstall anything.

@jrstarke
Copy link

OK well that broke the virtual display driver.

Please reinstall Parsec, select the per-computer option.

When it has installed, sign in, then go to C:\ProgramData\Parsec and add the below two lines to the config.txt file. Reboot and connect via Parsec.

host_virtual_monitors = 1
host_privacy_mode = 1

This solved it for me, so I went to thumbs up this. Turns out, I was the person that thumbs upped it previously, so me thumbs upping it unthumbs-upped it. Should this make it in the config.txt by default after setting up a new VM? It apparently didn't this time, or previously for me.

@diolegend
Copy link

host_virtual_monitors = 1
host_privacy_mode = 1

### It works !

@CarbonicKevin
Copy link

For those still having issues with this check what display your parsec is showing

for me by default it would launch and be stuck to the low-res generic non-pnp screen.

going into display settings to manually set the second virtual parsec screen as "my main screen", or simply making parsec display the virtual screen worked for me.

I'm using the following config.txt args:

host_virtual_monitors = 1
host_privacy_mode = 1

@S0P4
Copy link

S0P4 commented Jul 16, 2023

I ran into the same issue, i manage to fix it by updating the HiperV adapter

@somacoder
Copy link

This can be patched by adding the following code block to the end of .\User\Install.ps1

# usbmmidd_v2
if (Test-Path "C:\usbmmidd_v2")
{} else {
    Invoke-WebRequest "https://www.amyuni.com/downloads/usbmmidd_v2.zip" -OutFile "C:\usbmmidd_v2.zip"
    Expand-Archive "C:\usbmmidd_v2.zip" -DestinationPath "C:\"
    Remove-Item -Path "C:\usbmmidd_v2.zip" -Force
    Get-ChildItem -Path "C:\usbmmidd_v2\" -Recurse | Unblock-File
    schtasks /create /F /RU SYSTEM /SC ONLOGON /TN "DisplayInit" /TR "C:\usbmmidd_v2\usbmmidd.bat"
}

This downloads and creates a SYSTEM level task to initialize a usbmmidd Display at login.

At this point, login to Parsec. Upon restarting, you will automatically connect to this added display through Parsec at default 1920x1080.

@gitdunce
Copy link

gitdunce commented Feb 1, 2024

Ok, I've uninstalled Parsec and Parsec VDD, then rebooted the VM. Your scripts automagically installed both of them again. I signed in, then added those 2 lines (now there was a Parsec dir in C:\ProgramData). Rebooted again and connected via Parsec. Problem persists. I did notice however that those 2 lines went missing after reboot from config.txt. I've added them again and ticked "read-only" in file properties. Reboot later and effect was the same, 1024x768, Generic Non-PnP Monitor and 2 lines missing from config.txt file.

EDIT: It appears that this huge "hidden" whitespace is somewhat important... image

When I left it there, and just reconnected via parsec it worked! 1080p without fumbling with Hyper V Video!

This fixed it!

But why are there two monitors now?

@DatDuckSaysQuack
Copy link

I seem to be running into the same issue, however neither the "host_virtual_monitors = 1" and "host_privacy_mode = 1", nor the suggested usbmmidd_2 by jlarisch appear to work for me (I might have also messed up one of the steps due to incompetence, but I'm certain I followed the steps correctly)...
Can someone please specify what this "whitespace" actually is, other than the faint description of it being a "long space"? Is it a tab? Is it a double space? My Parsec's config file looks entirely different from the screenshot above....

@DatDuckSaysQuack
Copy link

DatDuckSaysQuack commented Mar 6, 2024

Ok, I've uninstalled Parsec and Parsec VDD, then rebooted the VM. Your scripts automagically installed both of them again. I signed in, then added those 2 lines (now there was a Parsec dir in C:\ProgramData). Rebooted again and connected via Parsec. Problem persists. I did notice however that those 2 lines went missing after reboot from config.txt. I've added them again and ticked "read-only" in file properties. Reboot later and effect was the same, 1024x768, Generic Non-PnP Monitor and 2 lines missing from config.txt file.
EDIT: It appears that this huge "hidden" whitespace is somewhat important... image
When I left it there, and just reconnected via parsec it worked! 1080p without fumbling with Hyper V Video!

This fixed it!

But why are there two monitors now?

Bump... this problem still persists... @gitdunce What does this whitespace look like? Can you paste it, so I can copy it into my Parsec file?

EDIT: Never mind, apparently Parsec completely renewed the whole config file and converted it into a .json, and the aforementioned virtual_monitors and privacy_mode already is included in said file. So why is this still happening on my end?

@amlan111
Copy link

Ok, I've uninstalled Parsec and Parsec VDD, then rebooted the VM. Your scripts automagically installed both of them again. I signed in, then added those 2 lines (now there was a Parsec dir in C:\ProgramData). Rebooted again and connected via Parsec. Problem persists. I did notice however that those 2 lines went missing after reboot from config.txt. I've added them again and ticked "read-only" in file properties. Reboot later and effect was the same, 1024x768, Generic Non-PnP Monitor and 2 lines missing from config.txt file.
EDIT: It appears that this huge "hidden" whitespace is somewhat important... image
When I left it there, and just reconnected via parsec it worked! 1080p without fumbling with Hyper V Video!

This fixed it!
But why are there two monitors now?

Bump... this problem still persists... @gitdunce What does this whitespace look like? Can you paste it, so I can copy it into my Parsec file?

EDIT: Never mind, apparently Parsec completely renewed the whole config file and converted it into a .json, and the aforementioned virtual_monitors and privacy_mode already is included in said file. So why is this still happening on my end?

Did you figure anything out? I see a parsec disk driver but not a virtual monitor.

@christophertindall
Copy link

Adding a fix I found to help a similar issue....

I could not keep a screen resolution of 1920x1200 on three monitors when connected through Parsec. One monitor would always default to 1920x1080 whenever Parsec was restarted. This happen when connecting from multiple different computers to the same host computer. Changing the client resolution settings to 'Use Client Resolution' or 'Keep Host Resolution' did not let the 1920x1200 setting to 'stick'. Making the change and restarting the host machine did not make it 'stick'. I had to change the resolution for that monitor every time Parsec was reconnected to the host. Reinstalling Parsec on the host and the client did not correct the problem.

The issue is the host was set to 30 FPS framerate. Changing the host settings to a framerate of 60 FPS corrected the issue.

If this is not the proper thread to report this issue, please let me know where I should report this. At a minimum, a warning should be displayed when changing the host setting to 30 FPS.

@Zora-Z0
Copy link

Zora-Z0 commented Apr 11, 2025

This seems to still be an issue as of 04/10/25 running version 150-98. It seems like whenever you reboot the machine or shut it down and power it back up it messes with the virtual display. Has anyone found a fix for this that doesn't involve installing a third party virtual driver other than parsec's?

@Gravlok
Copy link

Gravlok commented Apr 11, 2025

Drop Parsec and use Sunshine (server) & Moonlight (client).

@Zora-Z0
Copy link

Zora-Z0 commented Apr 11, 2025

Drop Parsec and use Sunshine (server) & Moonlight (client).

This doesn't really solve the issue that the VM is still stuck at 1024x768. Unless sunshine has some virtual display drivers as well?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests