Comments (11)
I compiled and used gvt-staging 4.15 kernel but now it's possible to just use mainline 4.16rc1 and newer kernels for dma-buf. I'm using GVT-patched QEMU 2.10 as well. I'm might try to see if I can port port it to QEMU 2.11.
BTW, it should be noted that Dma-Buf won't work until the guest driver has initialized. If the operating system and/or Intel graphics driver hasn't been installed yet on the guest, GVT won't work. You must use "-vga qxl" until the driver is installed and ready to roll. Even then, you will only see GVT work once Windows is booted to the login screen, when the graphics driver is initialized--it won't be during the QEMU POST process.
I wrote a script to automate the bridge network and UUID assignment but inside it also has the QEMU arguments I used. Here is the version I made for Windows 10 guests:
from gvt-linux.
@oscarbg The virtual graphics interface exposed by GVT to the guest seems to be limited to 1920x1200 resolution. However, it is possible to override the EDID display mode settings that the Intel driver exposes on a Windows guest with the Custom Resolution Utility found here:
https://www.monitortests.com/forum/Thread-Custom-Resolution-Utility-CRU
First, be sure your Linux host desktop is set to 4K (3840x2160) resolution then under 'Detailed resolutions', select the current listing and edit and change timing to LCD automatic and active resolution to 3840x2160. Afterwards restart the graphics driver with Restart64.exe. That should allow you to select 4K resolution from the display properties within Windows. On X11 Linux guests, you can use gtf and xrandr command tools to add a new custom resolution to the modeline list.
from gvt-linux.
How is this working? What is the qemu command-line you're using? I ask because under ubuntu with stable-4.14 and igvtg-qemu 2.10.0 stable, everything works, except that I get constant "cursor plane not initialized by guest" on seabios, with q35, and ovmf with q35, no matter what OS I use.
from gvt-linux.
Oh, ok. So if dma-buf won't work until booted into an OS with an updated driver, does this mean that we will never be able to see the POST using only the virtualized GPU? This would be bad news for us that run macOS or other OS's with proprietary drivers, that will not be updated to support this... For me, AppleIntelBDWGraphics.kext... well really AppleIntelBDWGraphicsFramebuffer.kext, as that handles the framebuffer....
UPDATE:
For Broadwell, AppleIntelBDWGraphics.kext, AppleIntelBDWGraphicsFramebuffer.kext - HD 6000, etc.
For Skylake, AppleIntelSKLGraphics.kext, AppleIntelSKLGraphicsFramebuffer.kext - HD 520, 530, etc
For Kaby Lake, AppleIntelKBLGraphics.kext, AppleIntelKBLGraphicsFramebuffer.kext - HD 630, etc
For Cannonlake (future according to naming convention, kexts dont exist yet) AppleIntelCNLGraphics.kext, AppleIntelCNLGraphicsFramebuffer.kext - ?
If this is updated to support Haswell Graphics, then AppleIntelHD5000Graphics.kext, AppleIntelFramebufferAzul.kext... - HD 4400, 4600, etc
from gvt-linux.
@XaeroVincent @newperson1746 I have one question: GVT-g seems from guide limited to max 1080p.. Is this info outdated, at least for latest hardware like Skylake? Does new dma_buf mode lift that restriction? I say because I have my system connected to a 4K Tv.. I reserve my only HDMI 2 input to discrete GPU so Intel HD 530 connected via HDMI 1.4 so is 30hz if full RGB but Intel Windows driver allows 4:2:0 color so still get 60hz yet @ 4:2:0.. sadly AFAIK Linux Mesa driver doesnโt allow 4:2:0 and Android x86 similarly.. I still would love 4K dma_buf output or at least 1440p and QEMU dma_buf is capable of emulating as HDMI and handling/displaying 4:2:0 modes?
Maybe my ignorance is big on this topic so sorry in advance..
from gvt-linux.
@XaeroVincent thanks will try it..
just to be sure I'm on good path, enabled VT-d on BIOS and edited grub flags as guide but doing:
dmesg |grep i915
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.16.0-041600rc1-generic root=UUID= ro quiet splash i915.enable_gvt=1 kvm.ignore_msrs=1 intel_iommu=on drm.debug=0 vt.handoff=7
[ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.16.0-041600rc1-generic root=UUID= ro quiet splash i915.enable_gvt=1 kvm.ignore_msrs=1 intel_iommu=on drm.debug=0 vt.handoff=7
[ 1.470762] i915 0000:00:02.0: Direct firmware load for i915/gvt/vid_0x8086_did_0x1912_rid_0x06.golden_hw_state failed with error -2
[ 2.210865] i915 0000:00:02.0: MDEV: Registered
[ 2.211484] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem
[ 2.237573] [drm] Finished loading DMC firmware i915/skl_dmc_ver1_27.bin (v1.27)
[ 3.005300] [drm] Initialized i915 1.6.0 20171222 for 0000:00:02.0 on minor 1
[ 5.316073] i915 0000:00:02.0: fb1: inteldrmfb frame buffer device
see this error:
Direct firmware load for i915/gvt/vid_0x8086_did_0x1912_rid_0x06.golden_hw_state failed with error -2
have to worry about?
or seeing
MDEV: Registered
is good enough..
from gvt-linux.
Just try it and see what happens.
from gvt-linux.
Yes.. really was going to sleep after long day.. and wanted to know if you,that get Oreo working, have this error in your dmesg logs..
from gvt-linux.
@XaeroVincent, this looks awesome! I'm curious about the Android itself. How did you manage to build 8.1 x86 target?
I tried android-x86 but I wasn't able to boot it as guest. Now, I'm building Intel Android-IA, we'll see.
Could you please give us more information about Android repo and target you used? Thank you!
from gvt-linux.
It's a pre-release android-x86 build. Google is your friend...
from gvt-linux.
OK, thank you for information.
from gvt-linux.
Related Issues (20)
- GVT-d not working on UHD 630
- GVT-g does not work in 5.19 HOT 1
- About iGPU's GVT-G Technical Support
- What branch to submit pull requests to? HOT 1
- GVT-d: No HDMI audio in guest-VM when iGPU passed through HOT 2
- /sys/devices/pci0000:00/0000:00:02.0/mdev_supported_types -- "No such file or directory" with 5.19.0-23-generic #24-Ubuntu HOT 2
- panic in intel_gvt_debugfs_clean starting VM HOT 2
- GVT-g crashes on Broadwell: *ERROR* [CRTC:45:pipe A] flip_done timed out HOT 2
- Segmentation fault on VM startup
- Intel 11th Generation Mobile Xeon GVT Disabled
- Gemini Lake support HOT 1
- Windows 10 VM refuses change resolution past 1024x768 using (i915-GVTg_V5_2) HOT 2
- GVT-g Ubuntu 20.04. HOT 2
- Windows 10 VM running BlueIris has igfx driver crash every few days. HOT 5
- IGD device 730e3d97-e78c-44c1-897f-2921d58bb4bb does not support host bridge access,legacy mode disabled
- GVT-g, qemu: eglCreateImageKHR failed HOT 2
- VM Device initialization failed in gvt-g
- i915 sends multiple "add" udev events for drm/card0 when GVT-g is used HOT 1
- [BUG] HD P630 Use GVT-g+DMA-BUF on Windows Guest exceptionally get two monitors HOT 2
- GVT-g on Raptorlake HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gvt-linux.