For finite irreducible linear groups in low dimension (at most 4) , the answer was already known and discussed in books by Blichfeldt, and Miller, Blichfeldt and Dickson in the early 20th century. However, Blichfeldt did miss at least one case. Dealing with real representations complicates the issue somewhat, but if the real representation splits into two complex conjugate representations when the field of scalars is extended to $\mathbb{C}$, we are looking at finite subgroups of ${\rm GL}(2,\mathbb{C})$. It is also possible that the real irreducible representation could split as the sum of two equivalent irreducible complex representations, but the $2$-dimensional question for complex representations is easy.
For general $n$, the classification of irreducible finite subgroups of ${\rm GL}(n,\mathbb{C})$ can be refined in various ways. First, consider only primitive linear groups (where the representation is not equivalent to one induced from a proper subgroup). Next, consider representations which (even after taking central extensions) can't be decomposed as the tensor product of two representations of smaller dimension.
Next, consider representations which can't be tensor induced from a representation of a proper subgroup (even after taking central extensions).
This leaves two residual configurations for $G$: in one case, there is a quasisimple irreducible normal subgroup of $G$. In the other case, there is an "almost extraspecial" irreducible normal $p$-subgroup $U$ for some prime $p$, where $n = p^{k}$, and $G/UZ(G)$ is isomorphic to a subgroup of ${\rm Sp}(2k,p).$
Prior to the classification of finite simple groups, the situation was fairly explicitly understood in dimension up to $11$. Using the classification of finite simple groups, B. Weisfeiler got a close to optimal bound for Jordan's Theorem for $n > 70$ or so.
Recently, M.J. Collins has extended Weisfeiler's work to determine the maximal possible index of an Abelian normal subgroup of a finite subgrouup of ${\rm GL}(n,\mathbb{C})$. For $n > 72$ or so, the bound is $(n+1)!$, which is attained by $S_{n+1}$in its irreducible $n$-dimensional representation.
(Later edit: Perhaps I should have made clear that passing between complex representations of finite groups and orthogonal real representations is straightforward, as has already been touched upon in comments: a complex irreducible representation of degree $n$ of a finite group $G$ is equivalent to a unitary representation. A unitary irreducible complex representation of degree $n$ of $G$ may be replced by a real orthogonal representation of degree $n$ in standard fashion, replacing the complex entry $a+bi$ by the real $2 \times 2$ matrix $\left(\begin{array}{clcr} a& b \\-b &a \end{array}\right)$. If the character of the original representation was not real, the resulting representation is irreducible as a real representation. If the original character was real, the resulting representation is equivalent to twice an irreducible if the original character had Frobenius-Schur indicator $+1$, and is irreducible as a real representation if the Frobenius-Schur indicator was $-1$).
(Later remark: In general, for finite subgroups of ${\rm GL}(n,\mathbb{C})$, we can take scalar multiples of the elements to ensure that all elements have determinant $1$ without affecting the structure of $G/Z(G)$. This trick may not be available for real representations.)