Giter Club home page Giter Club logo

Comments (11)

XaeroVincent avatar XaeroVincent commented on July 24, 2024 1

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:

GVT-g

from gvt-linux.

XaeroVincent avatar XaeroVincent commented on July 24, 2024 1

@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.

newperson1746 avatar newperson1746 commented on July 24, 2024

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.

newperson1746 avatar newperson1746 commented on July 24, 2024

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.

oscarbg avatar oscarbg commented on July 24, 2024

@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.

oscarbg avatar oscarbg commented on July 24, 2024

@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.

XaeroVincent avatar XaeroVincent commented on July 24, 2024

Just try it and see what happens.

from gvt-linux.

oscarbg avatar oscarbg commented on July 24, 2024

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.

elewarr avatar elewarr commented on July 24, 2024

@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.

newperson1746 avatar newperson1746 commented on July 24, 2024

It's a pre-release android-x86 build. Google is your friend...

from gvt-linux.

elewarr avatar elewarr commented on July 24, 2024

OK, thank you for information.

from gvt-linux.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.