Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
d72273d
chore: initial project skeleton with C++/Qt6 structure
Sopwit Mar 4, 2026
81f30c5
Merge pull request #1 from Acik-Kaynak-Gelistirme-Toplulugu/feature/p…
Sopwit Mar 4, 2026
ca499ee
chore: add project documentation and build system
Sopwit Mar 4, 2026
5d68d4a
Merge pull request #2 from Acik-Kaynak-Gelistirme-Toplulugu/feature/p…
Sopwit Mar 4, 2026
404c46b
docs: add architecture, build, conduct docs and desktop entry
Sopwit Mar 4, 2026
a93c709
feat: add main.cpp, backend stubs, and QML scaffolding
Sopwit Mar 5, 2026
554aaaf
fix: replace deprecated _qs with _s, remove empty ProgressBar.qml
Sopwit Mar 5, 2026
b74a01d
chore: update .gitignore and remove ProgressBar.qml; fix deprecated _…
Sopwit Mar 5, 2026
43bf90e
Merge branch 'feature/project-skeleton' into dev
Sopwit Mar 5, 2026
3d15cf9
Merge branch 'feature/cmake-setup' into dev
Sopwit Mar 5, 2026
bc7219d
chore: remove build/ directory from version control
Sopwit Mar 5, 2026
e462b58
chore: remove .DS_Store and add to gitignore
Sopwit Mar 5, 2026
1ef6c07
ci: add GitHub Actions build workflow for Fedora
Sopwit Mar 5, 2026
d32e989
Merge pull request #3 from Acik-Kaynak-Gelistirme-Toplulugu/feature/c…
Sopwit Mar 5, 2026
f26bca2
feat: implement CommandRunner with pkexec support
Sopwit Mar 5, 2026
12042bb
feat: implement NvidiaDetector for GPU detection
Sopwit Mar 5, 2026
7aac727
feat: implement system monitors (CPU, GPU, RAM)
Sopwit Mar 5, 2026
5ca76ba
feat: implement NvidiaInstaller for driver management
Sopwit Mar 5, 2026
6f7e2a7
Merge pull request #5 from Acik-Kaynak-Gelistirme-Toplulugu/fix/comma…
Sopwit Mar 5, 2026
5cbedec
Merge pull request #6 from Acik-Kaynak-Gelistirme-Toplulugu/fix/nvidi…
Sopwit Mar 5, 2026
98c4bd2
Merge pull request #7 from Acik-Kaynak-Gelistirme-Toplulugu/fix/syste…
Sopwit Mar 5, 2026
64421ab
Merge pull request #8 from Acik-Kaynak-Gelistirme-Toplulugu/fix/drive…
Sopwit Mar 5, 2026
e3e7d9c
feat: implement remaining backend stubs (DnfManager, PolkitHelper, Nv…
Sopwit Mar 6, 2026
ac809a2
style: apply clang-format to all source files
Sopwit Mar 6, 2026
dc95451
Merge pull request #9 from Acik-Kaynak-Gelistirme-Toplulugu/fix/backe…
Sopwit Mar 6, 2026
588627c
test: add unit tests and .clang-format config
Sopwit Mar 6, 2026
e38b8cb
Merge pull request #10 from Acik-Kaynak-Gelistirme-Toplulugu/fix/test…
Sopwit Mar 6, 2026
86e1b3d
fix: prevent stdout data loss in CommandRunner
Sopwit Mar 6, 2026
2807d42
feat: add Q_PROPERTY bindings, Secure Boot detection, and refresh() t…
Sopwit Mar 6, 2026
dbf21f1
fix: resolve shell expansion and error handling in NvidiaInstaller
Sopwit Mar 6, 2026
2abbae7
feat: register backend objects in QML and build UI shell
Sopwit Mar 6, 2026
94eff75
fix: prevent stdout data loss in CommandRunner
Sopwit Mar 6, 2026
f43481f
feat: add secure boot and driver verification reporting
Sopwit Mar 6, 2026
8a70298
fix: resolve rpmfusion URL handling and repo failure checks
Sopwit Mar 6, 2026
18308bc
feat: wire detector verification UI, about page, and auto theme
Sopwit Mar 6, 2026
63ad41c
fix: preserve stdout stream and keep runAsRoot stable
Sopwit Mar 6, 2026
4ae3e79
feat: detect session type and extend gpu verification details
Sopwit Mar 6, 2026
f3ca82a
feat: session-aware driver install/update for Wayland and X11
Sopwit Mar 6, 2026
aaf91b7
feat: wire session-aware driver UI and app metadata updates
Sopwit Mar 6, 2026
4bc8008
merge: fix/command-runner into feature/cmake-setup
Sopwit Mar 6, 2026
0635e17
merge: fix/nvidia-detection into feature/cmake-setup
Sopwit Mar 6, 2026
5ff021e
merge: fix/driver-install into feature/cmake-setup
Sopwit Mar 6, 2026
df032cf
test: add detector verification report coverage
Sopwit Mar 6, 2026
1213873
docs: sync architecture and building notes
Sopwit Mar 6, 2026
b3c33ac
build: restore tests/CMakeLists.txt for BUILD_TESTS
Sopwit Mar 6, 2026
ba23c37
fix: align updater API and monitor tests
Sopwit Mar 6, 2026
4658dae
feat: implement real system monitors and repo release hygiene
Sopwit Mar 6, 2026
7ad1b0a
merge: feature/cmake-setup into dev
Sopwit Mar 6, 2026
90fe834
merge: dev into main
Sopwit Mar 6, 2026
b415ef5
style: apply clang-format for CI compliance
Sopwit Mar 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
# ro-Control clang-format configuration
# CI bu dosyayı kullanır — değişiklik yapılırsa tüm kaynak dosyalar yeniden formatlanmalı.
# Kullanım: find src/ -name "*.cpp" -o -name "*.h" | xargs clang-format -i

BasedOnStyle: LLVM
Language: Cpp
ColumnLimit: 80
IndentWidth: 2
TabWidth: 2
UseTab: Never
BreakBeforeBraces: Attach
AllowShortFunctionsOnASingleLine: All
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
SortIncludes: true
IncludeBlocks: Preserve
...
46 changes: 46 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
name: Bug Report
about: Report a bug or unexpected behavior
title: "[BUG] "
labels: bug
assignees: ''
---

## Description

A clear and concise description of the bug.

## Steps to Reproduce

1. Go to '...'
2. Click on '...'
3. See error

## Expected Behavior

What you expected to happen.

## Actual Behavior

What actually happened.

## Environment

| Field | Value |
|-------|-------|
| Fedora version | `cat /etc/fedora-release` |
| GPU model | `lspci \| grep -i nvidia` |
| Driver version | `nvidia-smi \| head -1` |
| ro-Control version | (from About page or package info) |
| Desktop session | Wayland / X11 |

## Logs

```
# Paste relevant output from:
# journalctl --user -u ro-control --no-pager -n 50
```

## Additional Context

Any other context, screenshots, or information that might help.
29 changes: 29 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
name: Feature Request
about: Suggest a new feature or improvement
title: "[FEAT] "
labels: enhancement
assignees: ''
---

## Summary

A clear and concise description of the feature you'd like to see.

## Problem / Motivation

What problem does this feature solve? Why is it needed?

> Example: "I find it frustrating when I have to open a terminal to check my GPU temperature..."

## Proposed Solution

Describe the feature in detail. How should it work?

## Alternatives Considered

Have you considered any alternative approaches or workarounds?

## Additional Context

Any mockups, screenshots, links to similar implementations, or other context.
54 changes: 54 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: CI

on:
push:
branches: [main, dev, feature/**, fix/**]
pull_request:
branches: [main, dev]

jobs:
build:
name: Build & Test
runs-on: ubuntu-latest
container:
image: fedora:41

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Install dependencies
run: |
dnf install -y \
cmake \
extra-cmake-modules \
gcc-c++ \
ninja-build \
qt6-qtbase-devel \
qt6-qtdeclarative-devel \
qt6-qtwayland-devel \
kf6-qqc2-desktop-style \
polkit-devel \
clang-tools-extra \
qt6-qtbase-private-devel

- name: Configure (CMake)
run: |
cmake -B build \
-GNinja \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_TESTS=ON

- name: Build
run: cmake --build build --parallel

- name: Run tests
run: cd build && ctest --output-on-failure

- name: Check formatting (clang-format)
run: |
find src \( -name "*.cpp" -o -name "*.h" \) -print0 | \
xargs -0 clang-format --dry-run --Werror

- name: Run tests
run: ctest --test-dir build --output-on-failure
32 changes: 32 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Release

on:
push:
tags:
- "v*"
workflow_dispatch:

jobs:
release:
name: Create GitHub Release
runs-on: ubuntu-latest

permissions:
contents: write

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Create source archives
run: |
git archive --format=tar.gz --output=ro-control-${GITHUB_REF_NAME}.tar.gz ${GITHUB_SHA}
git archive --format=zip --output=ro-control-${GITHUB_REF_NAME}.zip ${GITHUB_SHA}

- name: Publish release
uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
files: |
ro-control-${{ github.ref_name }}.tar.gz
ro-control-${{ github.ref_name }}.zip
Comment on lines +4 to +32
Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This workflow file is indented with tab characters. GitHub Actions YAML requires spaces for indentation; tabs will cause the workflow to fail to parse. Replace tabs with spaces throughout the file.

Suggested change
push:
tags:
- "v*"
workflow_dispatch:
jobs:
release:
name: Create GitHub Release
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Create source archives
run: |
git archive --format=tar.gz --output=ro-control-${GITHUB_REF_NAME}.tar.gz ${GITHUB_SHA}
git archive --format=zip --output=ro-control-${GITHUB_REF_NAME}.zip ${GITHUB_SHA}
- name: Publish release
uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
files: |
ro-control-${{ github.ref_name }}.tar.gz
ro-control-${{ github.ref_name }}.zip
push:
tags:
- "v*"
workflow_dispatch:
jobs:
release:
name: Create GitHub Release
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Create source archives
run: |
git archive --format=tar.gz --output=ro-control-${GITHUB_REF_NAME}.tar.gz ${GITHUB_SHA}
git archive --format=zip --output=ro-control-${GITHUB_REF_NAME}.zip ${GITHUB_SHA}
- name: Publish release
uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
files: |
ro-control-${{ github.ref_name }}.tar.gz
ro-control-${{ github.ref_name }}.zip

Copilot uses AI. Check for mistakes.
103 changes: 103 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# Build directories
build/
build-*/
cmake-build-*/
out/

# CMake generated files
CMakeCache.txt
CMakeFiles/
cmake_install.cmake
install_manifest.txt
compile_commands.json
CTestTestfile.cmake
_deps/

# Compiled binaries
*.o
*.a
*.so
*.so.*
*.dylib
*.exe
ro-control

# Qt / MOC generated files
moc_*.cpp
moc_*.h
qrc_*.cpp
ui_*.h
*.qmlc
*.jsc

# Qt Creator
*.pro.user
*.pro.user.*
*.qbs.user
*.qbs.user.*
CMakeLists.txt.user

# VS Code
.vscode/
*.code-workspace

# CLion / JetBrains
.idea/
*.iml
*.iws
*.ipr

# Packaging artifacts
*.rpm
*.deb
*.tar.gz
*.tar.xz
*.AppImage

# Logs
*.log
logs/

# OS files
.DS_Store
Thumbs.db
desktop.ini

# Temporary files
*.tmp
*.swp
*.swo
*~
\#*\#

# Test output
Testing/
test_results/

# Translation compiled files
*.mo

# Valgrind
vgcore.*
callgrind.out.*
massif.out.*

# Build
build/

# CMake
CMakeFiles/
CMakeCache.txt
cmake_install.cmake
Makefile

# Qt
*_autogen/
moc_*
qmltypes

# Binary
*.o
*.so
*.a
.DS_Store
53 changes: 53 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Changelog

All notable changes to ro-Control will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

---

## [Unreleased]

### Added
- NVIDIA detection pipeline with driver/module verification report
- Secure Boot detection and session type (Wayland/X11) detection
- Driver install flows for proprietary and open-source (nouveau) options
- Session-aware post-install and post-update handling for Wayland/X11
- Real system monitors for CPU, GPU, and RAM with live QML bindings
- Driver update check/apply flow and deep-clean operation support
- Fedora build and test workflow with CMake + Qt6

### Changed
- Driver management UI is wired to backend operations instead of placeholders
- Documentation updated for current architecture and build instructions
- Test suite expanded to cover monitor metric ranges and detector reporting

### Fixed
- Command execution path preserves stdout reliably
- RPM Fusion URL resolution and repository failure handling improved
- Updater API/header alignment and monitor test compatibility issues resolved
- Repository cleanup for stray macOS metadata files

---

<!--
TEMPLATE — copy this block for each new release:

## [X.Y.Z] - YYYY-MM-DD

### Added
- New features

### Changed
- Changes to existing functionality

### Fixed
- Bug fixes

### Removed
- Removed features

### Security
- Security fixes
-->
Loading