Czy w VirtualBox można przypisać więcej niż 256 MB pamięci wideo?


8

Próbuję uruchomić grę w gościu VBox i wymaga ona 256 MB pamięci. Jednak przy przypisywaniu 256 MB pamięci w oknach VBox używa 3 MB, co pozostawia tylko 253 MB, jak zgłosiła DXdiag w systemie Windows 7 Czy istnieje sposób zgłoszenia 256 MB pamięci, aby gra mogła działać? Czy można zwiększyć pamięć VirtualBox powyżej 256 MB lub oszukać Windows7, aby zgłosić więcej pamięci niż jest dostępne?

Odpowiedzi:


7

Widziałem ten sam problem z raportowaniem pamięci. Przy przydzielonych 256 MB zarówno Windows 8.1, jak i Windows 7 zgłaszają dla mnie ~ 255 MB. O dziwo, gdy ustawione na 128 MB, oba zgłaszają ~ 191 MB. Wygląda na to, że może występować problem ze sterownikiem wideo VirtualBox 3D lub nieprawidłowo zlicza część przyspieszonej pamięci 3D (więcej na ten temat później). Windows XP Professional, który korzysta z innego sterownika 3D, zgłasza 128.0 MB przy przydzielonym 128 MB. Użycie VBoxManagedo ustawienia pamięci na 256 MB w XP pozwala przełamać barierę ustawień GUI 128 MB i zgłasza 256.0 MB w dxdiag.

To prawda, że ​​w Windows 7 i 8.1 może występować nieodłączna nieefektywność, ponieważ znalazłem laptopa Dell Latitude z Win7, który zgłosił swoją pamięć VRAM jako ~ 4051 MB (3,96 GB) i nie mogę uwierzyć, że Intel wyrzuciłby tę dziwną liczbę do udostępnionego pamięć graficzna.

Aby odpowiedzieć bezpośrednio na twoje pytanie, nie wiem, w jaki sposób zmusić VBox (lub jego sterownik 3D) do zgłoszenia prawidłowej ilości pamięci, a obecnie nie jest możliwe ustawienie VRAM przydzielonej dla maszyny wirtualnej większej niż 256 MB. Użycie polecenia VBoxManage modifyvm "Windows 7" --vram 1024daje:

VBoxManage: error: Invalid VRAM size: 1024 MB (must be in range [1, 256] MB)
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component SessionMachine, interface IMachine, callee nsISupports
VBoxManage: error: Context: "COMSETTER(VRAMSize)(ValueUnion.u32)" at line 570 of file VBoxManageModifyVM.cpp

i ręczne ustawienie VRAM w pliku * .vbox powoduje awarię maszyny Wirtualnej podczas uruchamiania lub nie stosuje nowego ustawienia pamięci.

Opierając się na fakcie, że mówisz, że jest to gra, zgadnę (popraw mnie, jeśli się mylę), że jest to gra ciężka w 3D (taka jak Portal, Borderlands, Half Life, Bioshock, Minecraft itp. .), która wymaga dodatkowej pamięci VRAM. Zgodnie z tym biletem i oficjalną instrukcją, jeśli akceleracja 3D jest włączona i zainstalowane są prawidłowe dodatki gości, polecenia 3D systemu gościa są przekazywane bezpośrednio na kartę graficzną hosta, zamiast emulować sprzęt 3D, co byłoby znacznie wolniejsze. Jeśli więc gra potrzebuje pamięci do przetwarzania 3D, powinna działać na 256 MB (a może nawet mniej), ponieważ komputer hosta bezpośrednio obsługuje ładowanie 3D, w tym pamięć (za pomocą pamięci VRAM hosta). Mój stary 13-calowy Macbook Pro z połowy 2009 roku miał 256 MB pamięci VRAM, więc prawdopodobnie każdy nowoczesny komputer poradziłby sobie dobrze.

Moje pytanie brzmi zatem: czy rzeczywiście próbowałeś uruchomić grę? Jeśli nie masz, spróbuj! To może cię zaskoczyć. Jeśli gra została uruchomiona i wystąpił błąd, czasami błędy awarii gry nie są najbardziej opisowe. Wiele gier zakłada, że ​​masz właściwy sprzęt 3D i mówisz, że problemem może być problem z pamięcią. Mój znajomy dostał błąd „prawdopodobnie zabrakło pamięci” z gry uruchomionej na Virtualbox, i okazało się, że nie włączyli sprzętowej akceleracji 3D w ustawieniach VM, co spowodowało awarię gry podczas uruchamiania. Jeśli akceleracja 3D jest włączona i sterownik dodatków Direct3D jest zainstalowany z dodatków gości, wypróbuj inny sterownik Direct3D (istnieją dwa dla systemu Windows 7). Eksperymentalny sterownik WDDM (który włącza obsługę Aero) nie wymaga rozruchu do trybu awaryjnego, aby uruchomić, podobnie jak podstawowy sterownik Direct3D.

Jeśli masz włączoną akcelerację 3D i żaden sterownik Direct3D nie działa, twoja gra może nie obsługiwać / potrzebować 3D w sposób zapewniany przez VirtualBox. Możesz spróbować włączyć przyspieszenie 2D (czasami wymaga to wyłączenia 3D), aby zobaczyć, czy to jakaś zmiana. Jeśli nie ma zmian, nie mogę ci pomóc, nie wiedząc, co to jest gra i jakie (jeśli w ogóle) komunikaty o błędach są widoczne.

Jeśli gra nadal nie działa i nie może korzystać z akceleracji 2D lub 3D, może być konieczne użycie karty graficznej PCI z przepustowością (tylko hosty Linux), która ma zasoby, których potrzebuje gra. Jest to szczegółowo opisane w rozdziale 9 instrukcji Virtualbox. Jest to nieco zaangażowany proces, który wymaga określonego sprzętu, więc przeszukaj system, aby sprawdzić, czy zadziała. Musisz sprawdzić jądro Linux, płytę główną, procesor i kartę graficzną, które zostaną przesłane.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.