USB Passthrough With HOST DEVICE

Hey, I do have A Mechanical keyboard form XPG, And This keyboard has a software on Windows but not for LINUX, I’ve tried installing that XPG PRIME software with WINE, but i got failed/error. I know there is virtualbox/vmware/kvm that support USB Passthrough and i’ve tried, In result its works OS recognize my keyboard MODEL, But when i do that in the HOST machine its not working, All of the key press going into VM, So i came here to know ( HOW I CAN ENABLE USB ON BOTH VM AND HOST PC? )

You cannot.

If you pass an usb device into the vm - it stops working on the host.

But this is a keyboard, So anything i have to do for work with QEMU/KVM?

XPG Prime is only a software to set per key RGB lighting. Has nothing to do with the keyboard actually working. Is the usb keyboard not functioning on vm?

XPG Prime has some specile effets such as MUSIC sync and many more and it does support Chroma RGB, I can’t do everything with my keyboards build in shotcuts. And yes USB works in the VM but issue with i want to configue my keyboard in the VM and i want to use it on HOST. without that keyboard software running i can’t use specile effets that i want.

( what i want is - I will install windows 10 on VM and i will configue that software too then i want to use it on my LINUX HOST, without that software effets will not work so i will run windows in my background all the time if needed ! )

Good luck!

1 Like

It is still not available in linux yet? it should to be an option in the KVM.

What should be an option in KVM?

QEMU/KVM already is most advanced VM TOOL, but it does not have an option to like what i want ( passthough an usb keyboard or drive with HOST pc access ) something like 2 terminal side by side in one pc.

I don’t use QEMU KVM. I personally don’t like it. I use vmware pro.

Does VMware has this feature ? And how VMware performing compare to the QEMU/KVM? And why you dont like QEMU/KVM?

I don’t know i just use it. I don’t like qemu because it doesn’t set resolution properly on all installs. I don’t want to figure it out. I just want to use it. vmware just works for me. It’s easier, less graphics issues. :man_shrugging:

1 Like

Okay, Thanks for replying, Now I do have to wait if someone know how to do that.

https://www.linux-kvm.org/page/USB_Host_Device_Assigned_to_Guest

Okay i will see that tutorial. BTW do you use WINE/BOTTLES? It is alternative plan to do, I’ve tried that but i got some weird errors XPG prime app installed fine but i can’t open after install i got errors.

0x00000141f92ffe xpg-prime+0x1f92ffe: int	$3
Modules:
Module	Address					Debug info	Name (138 modules)
PE	0000000000730000-0000000000800000	Deferred        crypt32
PE	0000000005980000-0000000005b00000	Deferred        89cd9a5b-dc04-433f-b149-21fb3919d6b3.tmp.node
PE	0000000010000000-0000000010002000	Deferred        usp10
PE	000000007a800000-000000007a909000	Deferred        opengl32
PE	000000007b000000-000000007b298000	Deferred        kernelbase
PE	000000007b600000-000000007b65d000	Export          kernel32
ELF	000000007d000000-000000007d005000	Deferred        <wine-loader>
PE	0000000140000000-00000001459e7000	Export          xpg-prime
PE	0000000170000000-00000001700a1000	Export          ntdll
PE	0000000180000000-0000000180332000	Deferred        ffmpeg
PE	00000001cb930000-00000001cb976000	Deferred        dxgi
PE	00000001ce760000-00000001ce76e000	Deferred        kerberos
PE	00000001d0e20000-00000001d0f58000	Deferred        oleaut32
PE	00000001d8c90000-00000001d8cd3000	Deferred        advapi32
PE	00000001dbc50000-00000001dbcc9000	Deferred        dwrite
PE	00000001de160000-00000001de202000	Deferred        urlmon
PE	00000001eaf60000-00000001eaf8a000	Deferred        sechost
PE	00000001efe00000-00000001efe4e000	Deferred        winhttp
PE	000000020b860000-000000020b981000	Deferred        ole32
PE	00000002169d0000-0000000216b7b000	Deferred        user32
PE	0000000218320000-000000021834a000	Deferred        msdmo
PE	0000000222ed0000-0000000222fd6000	Deferred        comdlg32
PE	0000000223d50000-0000000223df3000	Deferred        winspool
PE	0000000228280000-000000022831a000	Deferred        msvcrt
PE	000000023bc00000-000000023c523000	Deferred        shell32
PE	000000023ecb0000-000000023ed25000	Deferred        dbghelp
PE	00000002445a0000-00000002445b0000	Deferred        ncrypt
PE	0000000244fc0000-0000000244fce000	Deferred        userenv
PE	0000000250cd0000-0000000250cef000	Deferred        mpr
PE	0000000251d80000-0000000251e0d000	Deferred        winex11
PE	0000000259060000-000000025906d000	Deferred        dhcpcsvc
PE	000000025dc30000-000000025dc3e000	Deferred        version
PE	0000000263650000-0000000263683000	Deferred        propsys
PE	0000000267930000-000000026793b000	Deferred        psapi
PE	000000026c190000-000000026c19c000	Deferred        nsi
PE	000000026c230000-000000026c266000	Deferred        uxtheme
PE	000000027a8e0000-000000027a915000	Deferred        d3d9
PE	0000000284ea0000-0000000284ead000	Deferred        powrprof
PE	00000002945e0000-00000002946a4000	Deferred        winmm
PE	0000000296590000-00000002965a7000	Deferred        dnsapi
PE	000000029db00000-000000029db3e000	Deferred        uiautomationcore
PE	00000002a2380000-00000002a23db000	Deferred        shlwapi
PE	00000002bb0a0000-00000002bb120000	Deferred        gdi32
PE	00000002bde30000-00000002bde4a000	Deferred        shcore
PE	00000002c73a0000-00000002c73d9000	Deferred        win32u
PE	00000002c7470000-00000002c7532000	Deferred        ucrtbase
PE	00000002e0d50000-00000002e0d60000	Deferred        hid
PE	00000002eb680000-00000002eb6a8000	Deferred        jsproxy
PE	00000002ee630000-00000002ee648000	Deferred        bcrypt
PE	00000002ef230000-00000002ef23e000	Deferred        dwmapi
PE	00000002fb3c0000-00000002fb508000	Deferred        comctl32
PE	0000000302d10000-0000000302d1b000	Deferred        msimg32
PE	000000030b860000-000000030b8cf000	Deferred        d3d11
PE	0000000313390000-00000003133ae000	Deferred        compstui
PE	000000031c5d0000-000000031c62c000	Deferred        combase
PE	0000000345640000-00000003456bf000	Deferred        wininet
PE	0000000351a60000-0000000351a80000	Deferred        msacm32
PE	0000000360d70000-0000000360d9b000	Deferred        dxva2
PE	0000000367600000-0000000367860000	Deferred        wined3d
PE	0000000368420000-00000003684ab000	Deferred        rpcrt4
PE	0000000370f70000-0000000370f98000	Deferred        ws2_32
PE	0000000393730000-000000039374a000	Deferred        imm32
PE	0000000394ba0000-0000000394bae000	Deferred        wtsapi32
PE	00000003982d0000-0000000398307000	Deferred        iphlpapi
PE	00000003afef0000-00000003aff11000	Deferred        secur32
PE	00000003b8910000-00000003b8954000	Deferred        oleacc
ELF	00007fb839c60000-00007fb839cb4000	Deferred        libgssapi_krb5.so.2
ELF	00007fb839cb4000-00007fb839cbb000	Deferred        libkeyutils.so.1
ELF	00007fb839cbb000-00007fb839cc9000	Deferred        libkrb5support.so.0
ELF	00007fb839cc9000-00007fb839ccf000	Deferred        libcom_err.so.2
ELF	00007fb839ccf000-00007fb839cfd000	Deferred        libk5crypto.so.3
ELF	00007fb839cfd000-00007fb839dd5000	Deferred        libkrb5.so.3
ELF	00007fb839ded000-00007fb839df6000	Deferred        kerberos.so
ELF	00007fb839df6000-00007fb839e01000	Deferred        secur32.so
ELF	00007fb839e01000-00007fb839f36000	Deferred        opengl32.so
ELF	00007fb839f36000-00007fb839f5c000	Deferred        libgpg-error.so.0
ELF	00007fb839f5c000-00007fb839f7c000	Deferred        libgcc_s.so.1
ELF	00007fb839f7c000-00007fb839f9e000	Deferred        liblz4.so.1
ELF	00007fb839f9e000-00007fb83a0e6000	Deferred        libgcrypt.so.20
ELF	00007fb83a0e6000-00007fb83a0f2000	Deferred        libcap.so.2
ELF	00007fb83a0f2000-00007fb83a0fd000	Deferred        libffi.so.8
ELF	00007fb83a0fd000-00007fb83a1df000	Deferred        libsystemd.so.0
ELF	00007fb83a1df000-00007fb83a282000	Deferred        libgmp.so.10
ELF	00007fb83a282000-00007fb83a2cb000	Deferred        libhogweed.so.6
ELF	00007fb83a2cb000-00007fb83a31f000	Deferred        libnettle.so.8
ELF	00007fb83a31f000-00007fb83a336000	Deferred        libtasn1.so.6
ELF	00007fb83a336000-00007fb83a4f0000	Deferred        libunistring.so.5
ELF	00007fb83a4f0000-00007fb83a512000	Deferred        libidn2.so.0
ELF	00007fb83a512000-00007fb83a5e2000	Deferred        libzstd.so.1
ELF	00007fb83a5e2000-00007fb83a686000	Deferred        libbrotlienc.so.1
ELF	00007fb83a686000-00007fb83a7b9000	Deferred        libp11-kit.so.0
ELF	00007fb83a7b9000-00007fb83a7be000	Deferred        libdl.so.2
ELF	00007fb83a7be000-00007fb83a80f000	Deferred        libdbus-1.so.3
ELF	00007fb83a80f000-00007fb83aa0d000	Deferred        libgnutls.so.30
ELF	00007fb83aa0d000-00007fb83aa21000	Deferred        libavahi-client.so.3
ELF	00007fb83aa21000-00007fb83aa2f000	Deferred        libavahi-common.so.3
ELF	00007fb83aa2f000-00007fb83aacc000	Deferred        libcups.so.2
ELF	00007fb83aacc000-00007fb83aade000	Deferred        libresolv.so.2
ELF	00007fb83aadf000-00007fb83aae5000	Deferred        crypt32.so
ELF	00007fb83aae5000-00007fb83aaf0000	Deferred        bcrypt.so
ELF	00007fb83aaf0000-00007fb83aaf6000	Deferred        dwrite.so
ELF	00007fb83ab3c000-00007fb83ab44000	Deferred        libxfixes.so.3
ELF	00007fb83ab44000-00007fb83ab50000	Deferred        libxcursor.so.1
ELF	00007fb83ab50000-00007fb83ab64000	Deferred        libxi.so.6
ELF	00007fb83ab64000-00007fb83ab69000	Deferred        libxcomposite.so.1
ELF	00007fb83ab69000-00007fb83ab76000	Deferred        libxrandr.so.2
ELF	00007fb83ab76000-00007fb83ab83000	Deferred        libxrender.so.1
ELF	00007fb83ab83000-00007fb83ab8a000	Deferred        libxxf86vm.so.1
ELF	00007fb83ab8a000-00007fb83ab8f000	Deferred        libxinerama.so.1
ELF	00007fb83ab8f000-00007fb83ab97000	Deferred        libxdmcp.so.6
ELF	00007fb83ab97000-00007fb83ab9c000	Deferred        libxau.so.6
ELF	00007fb83ab9c000-00007fb83abc7000	Deferred        libxcb.so.1
ELF	00007fb83abc7000-00007fb83ad0a000	Deferred        libx11.so.6
ELF	00007fb83ad0a000-00007fb83ad1f000	Deferred        libxext.so.6
ELF	00007fb83ad20000-00007fb83ad25000	Deferred        libpthread.so.0
ELF	00007fb83ad25000-00007fb83ad2b000	Deferred        winspool.so
ELF	00007fb83ad2b000-00007fb83ad30000	Deferred        dnsapi.so
ELF	00007fb83ad30000-00007fb83ad37000	Deferred        ws2_32.so
ELF	00007fb83ad37000-00007fb83adc8000	Deferred        winex11.so
ELF	00007fb83af94000-00007fb83afbf000	Deferred        libexpat.so.1
ELF	00007fb83afbf000-00007fb83b00e000	Deferred        libfontconfig.so.1
ELF	00007fb83b00e000-00007fb83b0a9000	Deferred        libpcre2-8.so.0
ELF	00007fb83b0a9000-00007fb83b0cc000	Deferred        libbrotlicommon.so.1
ELF	00007fb83b0cc000-00007fb83b20b000	Deferred        libglib-2.0.so.0
ELF	00007fb83b20b000-00007fb83b305000	Deferred        libharfbuzz.so.0
ELF	00007fb83b305000-00007fb83b3e2000	Deferred        libfreetype.so.6
ELF	00007fb83b3e2000-00007fb83b4ca000	Deferred        libm.so.6
ELF	00007fb83b4ca000-00007fb83b68a000	Deferred        win32u.so
ELF	00007fb83b98a000-00007fb83bb00000	Dwarf           libwine.so.1
ELF	00007fb83bf01000-00007fb83bf24000	Deferred        libgraphite2.so.3
ELF	00007fb83bf24000-00007fb83bf32000	Deferred        libbrotlidec.so.1
ELF	00007fb83bf32000-00007fb83bf6b000	Deferred        libpng16.so.16
ELF	00007fb83bf6b000-00007fb83bf7e000	Deferred        libbz2.so.1.0
ELF	00007fb83bf7e000-00007fb83bf98000	Deferred        libz.so.1
ELF	00007fb83bf98000-00007fb83bfcb000	Deferred        liblzma.so.5
ELF	00007fb83bfcb000-00007fb83bfe4000	Deferred        libunwind.so.8
ELF	00007fb83bfe4000-00007fb83c0ab000	Deferred        ntdll.so
ELF	00007fb83c2af000-00007fb83c2e4000	Deferred        ld-linux-x86-64.so.2
Threads:
process  tid      prio    name (all IDs are in hex)
00000038 services.exe
	0000003c    0     
	00000040    0     wine_rpcrt4_server
	0000004c    0     wine_rpcrt4_io
	00000070    0     wine_rpcrt4_io
	000000a0    0     wine_rpcrt4_io
	000000b8    0     wine_rpcrt4_io
	000000dc    0     wine_rpcrt4_io
	000001d4    0     wine_rpcrt4_io
00000044 winedevice.exe
	00000048    0     
	00000054    0     
	00000058    0     wine_sechost_service
	0000005c    0     
	00000060    0     
	00000064    0     
	000000c4    0     
00000068 winedevice.exe
	0000006c    0     
	00000074    0     
	00000078    0     wine_sechost_service
	0000007c    0     
	00000088    0     
	0000008c    0     
	00000098    0     
	0000009c    0     
00000080 explorer.exe
	00000084    0     
	000000c8    0     
	000000cc    0     wine_rpcrt4_server
00000090 plugplay.exe
	00000094    0     
	000000a4    0     
	000000a8    0     wine_sechost_service
	000000ac    0     wine_rpcrt4_server
	00000188    0     wine_rpcrt4_io
	00000190    0     wine_threadpool_worker
000000b0 svchost.exe
	000000b4    0     
	000000bc    0     
	000000c0    0     wine_sechost_service
000000d4 rpcss.exe
	000000d8    0     
	000000e4    0     
	000000e8    0     wine_sechost_service
	000000ec    0     wine_rpcrt4_server
	000000f0    0     wine_rpcrt4_server
	000000f4    0     wine_rpcrt4_io
000000fc conhost.exe
	00000100    0     
00000104 XPG-Prime.exe
	00000108    0     Main
	0000010c    0     wine_threadpool_worker
	00000110    0     BrokerEvent
	00000114    0     Chrome_IOThread
	00000118    0     
	0000011c    0     
	00000120    0     
	00000124    0     
	00000128    0     
	0000012c    0     
	00000130    0     
	00000134    0     
	00000138    0     XPG - ENE-HAL
	0000013c    0     DnsConfigService
	00000140    0     wine_threadpool_waitqueue
	00000144    0     TaskSchedulerServiceThread
	00000148    0     TaskSchedulerForegroundWorker
	0000014c    0     TaskSchedulerForegroundBlockingWorker
	00000150    0     TaskSchedulerForegroundBlockingWorker
	00000154    0     TaskSchedulerForegroundBlockingWorker
	00000158    0     TaskSchedulerForegroundBlockingWorker
	0000015c   -2     TaskSchedulerBackgroundWorker
	00000160   -2     TaskSchedulerBackgroundBlockingWorker
	00000164   -2     TaskSchedulerBackgroundBlockingWorker
	00000168   -2     TaskSchedulerSingleThreadSharedBackgroundBlocking0
	0000016c    0     CompositorTileWorker1/364
	00000170    0     TaskSchedulerSingleThreadForegroundBlocking1
	00000174    0     AudioThread
	00000180    0     wine_sechost_device_notify
	00000184    0     VideoCaptureThread
	0000018c    0     
	00000194    0     TaskSchedulerSingleThreadCOMSTASharedForeground2
	00000198    0     wine_rpcrt4_server
	0000019c   -2     TaskSchedulerBackgroundBlockingWorker
	000001a0    0     CacheThread_BlockFile
	000001ac    0     wine_mmdevapi_notification
	000001b0   15     winepulse_mainloop
	000001b4   15     winepulse_timer_loop
	000001b8    0     
	0000024c    0     winealsa_midi_notify
	00000270   15     System
	00000274    0     Group 0
	00000278    0     CPU 0
	0000027c    0     CPU 1
	00000280    0     CPU 2
	00000284    0     CPU 3
	00000288    0     CPU 4
	0000028c    0     CPU 5
	00000290    0     CPU 6
	00000294    0     CPU 7
	00000298    0     
	0000029c    0     
	000002ac    0     TaskSchedulerForegroundBlockingWorker
	000002b4    0     TaskSchedulerForegroundBlockingWorker
00000178 XPG-Prime.exe
	0000017c    0     CrGpuMain
	000001c8    0     wine_threadpool_worker
	000001cc    0     BrokerEvent
	000001d0    0     Watchdog
	00000224    0     wined3d_cs
	00000228    0     TaskSchedulerServiceThread
	0000022c    0     TaskSchedulerForegroundWorker
	00000230    0     TaskSchedulerForegroundBlockingWorker
	00000234   -2     TaskSchedulerBackgroundWorker
	00000238   -2     TaskSchedulerBackgroundBlockingWorker
	0000023c    0     Chrome_ChildIOThread
	00000240    0     wine_threadpool_waitqueue
	00000244    0     wine_threadpool_worker
000001a4 (D) C:\Program Files\XPG\XPG-Prime\XPG-Prime.exe
	000001a8    0 <== CrRendererMain
	000001e4    0     wine_threadpool_worker
	000001e8    0     BrokerEvent
	000001ec    0     TaskSchedulerServiceThread
	000001f0    0     TaskSchedulerForegroundWorker
	000001f4    0     TaskSchedulerForegroundBlockingWorker
	000001f8   -2     TaskSchedulerBackgroundWorker
	000001fc   -2     TaskSchedulerBackgroundBlockingWorker
	00000200    0     Chrome_ChildIOThread
	00000204    0     wine_threadpool_waitqueue
	00000208    0     GpuMemoryThread
	0000020c    0     Compositor
	00000210    0     CompositorTileWorker1/528
	00000214    0     CompositorTileWorker2/532
	00000218    0     CompositorTileWorker3/536
	0000021c    0     CompositorTileWorker4/540
	00000220   -2     CompositorTileWorkerBackground/544
	000002a0    0     
	000002a4    0     TaskSchedulerForegroundWorker
	000002a8    0     TaskSchedulerForegroundWorker
	000002b0    0     TaskSchedulerForegroundWorker
	000002b8    0     TaskSchedulerForegroundWorker
	000002bc    0     TaskSchedulerForegroundWorker
	000002c0    0     TaskSchedulerForegroundWorker
	000002c4    0     
	000002c8    0     
	000002cc    0     
	000002d0    0     
	000002dc    0     
000001c0 winedevice.exe
	000001c4    0     
	000001d8    0     
	000001dc    0     wine_sechost_service
	000001e0    0     
System information:
    Wine build: wine-8.2
    Platform: x86_64
    Version: Windows 10
    Host system: Linux
    Host version: 6.2.1-arch1-1

No i don’t use bottles… or wine.

Okay other users use that softwares they will help me i think.

i saw its used for gaming or running windows software but i got error IDK i did it wrong or this XPG software doesn’t work on WINE.

I use a mechanical keyboard that has RGB backlighting that has it’s own built in firmware so i don’t need other software to make it work. All the features work from the keyboard itself.

If you PASSTHROUGH a device to A VM, the HOST CANNOT use the device. It’s illogical otherwise.

1 Like

Ya i want to do this so my keyboard only works on my vm. What is the point of that?