Project Background

In today's fast-paced digital age, the need for efficient and optimized computing systems has never been greater, particularly in the realm of gaming. The collaboration between our team and Intel presents a unique opportunity to deliver a Linux Energy Monitor app that meets these objectives. With Intel's expertise and support in the areas of hardware and system optimization, we present a Linux Energy Monitor app designed specifically for gamers utilizing Intel platforms. This innovative app will provide real-time system information and sophisticated CPU scheduling capabilities, allowing gamers to take their performance to the next level.


Built on a foundation of existing Linux utilities and libraries, the app will gather and display a wide range of information relevant to system performance, including CPU utilization and memory usage. To ensure ease of use, this information will be presented in a visually appealing interface that is highly customizable and can be tailored to meet the needs of individual users.


The CPU scheduling component of the app represents a major innovation in the field of performance optimization. Utilizing advanced algorithms, the app will provide detailed insights into CPU utilization, including which processes are consuming the most resources. This information will allow gamers to make informed decisions about process prioritization, leading to a smoother and more efficient gaming experience.


The need for a comprehensive and cutting-edge energy monitor app in the gaming industry is clear, and the Linux Energy Monitor app is poised to meet this demand. Open-sourced and designed for community involvement and contributions, this app represents a valuable resource for the entire gaming community.


Client Background

Who are Intel?

Intel, founded in 1968 by eminent semiconductor pioneers Gordon Moore and Robert Noyce, is a leading technology company at the forefront of innovation. With a focus on data-centric advancements, Intel has been instrumental in shaping the smart and connected world we live in today, delivering the necessary components for network transformations, 5G networks, cloud computing, AI, and autonomous driving.

Intel & sustainability

Beyond their technological contributions sustainability is pivotal to Intel’s designs, products and business, recognizing the importance of creating a greener computing landscape. The company is dedicated to reducing its environmental impact through eco-conscious initiatives, including the manufacture of sustainable and energy-efficient products, as well as the operation of their data centers and networks.

Intel's principle

Intel's guiding principle of "Go off and do something wonderful" speaks to their unwavering commitment to pushing boundaries and driving progress. As an industry leader, Intel continues to drive technological advancements that live at the heart of computing breakthroughs.

Project Goals

1. Improve data accuracy: The application relies on accurate data to generate meaningful insights and recommendations. The project goal could be to ensure that the application collects and analyses data in a reliable and consistent manner, so that users can trust the results and make informed decisions about their energy usage.

2. Increase energy awareness: By allowing users to switch between different power modes, the application can raise awareness about the impact of energy usage on the environment and encourage users to adopt more sustainable energy practices. The goal of the project could be to educate users about the benefits of energy conservation and inspire them to take action to reduce their energy consumption.

3. Improve energy efficiency: By monitoring system information such as CPU temperature, utilisation, and memory usage, the application can identify areas where energy is being wasted or consumed inefficiently. The goal of the project could be to provide insights and recommendations to users on how to optimise their energy usage and reduce their carbon footprint.

4. Enhance user experience: The energy report charts generated by the application could help users visualise their energy consumption patterns and make more informed decisions about how to manage their energy usage. The goal of the project could be to provide a user-friendly interface that makes it easy for users to understand and act on the information provided by the application.

5. Enhance scalability: The application could be designed to accommodate a growing number of users and devices, and to scale up as needed to meet changing demands. The project goal could be to ensure that the application is robust, scalable, and adaptable, so that it can continue to meet the needs of users over time.

Client Requirement

Throughout the project, we maintained close communication with our clients and held biweekly meetings to provide them with real-time updates on our progress and receive feedback for future enhancements. By following an iterative development cycle, we were able to gather and address our clients' requirements. Our clients specifically requested that the Linux energy monitor application should include the following features:


- Monitor essential system resource information (both static and dynamic)
- Optimise system’s energy consumption by taking advantage of Intel’s 12th Gen processor architecture
- Provide users with sufficient instructions
- Generate insightful report charts
- Allow users to set custom cap for energy usage
- Simple and user-friendly interfaces

Personas and Interviews

Matthew Holmes



Matthew is an undergraduate student who plays games a lot in his spare time and keeps an eye on various games and computer hardware. He lives the normal student life, moving from his home and now living in London, and he finds his living cost going up every single year. Matthew then used our application to monitor the current situation of the desktop and understand the impact of different programs, especially various games, on computer performance so that he could reduce the time and power spent on the applications with high energy impact. He easily gathered reliable information from different charts without any extra explanation.


Amanda Ramos

Amanda has a lot of experience in developing Linux games with strong data analysis skills and knowledge of hardware. She recently participated in a Game Development team to develop a brand new VR game. When the team completed a beta version of the game, she used our application to test the product, understanding how the game costs energy and how it uses various hardware and summarising the performance in a real-world situation. With sufficient information in hand, the team decided to optimise the game in energy consumption. She found our application very easy to use and would like to recommend it to her team.


Functional Requirement

Non Functional Requirement

Requirement Type Requirement
Performance a. The application should have minimal impact on system performance and should consume less than 5% of the CPU and RAM resources.
b. The application should provide real-time monitoring and data updates every 1000 ms.
Scalability a. The application should support various Intel 12th Gen CPU models, including Core i3, i5, i7, and i9 processors.
Usability a. The user interface should be intuitive and easy to navigate, with clear labels and tooltips for all features and functions.
b. The application should provide an onboarding tutorial or help section to assist new users in understanding the application's features and usage.
Reliability a. The application should have an uptime of at least 99.9%.
b. The application should be able to recover from unexpected crashes.
Compatibilty a. The application should be compatible with popular Linux distributions, such as Ubuntu, Fedora, and Debian.
b. The application should be compatible with different display resolutions, ensuring a responsive and adaptive user interface.
c. The application should support future updates of Linux distributions without requiring major modifications.
Maintainability a. The application should be modular and follow a clean, well-structured codebase to simplify maintenance and updates.
b. The application should be well-documented, including inline comments, developer guides, and user manuals.
c. The application should include a robust set of tests to prevent software bugs.
Accessibility a. The application should support high-contrast themes.
Responsiveness a. The application should have minimal load times and deliver a seamless user experience, ensuring quick access to information and features.
b. The application should gracefully handle increased system load or resource constraints without freezing or crashing.