8000 Add selection of graphics controller (VBoxVGS/VMSVGA/VboxSVGA) (by pasha1st) by chotaire · Pull Request #188 · phpvirtualbox/phpvirtualbox · GitHub
[go: up one dir, main page]

Skip to content

Add selection of graphics controller (VBoxVGS/VMSVGA/VboxSVGA) (by pasha1st)#188

Merged
h6w merged 4 commits intophpvirtualbox:developfrom
chotaire:chot-select-gpu
Jan 29, 2020
Merged

Add selection of graphics controller (VBoxVGS/VMSVGA/VboxSVGA) (by pasha1st)#188
h6w merged 4 commits intophpvirtualbox:developfrom
chotaire:chot-select-gpu

Conversation

@chotaire
Copy link
Contributor
@chotaire chotaire commented Sep 7, 2019

This pull request adds the ability to select the graphics controller (VBoxVGS/VMSVGA/VboxSVGA).

Coded by @pasha1st - his pull request #167 got legitimately rejected due to several issues so I am lending a helping hand and split this into multiple pull requests. This needs tested and finally merged, we need to move forward.

@chotaire
Copy link
Contributor Author

It appears there are some issues when creating a new VM. This needs a fix before merge.

Exception Object
(
    [message:protected] => Attribute does not exist
    [string:Exception:private] => 
    [code:protected] => 0
    [file:protected] => /usr/share/nginx/html/endpoints/lib/vboxServiceWrappers.php
    [line:protected] => 204
    [trace:Exception:private] => Array
        (
            [0] => Array
                (
                    [file] => /usr/share/nginx/html/endpoints/lib/vboxconnector.php
                    [line] => 3855
                    [function] => __get
                    [class] => VBox_Struct
                    [type] => ->
                    [args] => Array
                        (
                            [0] => recommendedGraphicsController
                        )

                )

            [1] => Array
                (
                    [file] => /usr/share/nginx/html/endpoints/lib/vboxconnector.php
                    [line] => 951
                    [function] => remote_machineCreate
                    [class] => vboxconnector
                    [type] => ->
                    [args] => Array
                        (
                            [0] => Array
                                (
                                    [disk] => /home/vbox/VirtualBox VMs/centos8s/centos8s.vdi
                                    [ostype] => RedHat_64
                                    [memory] => 2048
                                    [name] => centos8s
                                )

                        )

                )

            [2] => Array
                (
                    [file] => /usr/share/nginx/html/endpoints/api.php
                    [line] => 316
                    [function] => __call
                    [class] => vboxconnector
                    [type] => ->
                    [args] => Array
                        (
                            [0] => machineCreate
                            [1] => Array
                                (
                                    [0] => Array
                                        (
                                            [disk] => /home/vbox/VirtualBox VMs/centos8s/centos8s.vdi
                                            [ostype] => RedHat_64
                                            [memory] => 2048
                                            [name] => centos8s
                                        )

                                    [1] => Array
                                        (
                                            [0] => Array
                                                (
                                                    [data] => Array
                                                        (
                                                            [responseData] => 
                                                            [success] => 
                                                            [key] => 53474945cfd7ac0bf8114767c209c2a6
                                                        )

                                                    [errors] => Array
                                                        (
                                                        )

                                                    [persist] => Array
                                                        (
                                                        )

                                                    [messages] => Array
                                                        (
                                                        )

                                                )

                                        )

                                )

                        )

                )

            [3] => Array
                (
                    [file] => /usr/share/nginx/html/endpoints/api.php
                    [line] => 316
                    [function] => machineCreate
                    [class] => vboxconnector
                    [type] => ->
                    [args] => Array
                        (
                            [0] => Array
                                (
                                    [disk] => /home/vbox/VirtualBox VMs/centos8s/centos8s.vdi
                                    [ostype] => RedHat_64
                                    [memory] => 2048
                                    [name] => centos8s
                                )

                            [1] => Array
                                (
                                    [0] => Array
                                        (
                                            [data] => Array
                                                (
                                                    [responseData] => 
                                                    [success] => 
                                                    [key] => 53474945cfd7ac0bf8114767c209c2a6
                                                )

                                            [errors] => Array
                                                (
                                                )

                                            [persist] => Array
                                                (
                                                )

                                            [messages] => Array
                                                (
                                                )

                                        )

                                )

                        )

                )

        )

    [previous:Exception:private] => 
)

@trasherdk
Copy link
trasherdk commented Dec 17, 2019

This wont work until vboxweb.wsdl get upgraded to 6.0.x
It's currently a hybrid between 5.2 and 6.0

image

@cesium147
Copy link
Contributor

patch to support version 6.1-0 chot-select-gpu_6.1-0

@trasherdk
Copy link

I'll take a look at your fork once I get a 6.1 server running on a test server.
6.1 is a little too young to run on my production server.

@chotaire
Copy link
Contributor Author

This wont work until vboxweb.wsdl get upgraded to 6.0.x
It's currently a hybrid between 5.2 and 6.0

For good reason, WDSL 6.0 and 6.1 breaks snapshot functionality. This pull request should neither be merged nor ported to 6.1 before snapshot functionality is not fixed when using a recent version of WDSL.

@trasherdk
Copy link

Snapshot's are working on my 6.0.10 branch :)
image

image

@chotaire
Copy link
Contributor Author
chotaire commented Jan 18, 2020

Greetings, feel free to go through "your branch :)" and find the magic fixes in all the merged stuff so that HEAD of this branch (which would include this PR) becomes FULLY functional with WDSL 6.0. You could shed some lights or I'd simply drop this PR and you create a proper one. Unfortunately the provided screenshot is not a sufficient patch.

However please keep in mind, 6.1 is current version. Unsure about others, but I have zero interest in fixing 6.0 WDSL oddities if it can be fixed for 6.1 and backwards instead.

It would be best to abandon this pull request and concentrate on #213 so that things move forward. cesium147 is running into exactly the same problem, all features need to be tested with WDSL 6.1 and snapshotting absolutely requires a fix. Once that is solved, I could either delete this pull request in favor of https://github.com/cesium147/phpvirtualbox/commit/b776989f5558fe9b1f0bdf17109d115f7d7038c4 or update it to support 6.1.

@trasherdk
Copy link

I, currently, do not have a local test server to run version 6.1, and are not able to upgrade the production host.

Version 6.0 is still actively maintained by Oracle, and I'm pretty sure, I'm not alone, in not upgrading to latest version, every time a new version is released.
As soon as I get spare hardware, I will start working on 6.1. Until then I will continue work on 6.0 branch.

@chotaire
Copy link
Contributor Author
chotaire commented Jan 20, 2020

So where's the patch? "Your branch" is not relevant here, this is upstream. If you are saying that this feature works on your fork with WDSL 6.0, including creating snapshots, creating VMs and not breaking other features currently in HEAD, then let's not discuss around but -submit- a proper PR.

You are free to fiddle around with 6.0 as much as you like, that's awesome. But WDSL 6.1 is out, and the best way to move forward is to work with 6.1 and have a quality of code that provides backwards compatibility to 6.0 plus previous versions, and not creating multiple branches that no one is going to merge. This project is stale enough already, look at master.

This is the develop branch. It needs 6.1 support. ASAP.

The current state of develop branch is kind of solid with only a few unmerged PRs missing to add some minor features or to fix very minor issues. Some 6.0 features were not implemented by anyone yet (or they simply don't work with the current state) but that is not a showstopper. This project 8000 has never been feature complete I guess.

Does develop branch not work with 5.2? If that is the case, speak out. Otherwise, develop is ok enough to be merged to master. And then work on 6.1 should be progressed (which would include adding 6.0 features that were not yet added).

Side note: Version 5.2 will remain supported until July 2020. Older versions are irrelevant. Which basically means supporting 5.2 is likely also not required as I don't ever see a 6.1 develop branch merged to master before July 2020, let alone a develop branch supporting 6.0 ;)

@h6w
Copy link
Contributor
h6w commented Jan 29, 2020

Sorry for the delay in approving this patch. Excellent work @chotaire :-)

@h6w h6w merged commit b19edfc into phpvirtualbox:develop Jan 29, 2020
@chotaire chotaire deleted the chot-select-gpu branch January 29, 2020 09:16
@chotaire
Copy link
Contributor Author
chotaire commented Jan 29, 2020

@h6w Thanks but this PR was not ready for merge. This merge breaks phpvirtualbox when simply clicking on a VM. Currently looking into this.

Exception Object
(
    [message:protected] => Attribute does not exist
    [string:Exception:private] => 
    [code:protected] => 0
    [file:protected] => /usr/share/nginx/html/endpoints/lib/vboxServiceWrappers.php
    [line:protected] => 56
    [trace:Exception:private] => Array
        (
            [0] => Array
                (
                    [file] => /usr/share/nginx/html/endpoints/lib/vboxconnector.php
                    [line] => 4227
                    [function] => __get
                    [class] => VBox_ManagedObject
                    [type] => ->
                    [args] => Array
                        (
                            [0] => VRAMSize
                        )

                )

            [1] => Array
                (
                    [file] => /usr/share/nginx/html/endpoints/lib/vboxconnector.php
                    [line] => 3569
                    [function] => _machineGetDetails
                    [class] => vboxconnector
                    [type] => ->
                    [args] => Array
                        (
                            [0] => IMachine Object
                                (
                                    [connection:protected] => SoapClient Object
                                        (
                                            [location] => http://127.0.0.1:18083/
                                            [_features] => 5
                                            [_connection_timeout] => 20
                                            [_soap_version] => 1
                                            [sdl] => Resource id #12
                                            [httpsocket] => Resource id #13
                                            [_use_proxy] => 0
                                            [httpurl] => Resource id #29
                                        )

                                    [handle:protected] => 95658e67f1a32ceb-0000000000000002
                                )

                        )

                )

            [2] => Array
                (
                    [file] => /usr/share/nginx/html/endpoints/lib/vboxconnector.php
                    [line] => 951
                    [function] => remote_machineGetDetails
                    [class] => vboxconnector
                    [type] => ->
                    [args] => Array
                        (
                            [0] => Array
                                (
                                    [vm] => 98e0e6a3-1eb8-4ae1-b821-92443801f590
                                )

                        )

                )

            [3] => Array
                (
                    [file] => /usr/share/nginx/html/endpoints/api.php
                    [line] => 316
                    [function] => __call
                    [class] => vboxconnector
                    [type] => ->
                    [args] => Array
                        (
                            [0] => machineGetDetails
                            [1] => Array
                                (
                                    [0] => Array
                                        (
                                            [vm] => 98e0e6a3-1eb8-4ae1-b821-92443801f590
                                        )

                                    [1] => Array
                                        (
                                            [0] => Array
                                                (
                                                    [data] => Array
                                                        (
                                                            [responseData] => Array
                                                                (
                                                                )

                                                        )

                                                    [errors] => Array
                                                        (
                                                        )

                                                    [persist] => Array
                                                        (
                                                        )

                                                    [messages] => Array
                                                        (
                                                        )

                                                )

                                        )

                                )

                        )

                )

            [4] => Array
                (
                    [file] => /usr/share/nginx/html/endpoints/api.php
                    [line] => 316
                    [function] => machineGetDetails
                    [class] => vboxconnector
                    [type] => ->
                    [args] => Array
                        (
                            [0] => Array
                                (
                                    [vm] => 98e0e6a3-1eb8-4ae1-b821-92443801f590
                                )

                            [1] => Array
                                (
                                    [0] => Array
                                        (
                                            [data] => Array
                                                (
                                                    [responseData] => Array
                                                        (
                                                        )

                                                )

                                            [errors] => Array
                                                (
                                                )

                                            [persist] => Array
                                                (
                                                )

                                            [messages] => Array
                                                (
                                                )

                                        )

                                )

                        )

                )

        )

    [previous:Exception:private] => 
)

@chotaire chotaire restored the chot-select-gpu branch January 29, 2020 14:03
@chotaire
Copy link
Contributor Author

Fixed in #187 (22372bf).

@chotaire chotaire deleted the chot-select-gpu branch January 30, 2020 00:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

0