Apakah mungkin untuk menetapkan lebih dari 256MB memori video di VirtualBox?

8

Saya mencoba menjalankan game di dalam tamu VBox dan membutuhkan memori 256MB. Namun ketika menetapkan memori 256MB di windows VBox menggunakan 3MB yang hanya menyisakan 253MB seperti yang dilaporkan oleh DXdiag di Windows 7 Apakah ada cara untuk melaporkan memori 256MB untuk membuat game berjalan? Apakah mungkin untuk meningkatkan memori VirtualBox melebihi 256MB atau menipu Windows7 untuk melaporkan lebih banyak memori daripada yang tersedia?

uri
sumber

Jawaban:

7

Saya telah melihat masalah pelaporan memori yang sama. Dengan 256MB dialokasikan, baik Windows 8.1 dan Windows 7 melaporkan ~ 255MB untuk saya. Anehnya, ketika diatur ke 128MB, keduanya melaporkan ~ 191MB. Jadi sepertinya ada masalah dengan driver video 3D VirtualBox, atau penghitungan beberapa memori akselerasi 3D salah (lebih lanjut tentang ini nanti). Windows XP Professional, yang menggunakan driver 3D yang berbeda, melaporkan 128.0MB pada 128MB dialokasikan. Menggunakan VBoxManageuntuk mengatur memori ke 256MB di XP memungkinkannya untuk mematahkan penghalang pengaturan GUI 128MB, dan melaporkan 256.0MB dalam dxdiag.

Memang, mungkin ada beberapa inefisiensi yang melekat pada Windows 7 dan 8.1, ketika saya menemukan laptop Dell Latitude dengan Win7 untuk melaporkan VRAM-nya ~ 4051MB (3.96GB), dan saya tidak percaya Intel akan memasukkan nomor aneh itu ke dalam shared memori grafis.

Untuk menjawab pertanyaan Anda secara langsung, saya tidak tahu tentang cara apa pun untuk memaksa VBox (atau driver 3D-nya) untuk melaporkan jumlah memori yang benar, dan saat ini tidak mungkin untuk mengatur VRAM yang dialokasikan untuk VM lebih tinggi dari 256MB. Menggunakan perintah VBoxManage modifyvm "Windows 7" --vram 1024menghasilkan:

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

dan pengaturan VRAM secara manual dalam file * .vbox menyebabkan VM macet saat startup atau tidak menerapkan pengaturan memori baru.

Berdasarkan pada fakta bahwa Anda mengatakan bahwa ini adalah permainan, saya akan menebak (perbaiki saya jika saya salah) bahwa itu adalah permainan yang berat 3D (seperti Portal, Borderlands, Half Life, Bioshock, Minecraft, dll. .) yang membutuhkan VRAM tambahan. Menurut tiket ini dan manual resmi, jika akselerasi 3D diaktifkan dan penambahan tamu Anda yang benar telah diinstal, perintah 3D OS tamu diteruskan langsung ke kartu video host, alih-alih meniru perangkat keras 3D, yang akan jauh lebih lambat. Jadi, jika gim ini membutuhkan memori untuk pemrosesan 3D, gim ini harus bekerja pada 256MB (atau mungkin bahkan lebih sedikit) karena komputer host Anda menangani beban 3D secara langsung, termasuk memori (menggunakan VRAM host). Pertengahan-2009 saya yang lama 13 "Macbook Pro memiliki 256MB VRAM, jadi mungkin komputer modern apa pun akan baik-baik saja.

Pertanyaan saya kemudian adalah: apakah Anda benar-benar mencoba menjalankan permainan? Jika belum, cobalah! Mungkin mengejutkan Anda. Jika Anda telah menjalankan game, dan itu memang error, kadang-kadang kesalahan game crash bukan yang paling deskriptif. Banyak game berasumsi bahwa Anda memiliki perangkat keras 3D yang kompeten dan mengatakan bahwa masalahnya mungkin karena masalah memori. Seorang teman saya mendapatkan kesalahan "mungkin kehabisan memori" dari game yang berjalan di Virtualbox, dan ternyata mereka tidak mengaktifkan akselerasi 3D perangkat keras dalam pengaturan VM, yang menyebabkan game mogok saat diluncurkan. Jika akselerasi 3D diaktifkan dan driver Direct3D diinstal dari tambahan tamu, coba driver Direct3D lainnya (ada dua untuk Windows 7). Driver WDDM eksperimental (yang memungkinkan dukungan Aero) tidak memerlukan booting ke safe mode untuk memulai, sedangkan driver Direct3D dasar melakukannya.

Jika Anda mengaktifkan akselerasi 3D, dan tidak ada driver Direct3D yang berfungsi, game Anda mungkin tidak mendukung / membutuhkan 3D dengan cara yang disediakan oleh VirtualBox. Anda dapat mencoba mengaktifkan akselerasi 2D (kadang-kadang ini membutuhkan penonaktifan 3D) untuk melihat apakah itu ada perubahan. Jika tidak ada perubahan, saya tidak dapat membantu Anda tanpa mengetahui apa permainannya dan apa pesan kesalahan (jika ada) yang terlihat.

Jika gim masih tidak berfungsi, dan tidak dapat menggunakan akselerasi 2D atau 3D, Anda mungkin perlu menggunakan kartu passthrough PCI (hanya host Linux) yang memiliki sumber daya yang dibutuhkan gim. Ini dirinci dalam Bab 9 dari manual Virtualbox. Ini adalah proses yang agak terlibat yang memerlukan perangkat keras tertentu, jadi lakukan riset pada sistem Anda untuk melihat apakah itu akan berfungsi. Anda perlu memeriksa kernel Linux, motherboard Anda, CPU Anda, dan kartu grafis Anda yang akan diteruskan.

computergeek125
sumber