Skip to content

Commit 4233ebe

Browse files
Merge pull request #23 from pythonlover02/experimental
Release 1.0.0
2 parents 6fad2a4 + 412b2e0 commit 4233ebe

File tree

8 files changed

+378
-160
lines changed

8 files changed

+378
-160
lines changed

README.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
> [!WARNING]
2-
> This program its WIP, bugs are expected.
3-
41
# volt-gui:
52

63
A graphical user interface for configuring GPU related environment variables and more for Linux gaming. Originally designed just for me and my friends, but seing that it could be useful for other Linux users i have decided to Open Source it.
@@ -88,6 +85,8 @@ If this software is not provided, its options will be locked.
8885

8986
- [scx](https://github.com/sched-ext/scx) in the case you want to make use of the CPU Pluggable Schedulers
9087
- [mangohud](https://github.com/flightlessmango/MangoHud) in the case you want to make use of the Render Pipeline Settings. Both the native or the Flatpak version satisfy the dependency.
88+
- `glxinfo` its required to use the OpenGL Render Selector.
89+
- `vulkaninfo` and the `vulkan mesa layer` are required to use the Vulkan Render Selector.
9190

9291
## Installation:
9392

@@ -180,9 +179,8 @@ volt flatpak run net.pcsx2.PCSX2
180179

181180
## Render Selector explained:
182181

183-
- `OpenGL Provider` Select a OpenGL provider between the NVIDIA Proprietary Drivers and Mesa Drivers.
184-
- `Mesa Select GPU` In this case “select” means the GPU will be first in the reported physical devices list, It applies to OpenGL and Vulkan and only GPUs using the Mesa Drivers. Something to add its that the `OpenGL Provider` and `Vulkan ICD` settings have priority over this.
185-
- `Vulkan ICD` Selects the Vulkan Installable Client Driver, obtained from `/usr/share/vulkan/icd.d/`.
182+
- `Select OpenGL Renderer (Mesa)` Selects the GPU/Renderer that will be used to render OpenGL programs. Those GPUs are obtained trough `glxinfo`.
183+
- `Select Vulkan Renderer` Selects the GPU/Renderer that will be used to render Vulkan programs. Those GPUs are obtained trough `vulkaninfo`, also for this to work on some distros you might need to install some additional dependencies like `vulkan-mesa-layers` on Arch Linux.
186184

187185
## Technical References:
188186

images/1.png

1.39 MB
Loading

images/2.png

-24.7 KB
Loading

images/3.png

617 KB
Loading

src/about.py

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
from PySide6.QtWidgets import QWidget, QVBoxLayout, QScrollArea, QLabel
2+
from PySide6.QtCore import Qt
3+
4+
5+
class AboutManager:
6+
7+
@staticmethod
8+
def _get_about_info():
9+
"""
10+
Returns a list of dictionaries containing about information.
11+
"""
12+
return [
13+
{"label": "Description", "text": "Simple GUI program for modifying and creating the `volt` script and more. Providing an intuitive interface for configuration management, with the objective of getting the maximum performance posible of a PC"},
14+
{"label": "License", "text": "GPL-3.0 License"},
15+
{"label": "Author", "text": "pythonlover02"},
16+
{"label": "Version", "text": "1.0.0"},
17+
]
18+
19+
@staticmethod
20+
def create_about_tab():
21+
"""
22+
Creates and returns the about tab widget.
23+
"""
24+
about_tab = QWidget()
25+
main_layout = QVBoxLayout(about_tab)
26+
main_layout.setContentsMargins(10, 10, 0, 0)
27+
28+
scroll_area = QScrollArea()
29+
scroll_area.setWidgetResizable(True)
30+
scroll_area.setHorizontalScrollBarPolicy(Qt.ScrollBarAsNeeded)
31+
32+
scroll_widget = QWidget()
33+
scroll_widget.setProperty("scrollContainer", True)
34+
scroll_layout = QVBoxLayout(scroll_widget)
35+
scroll_layout.setSpacing(15)
36+
scroll_layout.setContentsMargins(10, 10, 10, 10)
37+
38+
for item in AboutManager._get_about_info():
39+
container = AboutManager._create_info_container(item)
40+
scroll_layout.addWidget(container)
41+
42+
scroll_layout.addStretch(1)
43+
scroll_area.setWidget(scroll_widget)
44+
main_layout.addWidget(scroll_area)
45+
46+
return about_tab, {}
47+
48+
@staticmethod
49+
def _create_info_container(info_item):
50+
"""
51+
Creates a container widget for an individual info item.
52+
"""
53+
container = QWidget()
54+
container_layout = QVBoxLayout(container)
55+
container_layout.setContentsMargins(0, 0, 0, 0)
56+
container_layout.setSpacing(5)
57+
58+
label_text = QLabel(info_item["label"])
59+
label_text.setAlignment(Qt.AlignCenter)
60+
label_text.setStyleSheet("font-weight: bold; font-size: 14px;")
61+
container_layout.addWidget(label_text)
62+
63+
text_label = QLabel(info_item["text"])
64+
text_label.setAlignment(Qt.AlignCenter)
65+
text_label.setWordWrap(True)
66+
text_label.setStyleSheet("color: #999; font-weight: 300;")
67+
container_layout.addWidget(text_label)
68+
69+
return container

0 commit comments

Comments
 (0)