diff --git a/repos/gems/recipes/raw/drivers_managed-pc/drivers.config b/repos/gems/recipes/raw/drivers_managed-pc/drivers.config index 535e3e39fe..fc0cf1089c 100644 --- a/repos/gems/recipes/raw/drivers_managed-pc/drivers.config +++ b/repos/gems/recipes/raw/drivers_managed-pc/drivers.config @@ -35,6 +35,9 @@ + + + @@ -244,12 +247,13 @@ - + + diff --git a/repos/gems/recipes/src/sculpt_manager/used_apis b/repos/gems/recipes/src/sculpt_manager/used_apis index e213a51c5a..e7262d88d2 100644 --- a/repos/gems/recipes/src/sculpt_manager/used_apis +++ b/repos/gems/recipes/src/sculpt_manager/used_apis @@ -15,3 +15,4 @@ rtc_session input_session event_session capture_session +gpu_session diff --git a/repos/gems/run/sculpt.run b/repos/gems/run/sculpt.run index 328648f7b0..651c58b233 100644 --- a/repos/gems/run/sculpt.run +++ b/repos/gems/run/sculpt.run @@ -240,8 +240,8 @@ install_config { - - + + @@ -273,6 +273,7 @@ install_config { + @@ -474,6 +475,7 @@ install_config { + diff --git a/repos/gems/src/app/depot_autopilot/child.cc b/repos/gems/src/app/depot_autopilot/child.cc index fe2ae72b42..07978439d4 100644 --- a/repos/gems/src/app/depot_autopilot/child.cc +++ b/repos/gems/src/app/depot_autopilot/child.cc @@ -320,6 +320,7 @@ void Child::gen_start_node(Xml_generator &xml, _gen_provides_sub_node(xml, service, "log", "LOG"); _gen_provides_sub_node(xml, service, "nic", "Nic"); _gen_provides_sub_node(xml, service, "gui", "Gui"); + _gen_provides_sub_node(xml, service, "gpu", "Gpu"); _gen_provides_sub_node(xml, service, "report", "Report"); _gen_provides_sub_node(xml, service, "rom", "ROM"); _gen_provides_sub_node(xml, service, "terminal", "Terminal"); diff --git a/repos/gems/src/app/depot_deploy/child.h b/repos/gems/src/app/depot_deploy/child.h index f0e0cf16cf..eb13eaec0f 100644 --- a/repos/gems/src/app/depot_deploy/child.h +++ b/repos/gems/src/app/depot_deploy/child.h @@ -481,6 +481,7 @@ void Depot_deploy::Child::gen_start_node(Xml_generator &xml, Xml_node common, _gen_provides_sub_node(xml, service, "log", "LOG"); _gen_provides_sub_node(xml, service, "nic", "Nic"); _gen_provides_sub_node(xml, service, "gui", "Gui"); + _gen_provides_sub_node(xml, service, "gpu", "Gpu"); _gen_provides_sub_node(xml, service, "report", "Report"); _gen_provides_sub_node(xml, service, "rom", "ROM"); _gen_provides_sub_node(xml, service, "terminal", "Terminal"); diff --git a/repos/gems/src/app/driver_manager/main.cc b/repos/gems/src/app/driver_manager/main.cc index 11ff0a94ee..743775c242 100644 --- a/repos/gems/src/app/driver_manager/main.cc +++ b/repos/gems/src/app/driver_manager/main.cc @@ -132,9 +132,11 @@ struct Driver_manager::Intel_gpu_driver : Device_driver void generate_start_node(Xml_generator &xml) const override { + _gen_forwarded_service(xml, "intel_gpu_drv"); + xml.node("start", [&] () { _gen_common_start_node_content(xml, "intel_gpu_drv", "intel_gpu_drv", - Ram_quota{32*1024*1024}, Cap_quota{800}, + Ram_quota{64*1024*1024}, Cap_quota{1400}, Priority{0}, version); xml.node("provides", [&] () { xml.node("service", [&] () { diff --git a/repos/gems/src/app/sculpt_manager/main.cc b/repos/gems/src/app/sculpt_manager/main.cc index c608bf1a10..d4baba6379 100644 --- a/repos/gems/src/app/sculpt_manager/main.cc +++ b/repos/gems/src/app/sculpt_manager/main.cc @@ -23,6 +23,7 @@ #include #include #include +#include /* included from depot_deploy tool */ #include @@ -1732,6 +1733,7 @@ void Sculpt::Main::_generate_runtime_config(Xml_generator &xml) const gen_parent_service(xml); gen_parent_service(xml); gen_parent_service(xml); + gen_parent_service(xml); }); xml.node("affinity-space", [&] () { diff --git a/repos/gems/src/app/sculpt_manager/model/route.h b/repos/gems/src/app/sculpt_manager/model/route.h index 233dec4e7a..a004bbbe5b 100644 --- a/repos/gems/src/app/sculpt_manager/model/route.h +++ b/repos/gems/src/app/sculpt_manager/model/route.h @@ -36,6 +36,7 @@ struct Sculpt::Route : List_model::Element case Service::Type::FILE_SYSTEM: return "file_system"; case Service::Type::NIC: return "nic"; case Service::Type::GUI: return "gui"; + case Service::Type::GPU: return "gpu"; case Service::Type::RM: return "rm"; case Service::Type::IO_MEM: return "io_mem"; case Service::Type::IO_PORT: return "io_port"; @@ -65,6 +66,7 @@ struct Sculpt::Route : List_model::Element case Service::Type::FILE_SYSTEM: return "File system"; case Service::Type::NIC: return "Network"; case Service::Type::GUI: return "GUI"; + case Service::Type::GPU: return "GPU"; case Service::Type::RM: return "Region maps"; case Service::Type::IO_MEM: return "Direct memory-mapped I/O"; case Service::Type::IO_PORT: return "Direct port I/O"; diff --git a/repos/gems/src/app/sculpt_manager/model/runtime_config.h b/repos/gems/src/app/sculpt_manager/model/runtime_config.h index c67b4fdba3..2ef936f607 100644 --- a/repos/gems/src/app/sculpt_manager/model/runtime_config.h +++ b/repos/gems/src/app/sculpt_manager/model/runtime_config.h @@ -329,6 +329,7 @@ class Sculpt::Runtime_config _backdrop { _r, Type::GUI, "desktop background", "backdrop" }, _lockscreen{ _r, Type::GUI, "desktop lock screen", "lock_screen" }, _nitpicker { _r, Type::GUI, "system GUI server" }, + _gpu { _r, Type::GPU, "system GPU" }, _lz_event { _r, Type::EVENT, "management GUI events", "leitzentrale" }, _event { _r, Type::EVENT, "system input events", "global" }, _lz_capture{ _r, Type::CAPTURE, "management GUI", "leitzentrale" }, diff --git a/repos/gems/src/app/sculpt_manager/model/service.h b/repos/gems/src/app/sculpt_manager/model/service.h index 930c8982c5..4fa0fb7b81 100644 --- a/repos/gems/src/app/sculpt_manager/model/service.h +++ b/repos/gems/src/app/sculpt_manager/model/service.h @@ -25,7 +25,7 @@ struct Sculpt::Service typedef String<32> Info; enum class Type { - AUDIO_IN, AUDIO_OUT, BLOCK, EVENT, CAPTURE, FILE_SYSTEM, NIC, GUI, + AUDIO_IN, AUDIO_OUT, BLOCK, EVENT, CAPTURE, FILE_SYSTEM, NIC, GUI, GPU, RM, IO_MEM, IO_PORT, IRQ, REPORT, ROM, TERMINAL, TRACE, USB, RTC, PLATFORM, VM, PD, UNDEFINED }; @@ -51,6 +51,7 @@ struct Sculpt::Service case Type::FILE_SYSTEM: return "File_system"; case Type::NIC: return "Nic"; case Type::GUI: return "Gui"; + case Type::GPU: return "Gpu"; case Type::RM: return "RM"; case Type::IO_MEM: return "IO_MEM"; case Type::IO_PORT: return "IO_PORT";